Sensor Suhu DHT11/DHT22 ESP32 Micropython body { font-family: sans-serif; line-height: 1.6; max-width: 800px; margin: 40px auto; padding: 0 20px; color:
#0078d7; color: white; padding: 20px; margin: 20px 0; border-radius: 5px; } Sensor Suhu DHT11/DHT22 ESP32 Micropython
Sensor Suhu DHT11/DHT22 ESP32 Micropython
Wokwi
Skrip MicroPython di atas menggunakan beberapa modul dan perangkat keras untuk membaca suhu dan kelembaban dari sensor DHT22 dan menampilkan data tersebut pada layar LCD.
Berikut adalah penjelasan baris per baris dari skrip tersebut:
- Mengimpor modul
dht yang digunakan untuk berkomunikasi dengan sensor DHT22.
- Mengimpor kelas
Pin dari modul machine yang digunakan untuk mengontrol pin GPIO pada ESP32.
- Mengimpor modul
time yang digunakan untuk memberikan jeda waktu antara pembacaan sensor.
- Mengimpor kelas
GpioLcd dari modul esp32_gpio_lcd yang digunakan untuk mengontrol layar LCD melalui pin GPIO.
- Membuat objek
lcd yang mewakili layar LCD dengan konfigurasi pin yang sesuai. Pin RS, enable, dan pin data (d4-d7) ditentukan dengan memasukkan objek Pin dengan nomor pin yang sesuai.
- Membuat objek
dht_pin yang mewakili pin GPIO yang terhubung ke sensor DHT22. Pin tersebut diatur sebagai pin input dengan pull-up resistor.
- Membuat objek
dht_sensor yang mewakili sensor DHT22 dengan menggunakan objek dht_pin sebagai parameter.
- Memulai loop utama dengan
while True yang akan berjalan secara terus-menerus.
- Di dalam loop, mencoba membaca suhu dan kelembaban dari sensor DHT22 menggunakan metode
measure() dari objek dht_sensor.
- Mengambil suhu yang terukur dengan menggunakan metode
temperature() dari objek dht_sensor dan menyimpannya dalam variabel temperature.
- Mengambil kelembaban yang terukur dengan menggunakan metode
humidity() dari objek dht_sensor dan menyimpannya dalam variabel humidity.
- Membuat string
t yang berisi teks "Temp: {:.2f}°C" yang diisi dengan nilai suhu yang diformat dengan 2 desimal menggunakan fungsi format().
- Membuat string
h yang berisi teks "Hum: {:.2f}%" yang diisi dengan nilai kelembaban yang diformat dengan 2 desimal menggunakan fungsi format().
- Menggabungkan string
t dan h serta menambahkan karakter baru ("\
") di antara keduanya. Hasilnya disimpan dalam variabel res.
- Menampilkan
res pada layar LCD menggunakan metode putstr() dari objek lcd.
- Jika terjadi kesalahan (OSError) saat membaca sensor DHT, mencetak pesan kesalahan.
- Memberikan jeda waktu selama 1 detik menggunakan fungsi
sleep() dari modul time.
- Membersihkan tampilan layar LCD dengan metode
clear() dari objek lcd.
Skrip ini akan terus membaca sensor DHT22, menampilkan suhu dan kelembaban yang terukur pada layar LCD, dan mengulangi proses tersebut setiap detik. Jika terjadi kesalahan saat membaca sensor, pesan kesalahan akan dicetak, tetapi proses akan tetap berlanjut.
Discussion (0)