Kabar Terkini

AHT 10 SENSOR SUHU DAN KELEMBABAN

Cara mengakses sensor AHT10 Sensor Suhu dan kelembaban




Sensor AHT10
 adalah sensor alternatif sensor suhu dan kelembaban selain sensor DHT11 atau LM35 yang dimana diakses menggunakan komunikasi i2c dengan harga yang murah dan presisi.

Sehingga untuk pengkabelannya lebih simpel, dan tingkat pembacaan datanya lebih stabil. Komunikasi i2c terdiri dari Serial Data (SDA) dan Serial Clock (SCL) yang membawa informasi data antara mikrokontroler dan sensornya.

Penjelasan Singkat SENSOR AHT10

Sensor ini merupakan generasi baru untuk sensor suhu dan kelembaban, menetapkan standar baru dalam ukuran dan kecerdasan itu tertanam dalam paket SMD tanpa-baris datar dua baris untuk solder reflow dengan bagian bawah 4 x 5mm dan tinggi 1,6mm.

SENSOR AHT10 VIEW

AHT10 dilengkapi dengan chip ASIC spesifik yang baru dirancang, elemen penginderaan kelembaban kapasitif semikonduktor MEMS yang ditingkatkan dan elemen sensor suhu on-chip standar.

Kinerjanya telah sangat ditingkatkan melampaui tingkat keandalan sensor generasi sebelumnya. Sensor suhu dan kelembaban generasi pertama telah ditingkatkan untuk membuatnya lebih stabil di lingkungan yang keras.

Spesifikasi detail dari Sensor suhu dan kelembaban ini :

  • Suhu yang dapat disensing : -40°C sampai 85°C
  • Resolusi suhu : 0,01°C
  • Akurasi suhu: ± 0,3°C
  • Kelembaban yang dapat disensing : 0% sampai 100%
  • Resolusi kelembaban relatif: 0,024%
  • Akurasi kelembaban relatif: ± 2%
  • Tegangan kerja : 1,8 Vdc – 3,6 Vdc
  • Kecepatan bus I²C : 0Hz – 400KHz
  • Rekomendasi polling frequency: 8sec – 30sec
  • Addres i2c : 0x38
  • Berat sensor : 0,8 gram
  • Dimensi sensor : 16 mm x 11 mm
  • Harga di pasaran : dibawah 30rb

Tutorial bagaimana cara mengakses dan implementasinya

Bahan yang perlu dipersiapkan :

  1. AHT10
  2. Arduino Nano
  3. LCD 16×2 dan driver PCF8574
  4. Buzzer aktif 5Vdc *
  5. Hot Gun**

* Buzzer difungsikan sebagai penanda batas suhu atau kelembaban yang telah disetting di program

** Hot Gun difungsikan untuk pengetesan menaikan suhu dan penurunan kelembaban.

Arduino Nano dapat diganti menjadi Arduino Uno dikarenakan secara konsep hampir sama secara pemrograman.

Wiring antar komponen

arduino nano + sensor aht10 + display LCD rev.1

 

Keterangan Wiring :

Wiring aht10, arduino nano revisi

Langkah – langkah untuk installing library AHT10 dan driver PCF8574 dengan catatan terhubung internet :

  1. Buka Software arduino uno IDE
  2. Pilih dan klik menu sketch -> include libraries -> manage libraries
  3. Ketikan “AHT10” pada kolom search
  4. Pilih libraries Adafruit AHT10 by Adafruit
  5. Klik install
  6. Selanjutnya ketikan “PCF8574”
  7. Pilih “LiquidCrystal_PCF8574 by Matthias Hertel”
  8. Klik install dan closed

Instalasi LIBRARIES AHT10, PCF8574

Programming

Info tambahan tentang arduino Nano, yaitu dipasaran sering ditemukan arduino nano menggunakan driver CH340G. Sehingga sebelum melakukan pemrogram inti dari artikel tersebut perlu menginstall dahulu driver CH340G yang dapat ditemukan pada artikel ini.

Dan kebanyakan pada arduino nano yang dijual (Cloning CH340G) tersebut masih menggunakan “old Bootloader” guna uploading program.

arduino nano old bootloader

Setelah itu hal pertama saat sudah terangkai seperti rangkaian diatas perlu dicek dahulu koneksi i2c dari driver LCD PCF8574 dan sensor itu dan pengecekan buzzer.

Cara pengecekan i2c yaitu menggunakan i2c scanner dapat dicek pada link dibawah ini

Harus dipastikan ulang wiring untuk kedua module sensor dan module LCD terpasang dengan benar, jika pada serial monitor muncul seperti gambar dibawah ini.

Error No I2C Scanning

Misal pada LCD Driver tertampil address 0x27, dan untuk sensornya tertulis address 0x38 itu menandakan bahwa wiring sudah dilakukan dengan benar.

Programming

//www.nyebarilmu.com
//2020
//Program Sensor alternatif suhu dan kelembaban AHT10

#include <Adafruit_AHT10.h>
#include <LiquidCrystal_PCF8574.h>
#include <Wire.h>

LiquidCrystal_PCF8574 lcd(0x27);

Adafruit_AHT10 aht10;

const int buzzer = A3;

byte derajat_simbol = B11011111;

void setup() {
  Serial.begin(9600);
  pinMode(buzzer, OUTPUT);
  lcd.begin(16, 2);
  lcd.setBacklight(255);
  aht10.begin();
}

void loop() {
  sensors_event_t humidity, temp;
  aht10.getEvent(&humidity, &temp);
  
  lcd.setCursor(0,0);
  lcd.print("Temp:");
  lcd.setCursor(5,0);
  lcd.print(temp.temperature); //hasilnya akan memiliki koma misalnya 32.50
  lcd.setCursor(9,0);
  lcd.write(derajat_simbol);
  lcd.setCursor(10,0);
  lcd.print("C");
  lcd.setCursor(12,0);
  lcd.print("   ");

  if(temp.temperature>= 40.00)
  {
    digitalWrite(buzzer,HIGH);
    delay(500);
    digitalWrite(buzzer,HIGH);
    delay(500);
    lcd.setCursor(12,0);
    lcd.print("HOT");
  }
  
  lcd.setCursor(0,1);
  lcd.print("Humd:");
  lcd.setCursor(5,0);
  lcd.print(humidity.relative_humidity);
  lcd.setCursor(9,0);
  lcd.print("% rH");

  delay(500);
}

Pada program diatas merupakan monitoring dengan ditampilkan di lcd karakter 16×2 dan pada  saat kondisi suhu diatas 40 derajat maka buzzer akan berbunyi.

..........


//Program Sensor alternatif suhu dan kelembaban AHT10

#include <Adafruit_AHT10.h>
#include <LiquidCrystal_PCF8574.h>
#include <Wire.h>

LiquidCrystal_PCF8574 lcd(0x27);

Adafruit_AHT10 aht10;

const int buzzer = D8;

byte derajat_simbol = B11011111;

void setup() {
  Serial.begin(9600);
  pinMode(buzzer, OUTPUT);
  lcd.begin(16, 2);
  lcd.setBacklight(255);
  aht10.begin();
}

void loop() {
  sensors_event_t humidity, temp;
  aht10.getEvent(&humidity, &temp);
  
  lcd.setCursor(0,0);
  lcd.print("Temp:");
  lcd.setCursor(5,0);
  lcd.print(temp.temperature); //hasilnya akan memiliki koma misalnya 32.50
  lcd.setCursor(9,0);
  lcd.write(derajat_simbol);
  lcd.setCursor(10,0);
  lcd.print("C");
  lcd.setCursor(12,0);
  lcd.print("   ");

  if(temp.temperature>= 30.00)
  {
    digitalWrite(buzzer,HIGH);
    delay(100);
    digitalWrite(buzzer,LOW);
    delay(100);
    lcd.setCursor(12,0);
    lcd.print("HOT");
  }
  
  lcd.setCursor(0,1);
  lcd.print("Humd:");
  lcd.setCursor(5,1);
  lcd.print(humidity.relative_humidity);
  lcd.setCursor(9,1);
  lcd.print("% rH");

  delay(500);
}

No comments

Featured Post

PictoBlox - Scratch Robotika