Корзина
пусто

Датчик влажности и температуры

Датчик влажности и температуры

Нажмите, чтобы увеличить
Датчик влажности и температуры
Датчик влажности и температуры
Цена: 250 pуб.
Наличие: Временно отсутствует 
Модель: DHT11
Количество: Добавить в корзину
Кабель для модулей Базовая плата 2 Влажность / Температура

Данный модуль имеет емкостный датчик DHT11 измеряющий относительную влажность и температуру окружающий среды

Обратите внимание, датчик не будет работать при температурах ниже 0 градусов

  • Grove совместимый интерфейс
  • температура: от 0 до 50 °C (±2°C)
  • влажность: от 20 до 90 % (±5%)
  • цифровой интерфейс
  • 5 В. питание (VCC)
  • 24 * 44 мм.

 

Демо код для Ардуино (0023):

#define DHT11_PIN 0      
 
byte read_dht11_dat()
{
  byte i = 0;
  byte result=0;
  for(i=0; i< 8; i++){
 
 
    while(!(PINC & _BV(DHT11_PIN))); 
    delayMicroseconds(30);
 
    if(PINC & _BV(DHT11_PIN)) 
      result |=(1<<(7-i));
    while((PINC & _BV(DHT11_PIN))); 
 
 
  }
  return result;
}
 
 
void setup()
{
  DDRC |= _BV(DHT11_PIN);
  PORTC |= _BV(DHT11_PIN);
 
  Serial.begin(9600);
 
  Serial.println("Ready");
}
 
void loop()
{
  byte dht11_dat[5];
  byte dht11_in;
  byte i;

  PORTC &= ~_BV(DHT11_PIN);
  delay(18);
  PORTC |= _BV(DHT11_PIN);
  delayMicroseconds(40);
 
  DDRC &= ~_BV(DHT11_PIN);
  delayMicroseconds(40);
 
  dht11_in = PINC & _BV(DHT11_PIN);
 
  if(dht11_in){
    Serial.println("dht11 start condition 1 not met");
    return;
  }
  delayMicroseconds(80);
 
  dht11_in = PINC & _BV(DHT11_PIN);
 
  if(!dht11_in){
    Serial.println("dht11 start condition 2 not met");
    return;
  }
  delayMicroseconds(80);
  // now ready for data reception
  for (i=0; i<5; i++)
    dht11_dat[i] = read_dht11_dat();
 
  DDRC |= _BV(DHT11_PIN);
  PORTC |= _BV(DHT11_PIN);
 
  byte dht11_check_sum = dht11_dat[0]+dht11_dat[1]+dht11_dat[2]+dht11_dat[3];
  // check check_sum
  if(dht11_dat[4]!= dht11_check_sum)
  {
    Serial.println("DHT11 checksum error");
  }
 
  Serial.print("Current humdity = ");
  Serial.print(dht11_dat[0], DEC);
  Serial.print(".");
  Serial.print(dht11_dat[1], DEC);
  Serial.print("%  ");
  Serial.print("temperature = ");
  Serial.print(dht11_dat[2], DEC);
  Serial.print(".");
  Serial.print(dht11_dat[3], DEC);
  Serial.println("C  ");
 
  delay(2000);
}