Увеличить
Датчик температуры и влажности DHT11
ВВЕДЕНИЕ
Датчик для Arduino на основе сенсора DHT11
Стабильный датчик, имеет высокую точность, скоростью реакции, способность анти-помех.Имеет маленький размер, низкое энергопотребление.
Выполнен из двух частей — емкостного датчика влажности и термистора. Чип, находящийся внутри, выполняет аналого-цифровое преобразование и выдает цифровой сигнал, который можно считать с помощью любого микроконтроллера.
В комплекте три провода мама-мама для соединения с Arduino.
ПАРАМЕТРЫ
- Рабочее напряжение: 3.3V-5V
- Размер: 3.2 см * 1.4 см
- Индикатор питания: красный
- Выход: цифровой
- Диапазон измерения температуры: 0 градусов - 50 градусов. Погрешность измерения температуры: + - 2 градуса
- Диапазон измерения влажности: от 20% до 95% (диапазон 0 градусов -50 градусов). Погрешность измерения влажности: + - 5%
ПРИМЕР КОДА
int DHpin = 8; byte dat [5]; byte read_data () { byte data; for (int i = 0; i <8; i + +) { if (digitalRead (DHpin) == LOW) { while (digitalRead (DHpin) == LOW); // ожидание 50us; delayMicroseconds (30); // определяет длительность высокого уровня '0 или '1'; if (digitalRead (DHpin) == HIGH) data | = (1 << (7-i)); // высокий фронт и низкий в отправке while (digitalRead (DHpin) == HIGH); // данные '1 ', ждем следующего приема } } return data; } void start_test () { digitalWrite (DHpin, LOW); // шина на низкий уровень, сигнал запуска delay (30); // задержка, чтобы обнаружить сигнал digitalWrite (DHpin, HIGH); delayMicroseconds (40); // ожидание DHT11 ответа; pinMode (DHpin, INPUT); while (digitalRead (DHpin) == HIGH); delayMicroseconds (80); // DHT11 ответ80us; if (digitalRead (DHpin) == LOW); delayMicroseconds (80); // DHT11 80us задержка передачи данных; for (int i = 0; i <4; i + +) // получаем данные температуры и влажности, бит четности не считается dat [i] = read_data (); pinMode (DHpin, OUTPUT); digitalWrite (DHpin, HIGH); // отправляем данные и ждем следующий сигнал старт } void setup () { Serial.begin (9600); pinMode (DHpin, OUTPUT); } void loop () { start_test (); Serial.print ("Current humdity ="); Serial.print (dat [0], DEC); // отображаем бит влажности, целое число Serial.print ('.'); Serial.print (dat [1], DEC); // отображение влажности после запятой Serial.println ('%'); Serial.print ("Current temperature ="); Serial.print (dat [2], DEC); // отображаем бит температуры Serial.print ('.'); Serial.print (dat [3], DEC); // отображение температуры после запятой Serial.println ('C'); delay (700); }
КОМПЛЕКТ
- Датчик температуры и влажности DHT11 х 1
- Провод мама-мама х 3
Наверняка понадобятся
Метки: #DHT11 #arduino