Advertisement
Al_Ninyo

BMP180_DHT11_LCD16*2

May 16th, 2015
328
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.72 KB | None | 0 0
  1. // подключаем библиотеки
  2. #include <Wire.h>
  3. #include <LiquidCrystal_I2C.h>
  4. #include <Adafruit_BMP085.h>
  5. #include "DHT.h"
  6.  
  7. LiquidCrystal_I2C lcd(0x27,16,2);  // указываем, что экран показывает 2 строки по 16 символов
  8. Adafruit_BMP085 bmp;
  9. #define DHTPIN 2  // номер пина, к которому подключён DHT11
  10.  
  11. #define DHTTYPE DHT11  // указываем, что подключён именно DHT11, а не DHT22
  12. DHT dht(DHTPIN, DHTTYPE);
  13.  
  14. int t1 = 0;  // температура с BMP180
  15. int p = 0;   // атмосферное давление с BMP180
  16. int h = 0;   // влажность с DHT11
  17. int t2 = 0;  // температура с DHT11
  18.  
  19. void setup() {
  20.   Serial.begin(9600);  // открывает последовательный порт, устанавливает скорость 9600 бит/с
  21.   lcd.init();          // инициализируем экран
  22.   dht.begin();         // инициализируем DHT11
  23.   bmp.begin();         // инициализируем BMP180
  24.   lcd.backlight();     // включаем подсветку экрана
  25.   lcd.print("Please, wait...");  // выводим на экран надпись
  26.   delay(3000);         // ждём 3 секунды
  27. }
  28.  
  29. void loop() {
  30.  
  31. // получаем данные с датчиков и присваиваем их значения соответствующим переменным
  32.   t1 = bmp.readTemperature();
  33.   p = bmp.readPressure()/133.3;
  34.   h = dht.readHumidity();
  35.   t2 = dht.readTemperature();
  36.  
  37.     lcd.setCursor(0,0);    // устанавливаем курсор в первый символ первой строки
  38.       // выводим на экран данные
  39.     lcd.print("T ");
  40.     lcd.print(t1);
  41.     lcd.print(" *C");
  42.     lcd.print(" P ");
  43.     lcd.print(p);
  44.     lcd.print(" Hg");
  45.     lcd.setCursor(0,1);    // устанавливаем курсор в первый символ второй строки
  46.       // выводим на экран данные
  47.     lcd.print("T ");
  48.     lcd.print(t2);
  49.     lcd.print(" *C");
  50.     lcd.print(" H ");
  51.     lcd.print(h);
  52.     lcd.print(" %");
  53.       // дублируем данные в монитор последовательного порта
  54.     Serial.print("Temperature BMP180 = ");
  55.     Serial.print(t1);
  56.     Serial.println(" *C");
  57.     Serial.print("Pressure = ");
  58.     Serial.print(p);
  59.     Serial.println(" mm Hg");
  60.     Serial.print("Humidity: ");
  61.     Serial.print(h);
  62.     Serial.print(" %\t");
  63.     Serial.print("Temperature DHT11: ");
  64.     Serial.print(t2);
  65.     Serial.println(" *C");    
  66.     Serial.println();
  67.    
  68.     delay(1000);    // ждём 1 секунду
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement