Термометр + гігрометр на базі DCCduino Nano з графічним дисплеєм
- 210.00грн
-
Набір для складання термометра та гігрометра на базі DCCduino Nano з відображенням інформації на графічному дисплеї. Діапазон вимірювання: температура - 0-50"С, вологість - 20-90%. Комплект складається з плати DCCduino Nano , датчика температури та вологостіDHT11 , графічного дисплеяNokia 5110 LCD та набору необхідних проводів.
Комплектація:
- DCCduino Nano в антистатичній упаковці
- датчика температури та вологості DHT11
- дисплей Nokia 5110 LCD
- 8 провідників для з'єднання модулів
- USB кабель
Інструкція по збірці:
1) Завантажте та встановіть останню версію Arduino IDE . На вказаному сайті також можна знайти інформацію щодо первинного настроювання та роботи з IDE, а також відповіді на основні питання щодо роботи з нею.
2) Завантажте бібліотеку LCD5110_Basic.rar і розпакуйте її в папку arduino-1.0.4\libraries
3) Підключіть до комп'ютера плату Arduino Nano і завантажте до неї наступний скетч:
#include//підключення бібліотеки 5110 LCD #define dht11_pin 14 // визначення номера порту LCD5110 myGLCD(8,9,10,11,12); // ініціалізація бібліотеки з // вказівкою пінів підключення до Arduino extern uint8_t SmallFont []; //Оголошення зовнішнього масиву символів byte read_dht11_dat() //Далі функція зчитування одного байта даних з датчика { byte i = 0; byte result=0; for (i=0; i< 8; i++) { while (! digitalRead (dht11_pin)); // Очікування отримання "1" з датчика delayMicroseconds (30); if ( digitalRead (dht11_pin)! = 0) // якщо значення залишилося "1" через 30 мксек bitSet (result, 7-i); // Запис біта в результат while ( digitalRead (dht11_pin)); // Очікування закінчення "1" } return result;} void setup () { myGLCD. InitLCD (); // ініціалізація дисплея pinMode (dht11_pin, OUTPUT ); //Установка порту dht11_pin в режим виходу digitalWrite (dht11_pin, HIGH ); //установка у ньому високого рівня } void loop (){ byte dht11_dat[5]; byte dht11_in; byte i; // start condition myGLCD. setFont (SmallFont); // Встановлення набору символів LCD myGLCD. print ( "TH-Meter v1.0" , CENTER , 24); myGLCD. print ( "by Mini-Tech" , CENTER , 32); digitalWrite (dht11_pin, LOW ); // Установка низького рівня delay (18); // затримка 18 мс digitalWrite (dht11_pin, HIGH ); // встановлення високого рівня delayMicroseconds (1); // затримка 1 мкс pinMode (dht11_pin, INPUT ); //Установка порту dht11_pin в режим входу delayMicroseconds (40); // затримка 40 мкс if ( digitalRead (dht11_pin)) // далі перевірка отримання сигналів готовності датчика {myGLCD. print ( "cond. 1 not met" , 0, 0); delay (1000); return ; } delayMicroseconds (80); if (! digitalRead (dht11_pin)) { myGLCD. print ( "cond. 2 not met" , 0, 8); return ; } delayMicroseconds (80); // затримка 80 мкс for (i=0; i<5; i++) // прийом 5 байт даних { dht11_dat[i] = read_dht11_dat();} // за допомогою функції read_dht11_dat pinMode (dht11_pin, OUTPUT ); //Установка порту dht11_pin в режим виходу digitalWrite (dht11_pin, HIGH ); // установка високого рівня byte dht11_check_sum = dht11_dat[0]+dht11_dat[2]; // Перевірка контрольної суми if (dht11_dat[4]! = dht11_check_sum) { myGLCD. clrScr (); myGLCD. print ( "DHT11 checksum error" , 0, 16); } myGLCD. print ( "Temperature-" , 0, 0); // Далі виведення показань датчика на дисплей myGLCD. printNumI ( int (dht11_dat[2]), RIGHT , 0); myGLCD. print ( "Humidity-" , 0, 8); myGLCD. printNumI ( int (dht11_dat[0]), RIGHT , 8); delay (2000); // Затримка 2 з }
| Висновки Arduino | Висновки LCD | Висновки DHT11 |
|---|---|---|
| 5v | 1-Vcc | + |
| GND | 2-GND | - |
| D12 | 3-SCE | |
| D11 | 4-RST | |
| D10 | 5-D/C | |
| D9 | 6-DN(MOSI) | |
| D8 | 7-SCLK | |
| A0 | out |
5) Після складання ще раз перевірте правильність підключення, якщо все правильно – на пристрій можна подавати живлення.
6) Через кілька секунд після подачі живлення на дисплеї з'являться показання поточної температури та вологості.
