我气象站

不久前,我开始编程微控制器的Arduino板。事情非常有趣和实用。基于Arduino的,你可以创造出很多为自己,而不是唯一有用的设备。例如,您可以使机器自动开灯的房间各种各样的机器人或四轴飞行器。

我无法列出所有正在这些电路板的基础上创建的设备,今天我将讨论主要是关于我创建了气象站。如果你是好奇,想了解更多的Arduino, - 问谷歌或Yandex的。





气象站组成的Arduino板和相连的压力传感器,湿度和两个温度传感器。第二个设备是手机还是平板电脑的Andr​​oid。

原理很简单 - 负责读取传感器,当你开始你的手机命令的应用程序,通过蓝牙发送到板与板将读数的电话。在那之后,我们已经可以看到温度,压力和湿度。




外界温度


压力毫米汞柱



湿度百分比



首先,连接2个DS18B20温度传感器到Arduino如图片所示。该传感器被连接到一个数字的4针到Arduino的。



然后在大气压力传感器连接在图象VMR085



下一步蓝牙模块HC-05和HC可以07 ...也喜欢的图片



大家组装后,写板的软件部分与传感器

&#包括LT; OneWire.h>
&#包括LT; D​​allasTemperature.h>
&#包括LT; Wire.h>
&#包括LT; BMP085.h>
&#包括LT; D​​HT.h>

#定义ONE_WIRE_BUS 4

OneWire oneWire(ONE_WIRE_BUS);

DallasTemperature传感器(oneWire);

DeviceAddress Thermometer1 = {
0x28,0x00时,0x54,0xB6,0×04,0×00,0×00,0x92};
DeviceAddress Thermometer3 = {
0x28,0x94的,0xAC,0xDF,0×02,0×00,0×00,0xB5执行};

BMP085 DPS = BMP085();
长温度= 0,压力= 0,海拔高度= 0;

双氢睾酮DHT(8 DHT11);

CHAR incomingByte;

整数X = 0;

无效设置(){

sensors.begin();
sensors.setResolution(Thermometer1,10);
sensors.setResolution(Thermometer3,10);

Wire.begin();
dps.init(MODE_ULTRA_HIGHRES,21000,TRUE);
dht.begin();

Serial.begin(9600);
}

无效printTemperature(DeviceAddress deviceAddress){
浮tempC = sensors.getTempC(deviceAddress);
Serial.println(tempC,1);
}

无效循环(){

sensors.requestTemperatures();

dps.getPressure(压力);

INT H = dht.readHumidity();
浮t为dht.readTemperature();

如果(Serial.available()大于0){
incomingByte = Serial.read();
如果(incomingByte =='1'){
X = 2;
}
如果(incomingByte =='2'){
X = 1;
}
如果(incomingByte =='3'){
X = 3;
}
如果(incomingByte =='4'){
X = 4;
}
}
延迟(100);
开关(X){
案例1:
printTemperature(Thermometer1);
打破;
案例2:
printTemperature(Thermometer3);
打破;
案例3:
Serial.println(压力/ 133.3,1);
打破;
案例4:
Serial.println(H);
打破;
}
}连接卡时打开串口的计算机上,并检查性能...如果你发送更精确1,然后2,3和4。因此,我们需要得到在大街上的温度值 - 送1,房间里的温度 - 当发送2压力 - 发送3湿度时 - 发送4.

发表在[mergetime] 1405694477 [/ mergetime]
如果一切正常,你可以摇摆的应用程序为您的手机,并设置为使用...

arduino-project.net/download/arduino-android/WSAB.apk

发表在[mergetime] 1405694560 [/ mergetime]
在视频中可以看到气象站的
视频
youtu.be/z3ldbmcO8Ck

标签

另请参见

新&值得注意