Materi 10 dari 12 · Stasiun 3
Serial monitor dan debugging
Setelah materi ini, kamu bisa:
- Bisa memakai Serial.begin dan Serial.println untuk melihat isi variabel saat program berjalan.
- Bisa memperbaiki tampilan Serial Monitor yang berisi karakter aneh (baud rate tidak cocok).
- Bisa mencari kesalahan logika dengan mencetak nilai di titik-titik penting.
Sebaiknya sudah belajar:
Program yang tidak error, tapi salah
Programmu berhasil diunggah tanpa pesan error. Tapi kipas tidak pernah menyala walau suhunya panas. Papan tidak punya layar. Bagaimana tahu apa yang terjadi di dalamnya?
Caranya, minta program "berbicara". Lewat kabel USB, papan bisa mengirim teks ke komputermu, dan teks itu terbaca di Serial Monitor.
Dasar Serial
Di Arduino IDE, Serial Monitor ada di menu Tools. Ada juga Serial Plotter yang menggambar angka sebagai grafik.
void setup() {
Serial.begin(115200);
Serial.println("Mulai");
}
void loop() {
int adc = analogRead(34);
Serial.print("adc = ");
Serial.println(adc);
delay(500);
} - Baris 2: Mulai komunikasi dengan kecepatan 115200 baud (baud adalah satuan kecepatan kirim data). Serial Monitor harus diatur ke angka yang sama.
- Baris 7: print mencetak tanpa pindah baris. println mencetak lalu pindah baris.
- Baris 9: Beri jeda. Tanpa jeda, ribuan baris per detik membanjiri layar.
Tebak dulu
- Serial Monitor menampilkan "⸮⸮x⸮⸮" bukan teks. Penyebab paling mungkin?
- Papan rusak
- Kecepatan baud di Serial Monitor tidak sama dengan Serial.begin
- Kabel USB terbalik
Jawaban
Kecepatan baud di Serial Monitor tidak sama dengan Serial.begin. Kedua sisi harus memakai kecepatan yang sama. Samakan, misalnya 115200 di keduanya.
Cari kesalahannya
Program ini seharusnya menyalakan kipas saat suhu di atas 30 °C. Jalankan pelan-pelan dan baca keluarannya. Di baris mana kesalahannya? Kartu terbuka setelah program selesai.
Simulasi interaktif tersedia saat JavaScript aktif.
Kesalahannya di baris 2, pembagian bilangan bulat (lihat Pemrograman: variabel dan urutan perintah). Perbaikannya, float suhu = adc * 100.0 / 4095;. Tanpa println di baris 3, kesalahan ini sangat sulit ditemukan.
Cara mencari kesalahan
Ketuk semuanya.
- Cetak masukan
- Apakah sensor terbaca benar? Cetak nilai mentahnya dulu.
- Cetak hasil antara
- Cetak setiap tahap konversi (adc, volt, suhu). Kesalahan ada di tahap pertama yang angkanya aneh.
- Cetak keputusan
- Cetak pesan di dalam if. Kalau pesannya tidak pernah muncul, kondisinya tidak pernah benar.
- Ubah satu hal setiap kali
- Kalau mengubah banyak hal sekaligus, kamu tidak tahu mana yang memperbaiki atau merusak.
- Beri label
- Serial.print("suhu = ") sebelum angkanya. Deretan angka tanpa label cepat membingungkan.
Benar atau salah?
- "Program yang berhasil diunggah tanpa error pasti benar."
- Benar
- Salah
Jawaban
Salah. Compiler (program yang menerjemahkan kodemu untuk chip) hanya memeriksa tata bahasa. Kesalahan logika seperti pembagian bulat atau = yang seharusnya == lolos tanpa peringatan.
- "Serial.println bisa dipakai saat papan tidak tersambung ke komputer."
- Benar
- Salah
Jawaban
Benar. Program tetap berjalan, teksnya hanya tidak dibaca siapa pun. Tidak merusak, tapi memakan sedikit waktu.
Selesai
- Serial.begin(115200) di setup, Serial.println untuk mencetak. Samakan baud rate.
- Cetak masukan, hasil antara, dan keputusan untuk melacak kesalahan.
- Tidak ada error bukan berarti benar.
Pancingan
Sensor analog butuh konversi dan kalibrasi. Ada sensor yang langsung mengirim angka suhu matang lewat dua kabel. Itu I2C: sensor digital (lanjutan). Atau langsung rakit pengendali suhu di materi Proyek: pengendali suhu mandiri.
Berikutnya
Referensi
- Arduino Language Reference, Serial (begin, print, println).
- Dokumentasi Arduino IDE, Serial Monitor dan Serial Plotter.
Draf AI. Belum direview manusia.
Kode materi p9 · versi 0.1 · 2026-10-06