Site icon Elektrologi

Lampu On Off Dengan 1 Sakelar

Pada artikel ini diuraikan membuat sistem mikrokontroler untuk mengendalikan lampu berdasarkan sebuah sakelar. Lampu dinyalakan dengan menekan tombol satu kali. Lampu dimatikan dengan cara menekan tombol agak lama.

Kebutuhan Sistem

Diagram Blok Sistem secara umum sebagai berikut

Skenario sistem

Untuk memperjelas sistem yang akan dibuat, perlu dibuat dulu beberapa skenario yang dapat terjadi pada sistem ini.

  1. LED mati: ditekan 1x pendek (kurang dari 1 detik) maka LED menyala
  2. LED mati: ditekan 1x panjang (lebih dari 1 detik) -> LED menyala
  3. LED menyala: ditekan & ditahan selama 1 detik -> LED mati
  4. LED menyala: ditekan kurang dari 1 detik -> LED tetap menyala
  5. LED menyala: ditekan & ditahan selama lebih dari 1 detik -> LED mati dalam 1 detik, setelah itu tetap mati
  6. LED menyala: switch ditekan berkali-kali pendek -> LED tetap menyala (frekuensi di bawah batas tertentu)
  7. LED mati: switch ditekan berkali-kali pendek -> LED menyala dan tidak mati (frekuensi di bawah batas tertentu)

Hal-hal yang tidak diperhatikan pada sistem ini:

Berikut ini Diagram Skenario 1
LED mati: ditekan 1x pendek (kurang dari 1 detik) maka LED menyala

Diagram Skenario 2: LED mati: ditekan 1x panjang (lebih dari 1 detik) -> LED menyala

Diagram skenario 3: LED menyala: ditekan & ditahan selama 1 detik -> LED mati

Skenario 4 LED menyala: ditekan kurang dari 1 detik -> LED tetap menyala

LED menyala: ditekan & ditahan selama lebih dari 1 detik -> LED mati dalam 1 detik, setelah itu tetap mati

Skenario Ekstra 6

Skenario Ekstra 7

Strategi/Algoritma:

  1. Kondisi awal mati
  2. Tunggu ada tombol ditekan. Jika ada , nyalakan lampu.
  3. Tunggu tombol ditekan lama. Jika ada, matikan lampu. Abaikan input lain.
  4. Kembali ke (2)

Model State Chart

Sketsa state chart

State diagram sistem versi final

Implementasi Perangkat Keras

Implementasi Perangkat Lunak

Kode implementasi dapat dilihat di https://github.com/waskita/embedded/blob/master/on-off-switch/nano-on-off/nano-on-off.ino

Pengujian

 

 

 

 

Exit mobile version