Materi: Smart Trashbin: Pengujian & Troubleshooting
17%

Smart Trashbin: Pengujian & Troubleshooting

Micro:bit IoT

Pengujian sistematis memastikan setiap komponen dan sistem secara keseluruhan bekerja sesuai desain sebelum proyek dinyatakan selesai.


🎯 Tujuan Pembelajaran:



  • Melakukan pengujian per komponen

  • Melakukan pengujian integrasi

  • Mendokumentasikan hasil pengujian


Tahap 1: Pengujian Komponen



  • ☑️ LED hijau menyala saat pin P3 = HIGH

  • ☑️ LED merah menyala saat pin P4 = HIGH

  • ☑️ Buzzer berbunyi saat music.playTone() dipanggil

  • ☑️ Servo bergerak dari 0° ke 90° dan kembali

  • ☑️ Sensor menunjukkan nilai berubah saat ada objek


Tahap 2: Pengujian Integrasi



  • ☑️ Dekatkan tangan → tutup terbuka dalam < 1 detik

  • ☑️ Tangan terus ada → tutup tetap terbuka 3 detik

  • ☑️ Jauhkan tangan → tutup menutup dalam < 4 detik

  • ☑️ Uji 10 siklus berturut-turut tanpa error


Troubleshooting Umum















Masalah Kemungkinan Penyebab Solusi
Sensor nilai selalu 0TRIG/ECHO terbalik / ekstensi Sonar belum installCek wiring, install ekstensi Sonar di Makecode
Servo bergetar terusArus tidak cukup dari Micro:bitGunakan sumber daya eksternal untuk servo
LED tidak menyalaPolaritas terbalik (kaki panjang=+)Balik LED, cek resistor 330Ω
Buzzer tidak bunyiBuzzer aktif dihubungkan ke PWMGunakan buzzer pasif untuk music.playTone()
Program tidak ter-uploadKabel USB hanya chargingGanti kabel data, gunakan Chrome
Kode Contoh
// Program Test — Uji Semua Komponen Satu Per Satu
// Tekan tombol yang sesuai untuk test masing-masing komponen

// Tombol A: Test LED + Servo
input.onButtonPressed(Button.A, function () {
    basic.showString("LED")
    pins.digitalWritePin(DigitalPin.P3, 1)   // LED hijau
    basic.pause(500)
    pins.digitalWritePin(DigitalPin.P4, 1)   // LED merah
    basic.pause(500)
    pins.digitalWritePin(DigitalPin.P3, 0)
    pins.digitalWritePin(DigitalPin.P4, 0)
    pins.servoWritePin(AnalogPin.P0, 90)     // Buka servo
    basic.pause(1000)
    pins.servoWritePin(AnalogPin.P0, 0)      // Tutup servo
})

// Tombol B: Test Sensor + Buzzer
input.onButtonPressed(Button.B, function () {
    let jarak = sonar.ping(DigitalPin.P1, DigitalPin.P2, PingUnit.Centimeters)
    basic.showNumber(jarak)
    music.playTone(440, 300)
})
Tantangan Mandiri: Tarik blok program di sebelah kanan agar menyusun logika kode contoh di atas, lalu klik Play untuk melihat hasilnya pada simulator!
Blok Blockly
Kode JavaScript
// Kode JavaScript akan dihasilkan secara otomatis dari Blok...

Simulator BBC micro:bit

(1,0)(3,0)(0,1)(2,1)(4,1)(0,2)(4,2)(1,3)(3,3)(2,4)P0, ANALOG INP1, ANALOG INP2, ANALOG INP3, ANALOG IN, LED Col 1P4, ANALOG IN, LED Col 2P5, BUTTON AP6, LED Col 9P7, LED Col 8P8P9, LED Col 7P10, ANALOG IN, LED Col 3P11, BUTTON BP12, RESERVED ACCESSIBILITYP13, SPI - SCKP14, SPI - MISOP15, SPI - MOSIP16, SPI - Chip SelectP17, +3v3P18, +3v3P19, I2C - SCLP20, I2C - SDAGNDGND+3v3GNDAB
Sensor Virtual
Suhu Ambient: 25 °C
Tingkat Cahaya: 128
Kontrol Tombol:
Klik Tombol A Klik Tombol B Goyang Board (Shake)