Sensor Suhu Tanpa LCD 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 Tanpa LCD
Sensor Suhu Tanpa LCD
Wokwi
Skrip MicroPython di atas menggunakan modul dht, machine, dan time untuk membaca suhu dari sensor DHT22 dan mengontrol buzzer berdasarkan suhu yang terukur.
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 perangkat MicroPython.
- Mengimpor modul
time yang digunakan untuk memberikan jeda waktu antara pembacaan sensor.
- Mendefinisikan variabel
DHT_PIN dengan nilai 33, yang menunjukkan nomor pin yang terhubung ke sensor DHT22.
- Mendefinisikan variabel
BUZZER_PIN dengan nilai 26, yang menunjukkan nomor pin yang terhubung ke buzzer.
- Membuat objek
sensor yang mewakili sensor DHT22 dengan menggunakan objek Pin dengan nomor pin yang sesuai sebagai parameter.
- Membuat objek
buzzer yang mewakili buzzer dengan menggunakan objek Pin dengan nomor pin yang sesuai sebagai parameter. Pin tersebut diatur sebagai pin output.
- Memulai loop utama dengan
while True yang akan berjalan secara terus-menerus.
- Di dalam loop, mencoba membaca suhu dari sensor DHT22 menggunakan metode
measure() dari objek sensor.
- Mengambil suhu yang terukur dengan menggunakan metode
temperature() dari objek sensor dan menyimpannya dalam variabel temperature.
- Mencetak suhu air yang terukur dengan format "Suhu air: {:.2f}°C" menggunakan fungsi
format() untuk membatasi nilai desimal menjadi 2.
- Jika suhu air lebih tinggi dari 40 derajat Celsius, membalikkan nilai buzzer menggunakan metode
value() dan operator not untuk menghidupkan atau mematikan buzzer.
- Jika suhu air lebih rendah dari 40 derajat Celsius, mematikan buzzer dengan mengatur nilai
0 menggunakan metode value() pada objek buzzer.
- Memberikan jeda waktu selama 1 detik menggunakan fungsi
sleep() dari modul time.
- Jika terjadi kesalahan (OSError) saat membaca sensor DHT22, mencetak pesan kesalahan.
Skrip ini akan terus membaca suhu dari sensor DHT22 setiap detik. Jika suhu air lebih tinggi dari 40 derajat Celsius, buzzer akan dihidupkan. Jika suhu air lebih rendah dari 40 derajat Celsius, buzzer akan dimatikan. Pesan kesalahan akan dicetak jika terjadi kesalahan saat membaca sensor DHT22.
Discussion (0)