Read more
Termometer Digital
Sebelum kita membuat termometer digital, kita akan belajar bagaimana menggunakan Serial Monitor sebagai alat untuk melihat apakah sensor menghasilkan data yang benar atau tidak. Maksudnya begini, ketika kita menggunakan sebuah sensor untuk mengambil data, maka sensor akan mengirimkan data untuk diproses oleh mikrokontroller. Untuk memastikan data dari sensor tersebut merupakan data yang benar, maka kita bisa melihatnya melalui Serial Monitor. Cara kerjanya begini:
1. Mikrokontroller akan membaca data dari sensor
2. Kemudian mikrokontroller akan membuat koneksi serial ke komputer
3. Selanjutnya mikrokontroller akan mengirimkan data ke komputer melalui komunikasi serial tersebut
4. Lalu kita bisa melihat data yang diterima oleh komputer menggunakan serial monitor, hyperterminal, atau aplikasi sejenis seperti CoolTerm dan PuTTY
Serial Monitor
Serial monitor bisa kita gunakan untuk men-debug secara software. Jika tanpa serial monitor, kita tidak bisa melakukan debug untuk aplikasi yang kita buat sehingga untuk menemukan solusinya, kita harus mendebug dari sisi hardware. Misal ketika ada error, kita akan mencoba dengan LED atau menambah/mengurangi rangkaian.
Tapi jika menggunakan serial monitor, kita akan tahu error-nya melalui data yang dikirimkan oleh Arduino. Misal ketika nyala LED terlalu lama atau terlalu pelan, kita langsung bisa mengecek nilai (angka) yang digunakan untuk delay dan semua isi variabel dalam program yang kita buat. Sehingga kita bisa menelusuri logika dan algoritma program berdasarkan data-data yang dikirimkan tadi.
Perhatikan pada board arduino, pin 0 dan 1 ada tulisan RX dan TX. Pin tersebut berfungsi untuk menerima dan mengirim data melalui komunikasi serial dari Arduino ke komputer melalui kabel USB. Untuk menggunakan komunikasi serial, kita tidak perlu menambahkan komponen tambahan pada Arduino karena pada board tersebut sudah disediakan. Kita cukup menghubungkan Arduino ke komputer, dan kita bisa langsung membuat program. Mari kita mulai dengan Sketch 5.1.
Sketch Komunikasi Serial
// Free Ebook Arduino
// www.elangsakti.com
// coder elangsakti
void setup() {
Serial.begin(9600);
Serial.println("With elangsakti.com :");
}
int number = 0;
void loop() {
Serial.print("Hello World! ");
Serial.println( number++ );
delay(1000);
}
Sebelum kita melihat hasilnya, mari kita sedikit membahas program pada Sketch 5.1.
Serial.begin(9600);
Pada baris ke-6, perintah Seril.begin(9600); berarti kita akan membuat koneksi serial dengan baud rate 9600. Sederhananya, baud berkaitan dengan jumlah bit yang akan ditransfer setiap detik. Nilai baud rate ini tergantung pada clock mikrokontroller. Arduino Uno sendiri menggunakan clock 16 MHz. Jika clock-nya makin rendah, maka baud rate harus kita kurangi. Sebagai contoh, jika kita menggunakan mikrokontroller dengan clock 1 MHz, maka baud rate yang cocok adalah 4800. Jika clock 1 MHz kita menggunakan baud rate 9600, maka data yang dikirim ke komputer tidak akan terbaca. Pada Arduino IDE, nilai baud rate default pada Serial Monitor adalah 9600. Silakan Anda coba-coba dengan mengubah nilainya sesuai pilihan yang ada.
Pada baris ke-7, awalnya Arduino akan mengirim pesan “With elangsakti.com” ketika pertama kali Arduino start. Setelah itu, Arduino akan mengirim pesan “Hello World!” dan dilanjutkan dengan angka 0, 1, 2, 3, dst. Jika Serial Monitor kita tutup dan kita buka kembali, maka Arduino seakan-akan melakukan reset program. Arduino akan kembali mengirimkan pesan “With elangsakti.com” dan angka kembali ke 0 lagi.
Serial.print("Hello World! ");
Serial.println( number++ );
Pada baris ke 12 dan 13, kita menemukan perintha print yang berbeda, yaitu print() dan println(). Jika kita menggunakan print, maka kita sekedar mengirim data tanpa diikuti end of line (perintah untuk ganti baris , atau ENTER). Jika kita menggunakan println(), maka tulisan akan diikuti perintah untuk pindah baris.
![]() |
Icon serial monitor |
Kita kembali ke board Arduino. Setelah program Sketch 5.1 diupload ke Arduino. Perhatikan board Arduino, maka LED yang berlabel TX akan berkedip. Setiap LED TX berkedip, artinya Arduino sedang mengirim data. Buka Serial Monitor dengan cara mengklik icon Serial Monitor (lihat Gambar 5.1). Jika Anda menggunakan versi Arduino IDE selain versi 1.63, mungkin letaknya berbeda.
Sebelum muncul pesan “Done Uploading”, maka Serial Monitor belum bisa dibuka. Setelah Serial Monitor dibuka, maka setidaknya Anda akan melihat pesan seperti pada Gambar 5.2.
![]() |
Tampilan serial monitor |
Tracking timeDelay
Kali ini kita akan men-tracking timeDelay dan mengirimkan pesan ke komputer bahwa LED sedang nyala atau mati. LED yang akan kita gunakan untuk percobaan adalah LED yang ada pada board Arduino yang terhubung ke pin 13, perhatikan LED dengan label “L” pada board Arduino.
Sketch Program tracking timeDelay
// Free Ebook Arduino
// www.elangsakti.com
// coder elangsakti
const int LED = 13;
int timeDelay = 3000;
void setup() {
Serial.begin(9600);
Serial.println("pin 13 as OUTPUT");
pinMode(LED, OUTPUT);
Serial.println("LED = ON, selama timeDelay = 3 detik");
digitalWrite(LED, HIGH);
delay(timeDelay);
}
void loop() {
if(timeDelay <= 100){
Serial.println("Reset timeDelay to 1000");
timeDelay = 1000;
}
Serial.println();
Serial.print("timeDelay = ");
Serial.println(timeDelay);
Serial.println("LED = OFF");
digitalWrite(LED, LOW);
delay(timeDelay);
Serial.println("LED = ON");
digitalWrite(LED, HIGH);
delay(timeDelay);
timeDelay = timeDelay - 100;
}
Program pada Sketch 5.2 merupakan contoh simpel untuk melakukan debugging, artinya kita ingin mengetahui apa yang dilakukan program dengan mengetahui setiap variabel dan bagaimana
perilaku program tersebut. Setidaknya program pada Sketch 5.2 memiliki output seperti berikut:
pin 13 as OUTPUT
LED = ON, selama timeDelay = 3 detik
timeDelay = 3000
LED = OFF
LED = ON
timeDelay = 2900
LED = OFF
LED = ON
timeDelay = 2800
LED = OFF
LED = ON
dst…
0 Reviews
Silakan dikomentari