Термометр + гигрометр на базе 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 <LCD5110_Basic.h> //подключение библиотеки 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 с }
4) Если после загрузки скетча Вы получили сообщение "Done uploading.", значит все сделано правильно и можна приступать к следующему этапу - соединению модулей. Их необходимо соединить с помощью идущих в комплекте проводников по следующей схеме:
Выводы 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) Через пару секунд после подачи питания на дисплее появлятся показания текущей температуры и влажности.