Modul 4 Arduino
Modul 4
Membangun Sistem Lampu Lalu Lintas Berbasis Arduino
Selamat datang di modul 4! Kali ini kita akan mengubah diri menjadi insinyur lalu lintas dan programmer sekaligus. Kita akan membangun prototipe sistem yang mengatur detak nadi sebuah kota.
Tujuan Pembelajaran
- Memahami konsep Sub Program dalam koding.
- Mengenal dan mengimplementasikan Tipe Data dasar.
- Mampu melakukan debugging / membaca error di panel output.
- Merangkai komponen di Tinkercad dan Arduino Uno fisik secara kolaboratif.
Pertanyaan Pemantik
"Bayangkan persimpangan tersibuk di kotamu tanpa lampu lalu lintas. Apa yang terjadi? Lalu, bagaimana lampu-lampu di berbagai persimpangan kota bisa tersinkronisasi tanpa menyebabkan kekacauan? Jika kamu yang harus memprogramnya, logika seperti apa yang akan kamu gunakan?"
Tahap 1: Memahami Konsep
Berdasarkan data dari Inrix Traffic Scorecard, kemacetan membuang puluhan jam waktu produktif manusia setiap tahunnya. Sistem lampu lalu lintas yang terprogram menggunakan mikrokontroler seperti Arduino adalah fondasi awal dari *Smart City*. Dengan mempelajari ini, kalian sedang meletakkan batu bata pertama menuju pemahaman Kecerdasan Buatan (AI) yang kelak bisa memanajemen lalu lintas secara mandiri dan real-time!
Analogi Tipe Data
Dalam pemrograman, kita sering menyimpan nilai. Anggap saja variabel itu seperti "Kotak Penyimpanan", dan tipe data adalah "Bentuk Kotaknya". Kamu tidak bisa menaruh air di keranjang bambu, bukan? Berikut adalah 5 tipe data dasar:
(Integer): Angka bulat. Analogi: Rak telur. Hanya bisa diisi telur utuh (1, 2, 100). Tidak bisa 1.5 telur.
(Floating Point): Angka desimal. Analogi: Gelas ukur air. Bisa berisi 1.5 liter atau 3.14 liter.
Mirip float, tapi kapasitasnya dua kali lipat lebih presisi untuk angka di belakang koma yang sangat panjang.
(Character): Satu karakter tunggal. Analogi: Stempel huruf. Contoh: 'A', 'B', '1', atau '?'.
(Boolean): Hanya punya dua nilai: BENAR/SALAH. Analogi: Saklar lampu (ON/OFF atau 1/0).
Konsep Sub Program (Fungsi Khusus)
Bayangkan tugas mengatur lalu lintas di simpang empat. Jika semua instruksi ditulis di satu buku catatan utama (void loop), bukunya akan sangat tebal dan membingungkan.
Sub Program (atau Fungsi) adalah memecah buku catatan itu menjadi bab-bab kecil. Kita membuat fungsi bernama nyalakanMerah() dan di dalam fungsi utama, kita tinggal "memanggil" namanya. Ini membuat kode lebih bersih, mudah dibaca, dan meminimalisir error.
Tahap 2: Mengaplikasi (Tinkercad)
Sekarang, mari kita merangkai di Tinkercad secara virtual. Kita akan membutuhkan: 1 Arduino Uno, 1 Breadboard, 3 LED (Merah, Kuning, Hijau), dan 3 Resistor (220 ohm).
*Klik gambar untuk memperbesar*
Ilustrasi rangkaian elektronik. (Ganti dengan *screenshot* rangkaian Tinkercad Anda)
Menulis Script (Kode)
Perhatikan bagaimana konsep tipe data (int) dan Sub Program (void lampuMerah()) digunakan di bawah ini:
// Mendeklarasikan variabel (Tipe Data: int)
int pinMerah = 13;
int pinKuning = 12;
int pinHijau = 11;
void setup() {
// Mengatur pin sebagai jalur keluar (OUTPUT)
pinMode(pinMerah, OUTPUT);
pinMode(pinKuning, OUTPUT);
pinMode(pinHijau, OUTPUT);
}
void loop() {
// Memanggil Sub Program yang kita buat sendiri
panggilLampuMerah();
panggilLampuKuning();
panggilLampuHijau();
}
// ==========================================
// INI ADALAH SUB PROGRAM
// ==========================================
void panggilLampuMerah() {
digitalWrite(pinMerah, HIGH); // Nyalakan Merah
delay(5000); // Tunggu 5 detik
digitalWrite(pinMerah, LOW); // Matikan Merah
}
void panggilLampuKuning() {
digitalWrite(pinKuning, HIGH);
delay(2000);
digitalWrite(pinKuning, LOW);
}
void panggilLampuHijau() {
digitalWrite(pinHijau, HIGH);
delay(4000);
digitalWrite(pinHijau, LOW);
}
Cara Membaca Error di Panel Output
Sebagai programmer, error adalah sahabat, bukan musuh! Jika kodemu gagal berjalan di Tinkercad, perhatikan kotak hitam di bawah (Serial Monitor/Output):
- Cari Angka Baris: Pesan error biasanya menyebutkan angka, misal:
error: expected ';' before '}' token pada baris 24. Artinya kamu lupa menaruh titik koma (;) di akhir perintah dekat baris 24. - Perhatikan 'Case Sensitive': Arduino membedakan huruf besar/kecil.
digitalwriteakan error, yang benar adalahdigitalWrite(W besar). - Typo Variabel: Jika tertulis
'pinmerah' was not declared, artinya kamu memanggil nama variabel yang salah ketik (harusnyapinMerah).
Tahap 3: Praktik & Refleksi
Tugas Kelompok (Hands-on Lab)
Tinggalkan simulator virtual, saatnya menyentuh perangkat keras sungguhan!
- Bentuk kelompok berisi 5-6 orang.
- Ambil kit Arduino Uno, kabel jumper, resistor, dan LED dari laboratorium.
- Rangkai sirkuit fisik lampu lalu lintas persis seperti desain Tinkercad kalian.
- Tulis ulang *script* di aplikasi Arduino IDE komputer.
- Upload program tersebut ke *board* Arduino dan saksikan lampu lalu lintas kalian beroperasi di dunia nyata!
Mari Merefleksi
Sembari membereskan meja kerja, diskusikan pertanyaan berikut bersama kelompokmu. Guru akan menunjuk beberapa kelompok untuk berbagi pemikiran:
1. Apa kendala paling menantang saat menerjemahkan kode dari layar komputer (Tinkercad) ke kabel fisik di dunia nyata?
2. Jika kalian ditantang untuk membuat lampu lalu lintas untuk simpang empat (bukan sekadar 1 arah), bagaimana kalian akan mengubah logika Sub Program kalian?
3. Menurutmu, mengapa pemahaman tentang "membaca error" (debugging) sangat penting tidak hanya dalam koding, tapi juga dalam memecahkan masalah kehidupan?
Tekan area mana saja untuk menutup

0 Komentar:
Posting Komentar
Berlangganan Posting Komentar [Atom]
<< Beranda