Skip to content

QDarkRex/docking-controller

Repository files navigation

Docking Controller

Program Arduino Mega untuk mengendalikan dua motor pintu dan satu motor lifter dengan timing non-blocking (millis()/micros()).

File perangkat dipisahkan menjadi beberapa header .h di folder utama, sehingga file .ino hanya mengatur konfigurasi dan alur utama.

Struktur kode

docking-controller.ino
ButtonHandler.h
DoorHandler.h
LedHandler.h
LifterHandler.h
StepperMotor.h
  • ButtonHandler.h: tombol dengan INPUT_PULLUP dan deteksi transisi tekan.
  • LedHandler.h: kontrol LED mode.
  • StepperMotor.h: pulse, direction, start, stop, dan timing motor.
  • DoorHandler.h: urutan buka/tutup dua motor pintu.
  • LifterHandler.h: gerakan naik/turun motor lifter dan timeout.

Perintah

  • OPEN: membuka pintu kanan lalu kiri.
  • CLOSE: menutup pintu kiri lalu kanan.
  • UP: menjalankan lifter ke atas selama 17 detik.
  • DOWN: menjalankan lifter ke bawah selama 17 detik.

Tombol menggunakan INPUT_PULLUP, sehingga tombol aktif saat terhubung ke LOW.

Pin

Fungsi Pin
Door right pulse / direction 3 / 37
Door left pulse / direction 5 / 35
Lifter pulse / direction 7 / 33
Open / close button 22 / 23
Up / down button 25 / 24
Mode LED 1 / 2 39 / 41

Waktu dan kecepatan

  • Jeda start motor kedua: 1 detik.
  • Durasi motor pintu: 15 detik.
  • Durasi motor lifter: 17 detik.
  • Perubahan level pulse: setiap 1000 mikrodetik.

Upload

Buka docking-controller.ino di Arduino IDE, pilih board Arduino Mega or Mega 2560, pilih port yang sesuai, lalu upload.

Serial Monitor menggunakan baud rate 115200.

About

Arduino Mega docking controller with modular hardware handlers

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages