вторник, 23 июня 2015 г.

Arduino. Электронный термометр.

Вообщем принимаю поздравления...
Сегодня заработала первая собранная мною схема. И надо сказать заработала без проблем.

Ничего особенно сложного для начала я делать не стал, это термометр... Просто электронный термометр.  Внутри: контролёр Arduino Nano, датчик температуры и влажности DHT22, и lcd дисплей LCM 1602.
Данные на выводятся на дисплей каждые 2 сек. Точность определения температуры +/- 0.5С , влажности: +/- 2-5%
Программный код под катом.



Исходный код:
  1. #include <LiquidCrystal_I2C.h>
  2. #include <Wire.h>
  3. #include <DHT.h>
  4. #define DHTPIN 2
  5. #define DHTTYPE DHT22
  6. DHT dht (DHTPIN, DHTTYPE);
  7. LiquidCrystal_I2C lcd(0x27,16,2);
  8. void setup () {
  9.   lcd.init ();
  10.   lcd.backlight();
  11.   Serial.begin (9600);
  12.   Serial.println ("Proverka....");
  13.   dht.begin();
  14. }
  15. void loop() {
  16.   
  17.   delay (2000);
  18.   
  19.   float t = dht.readTemperature ();
  20.   float h = dht.readHumidity ();
  21.   
  22.   if ( isnan(t) || isnan(h) ) {
  23.      Serial.println ("Failed DHT sensor!");   
  24.      lcd.println ("Failed DHT sensor!");   
  25.     return;
  26.   }
  27.   lcd.setCursor (0,0);
  28.   lcd.print ("Temp: ");
  29.   Serial.print ("Temperature: ");
  30.   lcd.print (t);
  31.   Serial.print (t); 
  32.   lcd.print (" C");
  33.   Serial.println (" *C"); 
  34.   
  35.   lcd.setCursor (0,1);
  36.   lcd.print ("Hum: ");
  37.   lcd.print (h);
  38.   lcd.print (" %");
  39.     
  40. }

Комментариев нет: