воскресенье, 5 марта 2017 г.

Для начала рассмотрим список деталей для сборки вот такого комнатного термометра

  • Плата Arduino 
  • датчик DHT11
  • Breadboard
  • Резистор на 10 кОМ ( в том случае если он не припаян в датчик в моем случае он уже был припаян 
  • Программа ArduinoIDE 

Подключения DHT11 к плате Arduino UNO

Датчики  DHT имеют 4 вывода
  1. Питание 3.3-5.5 V
  2. Вывод данных
  3. Не используется 
  4. Gnd(земля)
ОШИБКА!!!  вместо 9 порта, подключите датчик к 13 
 Подключение дисплея

                              

                                    ПРОШИВКА


Заливаем скетч и запускаем 

Перед заливкой скетчка скачайте библиотеки скачать можно тут  


               



 //Тестировалось на Arduino IDE 1.0.5
#include <dht11.h>      // Добавляем библиотеку DHT11
dht11 DHT;               // Объявление переменной класса dht11
#define DHT11_PIN 13     // Датчик DHT11 подключен к цифровому пину номер 4
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2); // инициализируем LCD
int backLight = 9;
void setup()
{
  lcd.begin(16, 2);
  
  Serial.begin(9600);   // Скорость работы порта
  Serial.println("DHT Тест датчика "); // Выводим текст
  Serial.print("LIBRARY VERSION: ");   // Выводим текст
  Serial.println(DHT11LIB_VERSION);
  Serial.println();                    // Пустая строка 
}

void loop(){
  int chk;
  ; 
  // Мониторинг ошибок
  chk = DHT.read(DHT11_PIN);    // Чтение данных
  switch (chk){
  case DHTLIB_OK:  
    break;
  case DHTLIB_ERROR_CHECKSUM:
    Serial.println("Checksum error, \t");
    break;
  case DHTLIB_ERROR_TIMEOUT:
    Serial.println("Time out error, \t");
    break;
  default:
    Serial.println("Unknown error, \t");
    break;
  }
  // Выводим показания влажности и температуры
  Serial.print("Humidity = ");
  Serial.print(DHT.humidity, 1);
  Serial.print(", Temp = ");
  Serial.println(DHT.temperature,1);
  delay(1000);
  

   lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("\x42\xBB\x61\xB6\xBD\x6F\x63\xBF\xC4   ");
  lcd.print(DHT.humidity, 1);
   lcd.print("%");
  lcd.setCursor(0,1);
  lcd.print("\x54\x65\xbc\xBe\x65\x70\x61\xBF\x79\x70\x61 ");
  lcd.print (DHT.temperature,1);
  lcd.print("\x99");
  delay(1300);
}








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

Отправить комментарий