Подключение датчика температуры и влажности DHT11 к Arduino UNO R3
ArduinoПодключение датчика температуры DHT11 задача довольно простая.
Всё, что нам понадобится для подключения, это небольшой скетч, собранная схема и библиотека для работы с датчиком.
Первым делом скачаем библиотеку для работы с датчиком, например здесь: https://github.com/adafruit/DHT-sensor-library.
Теперь разберемся с самим датчиком, датчик может быть с готовой обвязкой и тремя контактами — земля, питание и данные.
Либо как у меня, сам датчик без какой либо обвязки, с четырьмя контактами один из которых нам не понадобится.
Вот, сам датчик:
Как представлено на рисунке, если датчик находится к нам решёткой а контакты направлены вниз, то номера контактов будут от 1 до 4 слева на право, как показано на фотографии выше слева.
- 1 пин — Питание (от 3.3 до 5.5 v)
- 2 пин — Данные (дополнительно соединяем с питанием через резистор на 10kOm)
- 3 пин — Не используется
- 4 пин — Земля
Схема подключения датчика к Arduino Uno на макетной плате:

Принципиальная схема подключения DHT11 к Arduino Uno:

Как видно из схем выше, подключение очень простое, теперь перейдем к скетчу, который будет выводить нам в порт температуру и влажность.
Как уже говорилось ранее, не забываем вначале добавить библиотеку для датчиков DHT. (библиотека здесь)
Пример скетча:
/*
* Подключение сенсоров температуры и влажности DHT к Arduino
*
* babakov.net
*
*/
#include "DHT.h"
// номер порта, к которому подсоединен датчик
#define DHTPIN 2
// Инициируем датчик
// Для DHT22 вместо DHT11 вписываем DHT22
DHT dht(DHTPIN, DHT11);
void setup() {
Serial.begin(9600);
dht.begin();
}
void loop() {
// Задержка 2 секунды между измерениями
delay(2000);
//Считываем влажность
float h = dht.readHumidity();
// Считываем температуру
float t = dht.readTemperature();
// Проверяем удачно ли прошло считывание.
if (isnan(h) || isnan(t)) {
Serial.println("Не удалось считать показания с датчика");
return;
}
// Отправляем в порт показания датчика.
Serial.print((String)"Влажность: "+h+(String)" %\t"+(String)"Температура: "+t+(String)" *C \r\n");
}
Компилируем скетч и загружаем его на устройство.
Через две секунды в мониторе порта должна появиться информация о влажности и температуре.
Выглядеть это должно вот так:

Вот и всё.
Вопросы и комментарии приветствуются.
Работа с Postgresql в C#
Не так давно занялся разработкой приложения на C# работающего на базе PostreSQL, появилась информаци (читать далее...)
1098Работа с MySQL в C#
Надеюсь данная публикация не даст читателям повторить мои ошибки и поможет сделать изначально правил (читать далее...)
648Работа со строками в Oracle (PL/SQL)
Основные способы обработки строковых значений в Oracle. В этой публикации я приведу основные функции (читать далее...)
628Подключение LCD2004A к Arduino UNO R3
В данной публикации речь пойдет о подключении жидкокристаллического дисплея LCD2004A без интерфейса (читать далее...)
145Самое простое что можно сделать на Arduino - Мигаем светодиодом.
Итак, мигание обычным светодиодом. Самое простое, что можно сделать на Arduino. Вот как это выглядит (читать далее...)
94
Оставить первый комментарий: