Design Thinking untuk Hardware
Proyek robotika dan IoT pada dasarnya adalah tentang memecahkan masalah di dunia nyata. Untuk menciptakan solusi yang tepat guna, kita menggunakan pendekatan Design Thinking: Empati → Definisi Masalah → Ideasi → Prototipe → Uji.
Contoh Logika "Penyiram Tanaman Otomatis":
- 1. Input: Baca nilai dari sensor kelembaban tanah.
- 2. Kondisi: Jika tanah terbaca kering (nilai < batas).
- 3. Output: Aktifkan relay, nyalakan pompa air.
- 4. Stop: Jika tanah sudah basah, matikan relay.
Karakteristik Proyek Inovasi
| Metrik | Penelitian (WICE) | Proyek Iseng |
|---|---|---|
| Latar Belakang Masalah | Jelas & Nyata | Asal Buat |
| Batasan Masalah | Terfokus | Terlalu Luas |
| Pengujian Data | Metodis (Ilmiah) | Feeling Saja |
| Kebermanfaatan | Berdampak | Sekadar Jadi |
Dari Web Menuju Perangkat Keras
Bagi Anda yang terbiasa dengan web development, memprogram hardware memiliki padanan yang sangat mirip. Mari kita petakan konsep Frontend dan Backend ke dalam anatomi perangkat keras IoT.
Sensor (Input) = seperti Frontend Forms yang menerima masukan data.
Mikrokontroler (Proses) = seperti Backend (Node.js/PHP) yang memproses logika.
Aktuator (Output) = seperti DOM Manipulation (UI) yang menampilkan hasil akhir.
Looping = seperti sebuah setInterval berkelanjutan yang menjaga sistem IoT tetap hidup dan responsif.
// Inisialisasi awal (dijalankan sekali) void setup() { pinMode(A0, INPUT); pinMode(13, OUTPUT); } // 4. Looping tanpa henti (seperti setInterval) void loop() { // 1. Sensor menerima input dari lingkungan int nilaiSensor = analogRead(A0); // 2. Mikrokontroler memproses logika if (nilaiSensor > 500) { // 3. Aktuator menghasilkan output (LED menyala) digitalWrite(13, HIGH); } else { digitalWrite(13, LOW); } }
Perbandingan Sinyal Digital vs Analog
Bentuk Gelombang Sinyal
Mikrokontroler berkomunikasi menggunakan tegangan. Sinyal Digital (kotak) hanya memiliki dua kondisi tegas: 0V (LOW) atau 5V (HIGH). Sinyal Analog (sinus) merepresentasikan rentang nilai yang berkesinambungan (0 hingga 1023 pada Arduino).
Penerapan pada Arduino (Sintaks)
// Menyalakan LED (ON/OFF saja) void setup() { pinMode(LED_BUILTIN, OUTPUT);} void loop() { digitalWrite(LED_BUILTIN, HIGH);}
// Meredupkan LED berdasarkan sensor void setup() { // Pin Analog otomatis sebagai input} void loop() { int val = analogRead(A0); analogWrite(LED_BUILTIN, val / 4);}
Polling vs Interrupt pada Mikrokontroler
Dalam mikrokontroler, memeriksa status tombol secara terus menerus (Polling) di dalam void loop() membuang waktu dan memblokir proses lain. Pendekatan yang lebih efisien adalah Interrupt: mikrokontroler "diinterupsi" dari tugasnya hanya ketika tombol benar-benar ditekan.
Input (Kejadian)
Tombol ditekan (tegangan berubah dari HIGH ke LOW).
Interrupt (Interupsi)
Sistem menghentikan proses sementara untuk memprioritaskan tombol.
Eksekusi (Output)
Lampu menyala secara instan tanpa jeda waktu bacaan.
Efisiensi Beban Prosesor (CPU)
Penerapan Membaca Tombol (Sintaks)
// Polling di dalam loop void setup() { pinMode(2, INPUT_PULLUP); pinMode(LED_BUILTIN, OUTPUT); }void loop() { // Mengecek tombol setiap saat! if (digitalRead(2) == LOW) { digitalWrite(LED_BUILTIN, HIGH); } // Jika ada delay di bawah sini, // penekanan tombol bisa TERLEWAT! delay(1000); }
// Menunggu Interrupt dari Hardware void setup() { pinMode(2, INPUT_PULLUP); pinMode(LED_BUILTIN, OUTPUT); // Daftarkan fungsi ketika tegangan TURUN attachInterrupt(digitalPinToInterrupt(2), tombolDitekan, FALLING);} void loop() { // Loop bisa mengerjakan tugas berat lain delay(1000);} // Fungsi ini HANYA dipanggil SAAT tombol ditekan void tombolDitekan() { digitalWrite(LED_BUILTIN, HIGH); }
Konsep State Machine (FSM) dalam Rangkaian
Sebuah alat IoT yang stabil dibangun menggunakan pola Finite State Machine (FSM). Sistem tidak hanya bereaksi terhadap input (tombol), namun juga mempertimbangkan kondisi saat ini (State). Hal ini mencegah perilaku tak terduga seperti lampu berkedip kacau saat tombol ditahan terus menerus.
Diagram Transisi State
Setiap panah merepresentasikan satu transisi yang terdefinisi dan legal dalam FSM.
Simulator Interaktif
State Aktif
LED_MATI
Sistem siaga — lampu mati.
Kirim Event dari Hardware
Log Transisi
Belum ada transisi...
Komponen Perangkat Keras (3D)
Sebelum menyentuh perangkat keras fisik, mari kita membedah anatomi komponen yang akan kita gunakan secara interaktif. Putar dan perbesar model 3D di bawah ini untuk melihat detail dari setiap komponen secara menyeluruh.
Memuat Model 3D...
Ayo Kita
Bedah Perangkat
Saatnya melihat bagaimana sensor, aktuator,
dan logika berpadu di dalam mikrokontroler.
Dipandu oleh
Tim Pengajar
WICE Hardware & IoT