Projek Arduino weather Station (Stasion Cuaca)
Dalam projek ini kita akan menyiapkan stasiun cuaca untuk mengukur suhu dan kelembaban dan menampilkan nilai pada LCD
Komponen yang diperlukan :
1. Arduino board
2. Breadbord
3. Kabel Jumper
4. 50k-ohm potentiometer
5. 16x2 LCD screen (Hitachi HD44780 compatible)
6. DHT11 humidity sensor
Diperlukan librari LiquidCristal dan DHT
Cara Kerja :
Sensor kelembaban yang digunakan dalam proyek ini adalah DHT11 yang relatif murah, ditunjukkan pada Gambar, yang mengukur kelembaban dan suhu. Ini menggunakan sensor kelembaban kapasitif dan sensor suhu tipe resistif untuk mengambil pembacaan dari lingkungannya. Ini mengirimkan bacaan ini ke Arduino sebagai tegangan, dan Arduino mengubahnya menjadi nilai yang dapat dibaca yang ditampilkan di layar. Untuk hasil terbaik, Anda harus memasang sensor di dinding luar dengan ruang terbuka yang cukup. Anda akan ingin memasang layar LCD Anda di dalam ruangan atau menyegelnya dengan hati-hati di dalam tas atau casing yang bening dan tahan air agar tetap terlindung dari elemen.
2. Masukkan layar LCD ke breadboard dan sambungkan pin ke Arduino seperti yang ditunjukkan pada tabel berikut dan pada Gambar. Rel GND dan +5V akan memiliki banyak koneksi.
3. Masukkan potensiometer ke dalam breadboard seperti yang ditunjukkan pada Gambar dan sambungkan pin tengah ke pin LCD 3. Hubungkan satu pin luar ke rel +5V dan yang lainnya ke rel GND.
4. Ingatlah untuk menghubungkan rel daya breadbord ke Arduino GND dan +5V. Konfirmasikan bahwa pengaturan Anda cocok dengan diagram sirkuit pada Gambar, dan unggah kode di "Sketsa".
Sketch program arduino :
#include <LiquidCrystal.h>
#include "DHT.h" // Call the DHT library
#define DHTPIN 8 // Pin connected to DHT
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
#define DHTTYPE DHT11 // Define the type of DHT module
DHT dht(DHTPIN, DHTTYPE); // Command to the DHT.h library
void setup() {
dht.begin(); // Start the sensor
lcd.begin(16, 2); // LCD screen is 16 characters by 2 lines
}
void loop() {
float h = dht.readHumidity(); // Value for humidity
float t = dht.readTemperature(); // Value for temperature
t = t * 9 / 5 + 32; // Change reading from Celsius to Fahrenheit
if (isnan(t) || isnan(h)) { // Check that DHT sensor is working
lcd.setCursor(0, 0);
lcd.print("Failed to read from DHT"); // If DHT is not working,
// display this
} else { // Otherwise show the readings on the screen
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Humidity: ");
lcd.print(h);
lcd.print("%");
lcd.setCursor(0, 1);
lcd.print("Temp: ");
lcd.print(t);
lcd.print("f");
}
0 Comments