Program sudah sangat kompleks, bahkan anda dapat mengirimkan program dengan benar ke mikrokontroler. Tapi setelah dicek ternyata jadinya begini. Lalu anda bertanya-tanya. Ko salah? Ko tidak bisa? Ko begini begitu? Tarik nafas. Buang. Tarik. Buang. Kita buka lagi sketch kita di Arduino IDE. Kita mulai dari awal lagi. Eeehhh. Haha
Program adalah proses yang paling menentukan dalam berhasil tidaknya project mikrokontroler. Apapun bentuknya. Entah yang digunakan adalah Arduino UNO, NANO, mega, atau produk lain seperti NodeMCU ESP8266, Wemos, ESP32 atau yang lainnya, program adalah kunci dari keberhasilan kalian.
Ada banyak hal yang perlu diperhatikan saat kalian membuat program di Arduino. sebelumnya, kita pahami dasarnya terlebih dahulu.
Void Setup
Void setup adalah function yang akan dibaca sekali saja saat program dijalankan. Void setup biasanya berisi kode untuk memulai, inisialisasi pin, menampilkan kata pembuka, dan bahkan untuk beberapa program, diisi terkait syarat-syarat untuk menjalankan program.
Sebagai contoh, perhatikan program berikut.
[code lang=”cpp”] Serial.begin(9600); //untuk memulai pembacaan serial untuk monitor Serial.println(“Selamat Datang”); //kata pembuka yang ditampilkan di serial monitor WiFi.begin(ssid, pass); //memulai wifi dengan mencocokkan ssid dan password while (WiFi.status() != WL_CONNECTED) { //syarat jika wifi tidak terhubung akan dituliskan titik terus delay(500); Serial.print(“.”); pinMode(button1, INPUT); //inisialisasi pin untuk button digunakan untuk input [/code] |
baca juga: Mengatasi Error Tata Bahasa Pemrograman di Arduino IDE
kira-kira seperti itulah isi dari void setup. Karena di sini akan dilakukan di awal dan tidak ada pengulangan. Maka hanya berisi hal-hal awal saja seperti yang kita sebutkan sebelumnya. Program di sini dapat dijalankan kembali ketika teman-teman menekan tombol reset atau kalian melakukan pengiriman kembali ke mikrokontroler yang kalian gunakan.
Void Loop
Function bagian ini digunakan untuk program yang akan dibaca berulang-ulang. Ingat ya, dibacanya berulang-ulang dari atas ke bawah, kemudian kembali lagi ke atas. Jadi akan selalu berurutan seperti itu hingga mikrokontroler yang anda gunakan dimatikan. Program di sini biasanya berisi terkait pembacaan sensor/tombol, mengaktifkan LED/relay, update pembacaan sensor, dan program lainnya yang harus siap siaga ketika ada perubahan baik secara program atau kondisi sensor.
sebagai contoh, perhatikan program berikut.
[code lang=”cpp”] int kondisiB1 = digitalRead(button1); //untuk membaca keadaan button ditekan atau tidak. if (kondisiB1 == HIGH && kondisiB2 == LOW) { //jika dinyalakan, maka runningLED(); } digitalWrite (LED,HIGH); //menyalakan LED selama program Serial.println(sensor); //untuk membaca sensor Delay(1000); //menunda perulangan 1 detik [/code] |
Belajar elektronika step by step dengan bantuan tangga belajar? Regitrasi dulu dan dapatkan konsultasi dari kami!
Jika teman-teman sudah merasa menguasai 2 hal di atas, maka kita bisa langsung lanjut ke perbaikan program. Kita perhatikan langkah-langkahnya ya. Jangan sampai terlewat.
- Sinkronisasi Rangkaian dengan Program.
Nah ini adalah hal yang sering terjadi. Intinya adalah gunakan pin sesuai dengan kemampuan pin tersebut dan jangan salah dalam penyebutan nama.
Kasus 1.
Jika kalian menggunakan Arduino UNO untuk membaca sensor analog, pastikan kalian menggunakan pin A dari A0 hingga A5 atau bisa juga menggunakan pin PWM yang ciri-cirinya memiliki tanda (~) di sampingnya. Kenapa? Karena sensor analog membutuhkan pembacaan yang lebih detail. Tidak hanya nol atau satu. Tapi mereka memiliki range. Jika kalian memaksakan menggunakan pin biasa, ada kemungkinan program tetap dapat diupload, namun tidak sensor tidak terbaca dengan baik.
Kasus 2.
Jika kalian menggunakan produk ESP8266, entah itu NodeMCU maupun Wemos dalam inisialisasi pin untuk variabel tertentu, gunakan sesuai nama pinnya, misal D1, D2, dan lainnya. Jika kalian menggunakan angka seperti arduino, maka itu bisa jadi bukan pin itu. Jadi memang ada perbedaan cara penulisan pin untuk ESP8266 dengan arduino. Coba cek cara pembacaannya.
Kasus 3.
Kesalahan paling klasik, yaitu salah pin. Ini simpel tapi sering terjadi. Jangan sampai kalian salah menggunaan pin. Ketika dalam program kalian menggunakan pin 2, maka masukkan juga rangkaiannya di pin 2. Ini hanya butuh ketelitian teman-teman ya.
baca juga: Pertanyaan-pertanyaan dalam Diskusi Indobot dan Solusinya
- pengecekkan program
Ketika kalian sudah merasa benar saat mengecek rangkaian dan pin yang digunakan, lanjut ke pengecekan program. Sebelumnya, kita pastikan dulu mana program yang sudah pasti benar. Nah jika kita sudah bisa upload ke mikrokontroler, maka berikut ini adalah hal yang berkemungkinan benar.
Library
Library adalah hal yang paling gampang membuat program jadi error. Hal ini dikarenakan ketika kita menggunakan library, program pasti akan ada kata-kata yang mungkin masih asing atau tidak terdeklarasi ketika library tidak ada.
Variabel
Penggunaan variabel membutuhkan tambahan seperti jenis variabel (int, string, dll). Ciri penggunaan variabel yang salah hanya memunculkan error. Jika anda sudah bisa upload, maka penamaan variabel sudah benar. TAPIII, jangan senang dulu. Variabel anda memang sudah benar, tapi bisa jadi salah penempatan loo. Nanti kita cek.
Tata bahasa
Ini pasti si. Jika kalian sudah bisa upload, tidak mungkin ada tata bahasa yang salah. Jadi jangan pusingkan diri kalian dengan melihat satu-satu semicolon, kurung kurawal atau yang lainnya. Itu buang-buang waktu gaes.
Lalu apa dong kak? Sudah hampir putus asa nih kak. Rangkaian udah sesuai sama programnya, compiling juga aman, upload juga bisa. Lalu kurang apa lagi kak?
Nahh ketika kalian merasa semuanya sudah benar maka di sinilah hal yang paling menentukan apakah di mana letak kesalahan program kalian. Kesalahannya ada pada ALGORITMA atau langkah-langkah yang kalian butuhkan untuk menyelesaikan suatu program.
Penasaran dengan apa yang namanya Algoritma? Mau tau cara menggunakan algoritma ini di dalam program arduino IDE? Tunggu di artikel selanjutnya ya.
Kamu pemula dan ingin belajar/bikin project elektronika dari nol? Ikuti program dari Indobot!
1 thought on “Program Sudah Rumit, Compiling Sudah Bisa, Tapi masih Salah, Begini Solusinya”