Хелпикс

Главная

Контакты

Случайная статья





Пример использования



Пример использования

Рассмотрим подключение датчика 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

 

Всем спасибо за прочтение!



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.