Термометр + гигрометр на базе DCCduino Nano с графическим дисплеем

Код товара: TH-Meter v1.0
Доступность: На складе
Артикул: 1008-1119

  • 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) Через пару секунд после подачи питания на дисплее появлятся показания текущей температуры и влажности.

Внимание: HTML не поддерживается! Используйте обычный текст!