AHT10 Arduino Keypad Shield

Arduino Project – AHT10 With LCD and Arduino Keypad Shield

Arduino Project – AHT10 With LCD and Arduino Keypad Shield

This episode we are going to learn about AHT10 Temperature and humidity sensor interface with arduino. The keypad shield also being used to view the output and learn about the I2C interface in the arduino keypad shield. In previous video we already learn about pictoblox, kindly refer to our previous explanations. We are going to explore “AHT10 Arduino Keypad Shield”. Datasheet for the AHt10 sensor can be found HERE.

The complete video tutorial attached here:

The AHT10, a new generation of temperature and humidity sensors, sets a new standard in size and intelligence. The sensor outputs a calibrated digital signal in standard I2C format. The AHT10 is equipped with a newly designed ASIC-specific chip, an improved MEMS semiconductor capacitive humidity sensing element and a standard on-chip temperature sensing element. AHT10 is a high precision, fully calibrated, temperature and humidity sensor chip package, the MEMS production process, to ensure that products with high reliability and excellent long-term stability. The sensor includes a capacitive humidity sensing element and a high performance microprocessor CMOS is connected. The product has excellent quality, fast response, anti strong anti-interference ability, cost performance advantages.

AHT10 communication using standard IIC communication, ultra small volume, low power consumption, make it become the best choice of.AHT10 applications even the most demanding applications support a wide range of operating power supply voltage, the device can provide a low cost and low power consumption advantages for all kinds of common scenarios, temperature and humidity sensor are in constant temperature and humidity chamber of high precision calibration, direct output after temperature compensation for humidity, temperature and other information, users do not need to carry on the temperature compensation for humidity, temperature and humidity information can be obtained accurately.

Brief Data:

  • Interface Type: I2C.
  • Working voltage: 3.3~5.0 Vdc.
  • Measurement Range:
    • Temperature: -40ºC 85ºC.
    • Humidity: 0~100%.
  • Humidity accuracy: typical ± 2%.
  • Humidity resolution: 0.024%.
  • Temperature accuracy: typical ± 0.3 ° C.
  • Temperature resolution: Typical 0.01 °C.
  • Module size: 16×11 mm.
  • Working temperature: -40°C~85°C.

Source Code:

LINK for GitHub

LINK for Library/s

/***************************************************
  This is an example for the AHT10 Humidity & Temp Sensor

  Designed specifically to work with the AHT10, modified using library from:
  Source: https://github.com/enjoyneering/

  These displays use I2C to communicate, 2 pins are required to
  interface
 ****************************************************/

#include <Wire.h>
#include <AHT10.h>
#include <LiquidCrystal.h>

// Connect Vin to 3-5VDC
// Connect GND to ground
// Connect SCL to I2C clock pin (A5 on UNO)
// Connect SDA to I2C data pin (A4 on UNO)

AHT10 myAHT10(0x38);
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

void setup() {
  Wire.begin();
  lcd.begin(16,2);
  lcd.setCursor(0,0);
  lcd.print("Temperature & ");
  lcd.setCursor(0,1);
  lcd.print("Humidity Meter");
  delay(2000);
  lcd.clear();
  Serial.begin(9600);
  Serial.println("AHT10 test");

  if (!myAHT10.begin()) {
    Serial.println("Couldn't find sensor!");
    while (1);
  }
}

void loop() {
    float temp = myAHT10.readTemperature();
    float rel_hum = myAHT10.readHumidity();
    Serial.print("Temp: "); Serial.print(temp); Serial.print(" C");
    Serial.print("\t\t");
    Serial.print("Humidity: "); Serial.print(rel_hum); Serial.println(" \%");
    lcd.setCursor(0,0);
    lcd.print("Temp:");
    lcd.setCursor(5,0);
    lcd.print(temp);
    lcd.setCursor(10,0);
    lcd.print((char)223);
    lcd.setCursor(11,0);
    lcd.print("C");
    lcd.setCursor(0,1);
    lcd.print("RH:");
    lcd.setCursor(3,1);
    lcd.print(rel_hum);
    lcd.setCursor(8,1);
    lcd.print("%");
    delay(500);
}

Leave a Reply

Your email address will not be published. Required fields are marked *