
Увеличить

Датчик температуры и влажности 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

























































































