Погодная станция Arduino HC-06

Погодная станция на базе Arduino содержит несколько датчиков информация которых передается при помощи Bluetooth модуля HC-06 в приложение Android. Всего используется 3 датчика, это DS18B20 для измерения температуры на улице, BMP280 датчик давления и температуры для использования в помещении и датчик влажности DHT11.

Фактически Вы можете использовать датчик BME280 взамен BMP280 и DHT11, при этом Android приложение не будет нуждаться в доработке, так как оно просто выводит содержимое массива чисел отправляемое Arduino.

Массив чисел имеет следующий вид:

Все числа разделены друг от друга при помощи двоеточия. Первое число значение датчика DS18B20, второе DHT11, третье и четвертое это данные BMP280.

Передача информации между Arduino и Android происходит при помощи Bluetooth модуля HC-06, подробнее ознакомится с модулем в статье — Arduino HC-06 (подключение, управление реле)

Для нормальной загрузки скетча Вам понадобятся следующие библиотеки:

#include <Wire.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <EEPROM.h>
#include <SPI.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BMP280.h>
#include <DHT.h> 
   DHT dht(7, DHT11); // выход DAT подключен к цифровому входу 2
   OneWire oneWire(A0);// вход датчика 18b20
   DallasTemperature temp(&oneWire);
   Adafruit_BMP280 bmp; // I2C
 
int h;
float k,p,t2;
 
void setup(){ 
   Serial.begin(9600);
   Serial.setTimeout(50);
   Wire.begin();
   bmp.begin();
   dht.begin();
   temp.begin(); 
   temp.setResolution(12);//12 бит 
}
 
void loop() {
   /// измерение температуры, давления и влажности 
   temp.requestTemperatures();
   k = temp.getTempCByIndex(0);
   p = bmp.readPressure()/133.3224;
   t2 = bmp.readTemperature();
   h = dht.readHumidity();
 
   /// отправка данный в android
   Serial.print(k,1);
   Serial.print(":");
   Serial.print(h);
   Serial.print(":");
   Serial.print(p,1);
   Serial.print(":");
   Serial.println(t2,1);
}

Подключение датчиков к плате Arduino очень простое, BMP280 подключается к шине I2C, DHT11 к D7 (может быть изменено), DS18B20 к A0 (может быть изменено).

Приложение — Weather_station.apk.zip

Исходники (Android Studio) — Temp2.zip

Добавить комментарий

Войти с помощью: