2238
Mi Estación Meteorológica
No hace mucho tiempo que empecé a programar juntas de microcontroladores basados Arduino. Cosa muy interesante y práctico. Sobre la base de la Arduino, puede crear una gran cantidad de dispositivos útiles para sí mismos y no sólo. Por ejemplo, puede hacer que la máquina se encienden automáticamente las luces en el apartamento varios robots o quadrocopter.
No puedo enumerar todos los dispositivos que se crean sobre la base de estas placas, y hoy voy a hablar sobre todo acerca de la estación meteorológica que he creado. Y si tienes curiosidad para aprender más sobre Arduino, - pedir a Google o Yandex.
Estación meteorológica consta de placa Arduino y sensores de presión conectados, la humedad y dos sensores de temperatura. El segundo dispositivo es un teléfono o tableta Android móvil.
El principio es simple - cargo lee los sensores, y al iniciar la aplicación en su teléfono comando se envía a través de Bluetooth a la placa y la placa envía las lecturas en el teléfono. Después de eso, ya podemos ver la temperatura, la presión o la humedad.
Temperatura exterior
Presión en mmHg
y el porcentaje de humedad
Para empezar, conectar el sensor de temperatura DS18B20 2 al arduino como se muestra en la imagen. El sensor está conectado a un pin digital de 4 a Arduino.
A continuación, conecte el sensor de presión atmosférica como en la imagen VMR085
Módulo bluetooth Siguiente HC-05 y HC pueden ser 07 ... También como el
imagen
Después de que todos ensamblado, escribir la parte de software para tarjetas con sensores
#include & lt; OneWire.h & gt;
#include & lt; DallasTemperature.h & gt;
#include & lt; Wire.h & gt;
#include & lt; BMP085.h & gt;
# include & lt; DHT.h & gt;
#define ONE_WIRE_BUS 4
OneWire OneWire (ONE_WIRE_BUS);
Sensores DallasTemperature (y OneWire);
DeviceAddress Thermometer1 = {
0x28, 0x00, 0x54, 0xB6, 0x04, 0x00, 0x00, 0x92};
DeviceAddress Thermometer3 = {
0x28, 0x94, 0xAC, 0xDF, 0x02, 0x00, 0x00, 0xB5};
BMP085 dps = BMP085 ();
largo Temperatura = 0, la presión = 0, Altitud = 0;
DHT DHT (8, DHT11);
Char incomingByte;
int x = 0;
void setup () {
sensors.begin ();
sensors.setResolution (Thermometer1, 10);
sensors.setResolution (Thermometer3, 10);
Wire.begin ();
dps.init (MODE_ULTRA_HIGHRES, 21000, true);
dht.begin ();
Serial.begin (9600);
}
anular printTemperature (DeviceAddress deviceAddress) {
flotar tempC = sensors.getTempC (deviceAddress);
Serial.println (tempC, 1);
}
void loop () {
sensors.requestTemperatures ();
dps.getPressure (y presión);
int h = dht.readHumidity ();
flotan t = dht.readTemperature ();
si (Serial.available () & gt; 0) {
incomingByte Serial.read = ();
si (incomingByte == '1') {
x = 2;
}
si (incomingByte == '2') {
x = 1;
}
si (incomingByte == '3') {
x = 3;
}
si (incomingByte == '4') {
x = 4;
}
}
retardo (100);
switch (x) {
Caso 1:
printTemperature (Thermometer1);
romper;
caso 2:
printTemperature (Thermometer3);
romper;
caso 3:
Serial.println (presión / 133,3, 1);
romper;
caso 4:
Serial.println (h);
romper;
}
} Abrir el puerto serie de la computadora cuando se conecta la tarjeta y comprobar el rendimiento ... Y si envía más exactamente 1, luego 2, 3 y 4. Como resultado, tenemos que conseguir los valores de temperatura en la calle - el envío 1, la temperatura en la habitación - al enviar 2 presión - cuando el envío de 3 y humedad - al enviar 4.
Publicado en [mergetime] 1405694477 [/ mergetime]
Si todo funciona, usted puede hacer pivotar la aplicación para tu teléfono, y se puso a utilizar ...
arduino-project.net/download/arduino-android/WSAB.apk
Publicado en [mergetime] 1405694560 [/ mergetime]
En el video se puede ver un video de la estación meteorológica en
youtu.be/z3ldbmcO8Ck
No puedo enumerar todos los dispositivos que se crean sobre la base de estas placas, y hoy voy a hablar sobre todo acerca de la estación meteorológica que he creado. Y si tienes curiosidad para aprender más sobre Arduino, - pedir a Google o Yandex.
Estación meteorológica consta de placa Arduino y sensores de presión conectados, la humedad y dos sensores de temperatura. El segundo dispositivo es un teléfono o tableta Android móvil.
El principio es simple - cargo lee los sensores, y al iniciar la aplicación en su teléfono comando se envía a través de Bluetooth a la placa y la placa envía las lecturas en el teléfono. Después de eso, ya podemos ver la temperatura, la presión o la humedad.
Temperatura exterior
Presión en mmHg
y el porcentaje de humedad
Para empezar, conectar el sensor de temperatura DS18B20 2 al arduino como se muestra en la imagen. El sensor está conectado a un pin digital de 4 a Arduino.
A continuación, conecte el sensor de presión atmosférica como en la imagen VMR085
Módulo bluetooth Siguiente HC-05 y HC pueden ser 07 ... También como el
imagen
Después de que todos ensamblado, escribir la parte de software para tarjetas con sensores
#include & lt; OneWire.h & gt;
#include & lt; DallasTemperature.h & gt;
#include & lt; Wire.h & gt;
#include & lt; BMP085.h & gt;
# include & lt; DHT.h & gt;
#define ONE_WIRE_BUS 4
OneWire OneWire (ONE_WIRE_BUS);
Sensores DallasTemperature (y OneWire);
DeviceAddress Thermometer1 = {
0x28, 0x00, 0x54, 0xB6, 0x04, 0x00, 0x00, 0x92};
DeviceAddress Thermometer3 = {
0x28, 0x94, 0xAC, 0xDF, 0x02, 0x00, 0x00, 0xB5};
BMP085 dps = BMP085 ();
largo Temperatura = 0, la presión = 0, Altitud = 0;
DHT DHT (8, DHT11);
Char incomingByte;
int x = 0;
void setup () {
sensors.begin ();
sensors.setResolution (Thermometer1, 10);
sensors.setResolution (Thermometer3, 10);
Wire.begin ();
dps.init (MODE_ULTRA_HIGHRES, 21000, true);
dht.begin ();
Serial.begin (9600);
}
anular printTemperature (DeviceAddress deviceAddress) {
flotar tempC = sensors.getTempC (deviceAddress);
Serial.println (tempC, 1);
}
void loop () {
sensors.requestTemperatures ();
dps.getPressure (y presión);
int h = dht.readHumidity ();
flotan t = dht.readTemperature ();
si (Serial.available () & gt; 0) {
incomingByte Serial.read = ();
si (incomingByte == '1') {
x = 2;
}
si (incomingByte == '2') {
x = 1;
}
si (incomingByte == '3') {
x = 3;
}
si (incomingByte == '4') {
x = 4;
}
}
retardo (100);
switch (x) {
Caso 1:
printTemperature (Thermometer1);
romper;
caso 2:
printTemperature (Thermometer3);
romper;
caso 3:
Serial.println (presión / 133,3, 1);
romper;
caso 4:
Serial.println (h);
romper;
}
} Abrir el puerto serie de la computadora cuando se conecta la tarjeta y comprobar el rendimiento ... Y si envía más exactamente 1, luego 2, 3 y 4. Como resultado, tenemos que conseguir los valores de temperatura en la calle - el envío 1, la temperatura en la habitación - al enviar 2 presión - cuando el envío de 3 y humedad - al enviar 4.
Publicado en [mergetime] 1405694477 [/ mergetime]
Si todo funciona, usted puede hacer pivotar la aplicación para tu teléfono, y se puso a utilizar ...
arduino-project.net/download/arduino-android/WSAB.apk
Publicado en [mergetime] 1405694560 [/ mergetime]
En el video se puede ver un video de la estación meteorológica en
youtu.be/z3ldbmcO8Ck