Lampu Kedip pada Arduino
Lampu Kedip pada Arduino
Membuat LED berkedip adalah salah satu cara sederhana untuk menunjukkan kemampuan pewaktuan pada mikroprosesor.
Berikut ini beberapa teknik yang dapat dilakukan:
- interupsi timer
- delay arduino standar
- delay dari FreeRTOS
Delay Standar Arduino
Delay pada Arduino dijelaskan di https://www.arduino.cc/reference/en/language/functions/time/delay/
Pada software Arduino standar seperti Arduino Nano dan UNO, delay ini diimplementasikan dengan loop software.
Contoh software yang menggunakan delay ini adalah contoh software Blink pada Arduino (https://www.arduino.cc/en/tutorial/blink)
Diagram alir program Blink ini adalah sebagai berikut
Delay pada FreeRTOS
FreeRTOS memungkinkan software Arduino memiliki beberapa loop pada waktu yang bersamaan.
Porting FreeRTOS untuk Arduino UNO dan Nano dapat dilihat di https://github.com/feilipu/Arduino_FreeRTOS_Library
Library FreeRTOS ini dapat diinstall di Arduino IDE dari menu Tools -> Manage Libraries. Kemudian search dengan kata kunci FreeRTOS.
Sebagai contoh, berikut ini diagram alir (flowchart) sebuah program yang membuat LED berkedip dengan 3 buah loop. Masing-masing LED memiliki frekuensi yang berbeda.
Source code dapat dilihat di https://github.com/waskita/embedded/tree/master/atmega-blink-freertos
Fungsi FreeRTOS yang dipakai adalah
- xTaskCreate untuk membuat task baru
- xTaskGetTickCount untuk mendapatkan tick di OS pada suatu saat
- vTaskDelayUntil untuk membuat delay
Berikut ini demo perangkat keras Arduino Nano tersebut
Interupsi Timer
under construction
One thought on “Lampu Kedip pada Arduino”