Arduino気象観測所

ウェザーステーションは、主に天気を観察し、現在の温度、湿度、気圧を表示することを目的としています。 事は漁師にとって非常に便利です。 私は、Arduinoに基づいて気象ステーションを作成することにしましたが、携帯電話でデータを表示します。



画像



アプリケーションの原理-Android OSを搭載した電話で実行し、Bluetoothを介してArduinoボードに接続し、アイコンをクリックすることで、さまざまなデータを表示します。



気象観測所の原理は単純です。 電話1から受信すると、路上にある温度センサーDS18B20に問い合わせてデータを電話に送信し、2を受信すると、部屋にある温度センサーDS18B20に問い合わせて電話にデータを送信します。 3を受信すると、BMP085センサーに問い合わせ、4を受信すると、湿度センサーに問い合わせてデータも送信します。







「なぜ携帯電話にデータが表示されるのですか?」という質問にすぐに答えます。 ディスプレイの購入、ボタン、マイクロコントローラーの内部メモリの購入を節約できるので、特に便利です。 怠azineはまだ進歩のエンジンです。



携帯電話の画面のスクリーンショット
画像



摂氏温度での屋外温度:



画像



摂氏温度での部屋の温度測定:



画像



mm単位の屋外気圧測定。 Hg。 st。:



画像



空気湿度の測定(%)





さて、今作業の短いレビューの後、プロジェクトの技術的な部分に移動します。



センサー接続図
DS18B20温度センサーの接続図



画像画像



温度センサーは並列に接続する必要があります。



BMP085センサー接続図:



画像



DHT11センサーの接続図:



画像



HC-05 Bluetoothモジュールの接続図:



画像





すべてのセンサーを正常に接続したら、スケッチを読み込み、



スケッチ
#include <OneWire.h> #include <DallasTemperature.h> #include <Wire.h> #include <BMP085.h> #include <DHT.h> #include <DS1307.h> #include <EEPROM.h> #define ONE_WIRE_BUS 4 OneWire oneWire(ONE_WIRE_BUS); DallasTemperature sensors(&oneWire); DeviceAddress Thermometer1 = { 0x28, 0x00, 0x54, 0xB6, 0x04, 0x00, 0x00, 0x92 }; DeviceAddress Thermometer3 = { 0x28, 0x94, 0xAC, 0xDF, 0x02, 0x00, 0x00, 0xB5 }; BMP085 dps = BMP085(); long Temperature = 0, Pressure = 0, Altitude = 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); } void printTemperature(DeviceAddress deviceAddress) { float tempC = sensors.getTempC(deviceAddress); Serial.println(tempC,1); } void loop(){ sensors.requestTemperatures(); dps.getPressure(&Pressure); int h = dht.readHumidity(); float t = dht.readTemperature(); if (Serial.available() > 0) { incomingByte = Serial.read(); if(incomingByte == '1') { x=2; } if(incomingByte == '2') { x=1; } if(incomingByte == '3') { x=3; } if(incomingByte == '4') { x=4; } } delay(100); switch (x) { case 1: printTemperature(Thermometer1); break; case 2: printTemperature(Thermometer3); break; case 3: Serial.println(Pressure/133.3,1); break; case 4: Serial.println(h); break; } }
      
      









WSAB電話用のアプリケーションは、OS Android 2.3以降で実行されます。WSABをダウンロードします



必須コンポーネントのリストと中国の販売者へのリンク
DS18B20温度センサー -2個



圧力センサーBMP085-1個



湿度センサーDHT11-1個



Arduino Nano V3ボード -1個



HC-05 Bluetoothモジュール -1個







プログラムソースと、Androidフォン用プログラムの作成に関する記事



すべてのコメントと提案はコメントで待っています。



All Articles