Mempelajari anatomi program Arduino, fungsi setup() dan loop(), serta membuat program lampu lalu lintas pertama.
Tahukah kamu bahwa setiap program Arduino (disebut Sketch) memiliki dua bagian utama yang tidak boleh terpisahkan? Bayangkan sebuah program Arduino seperti aktivitas harian kita.
setup().loop().Fungsi setup() adalah bagian pertama yang dijalankan oleh mikrokontroler saat baru dinyalakan atau setelah tombol Reset ditekan.
Kegunaan utamanya adalah sebagai "briefing awal" sebelum mesin mulai bekerja keras. Di sinilah kita memberi tahu Arduino: pin mana yang jadi Input, pin mana yang jadi Output, dan mengatur koneksi komunikasi (seperti Serial Monitor).
Setelah setup() selesai mengeksekusi baris kode terakhirnya, Arduino akan langsung melompat masuk ke fungsi loop(). Sesuai namanya (loop = putaran/berulang), fungsi ini akan dieksekusi terus-menerus tanpa henti selama Arduino memiliki daya listrik.
Untuk bisa berkomunikasi dengan komponen elektronik (seperti LED, Sensor, Tombol), Arduino memiliki kosa kata atau fungsi dasar tersendiri.
| Nama Fungsi | Kegunaan | Contoh Penggunaan |
|---|---|---|
| pinMode(pin, mode) | Mengatur apakah sebuah pin akan bertugas mengeluarkan listrik (OUTPUT) atau membaca listrik (INPUT) | pinMode(13, OUTPUT); |
| digitalWrite(pin, nilai) | Mengeluarkan sinyal listrik. HIGH (Nyala/5V) atau LOW (Mati/0V) | digitalWrite(13, HIGH); |
| digitalRead(pin) | Membaca ada tidaknya sinyal listrik yang masuk. Biasanya untuk sensor digital/tombol | int nilai = digitalRead(2); |
| delay(ms) | Memberhentikan program sejenak. (1 detik = 1000 milidetik/ms) | delay(1000); |
delay(), Arduino tidak bisa merespon hal lain. Ibarat kamu disuruh "diam selama 5 menit", jika dipanggil temanmu saat itu, kamu tidak akan menjawab. Untuk project lanjutan nanti, kita akan belajar cara yang lebih cerdas menggunakan millis().Sekarang kita akan menerapkan apa yang sudah kita pelajari dengan membuat simulasi lampu lalu lintas merah, kuning, dan hijau menggunakan 3 buah LED.
Tampilan di Serial Monitor:
Solusi:Mungkin kamu lupa menaruh delay() atau nilai delay terlalu kecil sehingga mata tidak bisa menangkap perpindahannya.
Solusi:Pastikan pinMode() sudah di-set ke OUTPUT di fungsi setup().
Di beberapa simpang jalan pada malam hari yang sepi, lampu lalu lintas akan berubah menjadi mode peringatan: Lampu kuning berkedip-kedip sementara lampu lainnya mati.
Tantanganmu: Buatlah sketch baru dimana:
Luangkan 2–3 menit untuk menjawab pertanyaan di bawah secara jujur.
Apa yang paling mengejutkan atau menarik hari ini?
Konsep baru apa tentang pemrograman Arduino yang paling menarik buatmu hari ini?
Apa yang masih membingungkan atau ingin kamu pahami lebih dalam?
Apakah ada fungsi (seperti pinMode, digitalWrite, delay) yang masih membingungkan?
Apa yang ingin kamu coba atau pelajari minggu depan?
Apa langkah selanjutnya yang akan kamu coba agar lebih lancar menulis Sketch Arduino?
Refleksi tidak dinilai — ini adalah ruang jujurmu untuk berpikir.