|
|||
Пример использования ⇐ ПредыдущаяСтр 2 из 2 Пример использования Рассмотрим подключение датчика DHT11 к Arduino и создадим проект для отображения на RGB-светодиоде состояния влажности воздуха в помещении: · зеленый – оптимальная влажность воздуха для человека (40 – 60%); · красный – сухо (<40%); · синий – повышенная влажность ( >60%). Для проекта нам понадобятся следующие детали: · плата Arduino Uno · плата прототипирования · RGB-светодиод · датчик DHT11 · резистор 10 кОм · резистор 220 Ом – 3 шт · соединительные провода Соберем схему, показанную на рисунке.
Запустим Arduino IDE. Создадим новый скетч и внесем в него следующее содержимое: //3d-diy.ru // подключение библиотеки #include "DHT.h"
// пин для подключения датчика DHT #define DHTPIN 2 // what pin we're connected to
// тип датчика DHT #define DHTTYPE DHT11 // DHT 11
//#define DHTTYPE DHT22 // DHT 22 (AM2302)
// создание экземпляра объекта DHT DHT dht(DHTPIN, DHTTYPE);
// подключение RGB-светодиода const int pinRED=5; // вывод красной ноги RGB-светодиода const int pinGREEN=4; // вывод зеленой ноги RGB-светодиода const int pinBLUE=3; // вывод синей ноги RGB-светодиода
void setup() { // подключение последовательного порта Serial.begin(9600); // запуск датчика DHT dht.begin();
// настройка выводов подключения к RGB светодиоду pinMode(pinRED,OUTPUT); pinMode(pinGREEN,OUTPUT); pinMode(pinBLUE,OUTPUT); }
void loop() {
// получение данных влажности float h = dht.readHumidity();
// ошибочные данные с датчика! if (isnan(h)) { Serial.println("Failed to read from DHT"); set#000000;
} else {
Serial.print("Humidity: "); Serial.println(h);
if(h<40) set#010000; else if(h>60) set#000001; else set#000100; }
// пауза 5 секунд delay(5000); }
// процедура установки цвета для RGB-светодиода void setRGB(int R, int G, int B) { digitalWrite(pinRED,R); digitalWrite(pinGREEN,G); digitalWrite(pinBLUE,B); } Для работы с датчиком DHT11 используем Arduino библиотеку DHT. Необходимо выбрать тип датчика, в нашем случае DHT11 #define DHTTYPE DHT11 С интервалом 5 секунд получаем с датчика DHT11 значение относительной влажности воздуха. В зависимости от полученного значения, устанавливаем цвет "горения" RGB-светодиода (красный, зеленый, синий). В случае ошибки получения данных с датчика DHT11, светодиод "не горит". Зажигаем RGB-светодиод в процедуре setRGB(), передавая данные для R, G и B компоненты цвета. Для контроля выводим данные относительной влажности воздуха в монитор последовательного порта Arduino IDE.
Схема в сборе.
Смотрим видео ролик! https://www.youtube.com/watch?v=2KWZqm1U9uM
Всем спасибо за прочтение!
|
|||
|