Selamat pagi dimanapun anda berada. Setelah lama tidak bertemu lagi di tempat ini, akhirnya, saya kembali menulis lagi. Setelah sebelumnya kita menghabiskan waktu untuk mengulik jebakan offside ( baca : Jebakan Offside, perlukah? ), kali ini kita akan menghabiskan waktu untuk bereksperimen dengan Arduino.
Oke saya paham apa yang di benak anda sekarang. Mungkin sebagian kecil dari anda mungkin merasa asing dengan frasa ‘arduino’. Jadi mungkin alangkah lebih baik apabila saya memulainya dengan ‘memperkenalkan’ dunia Arduino kepada anda sekalian.
Arduino secara umum merupakan pengendali mikro single-board (microcontroller) yang dapat diprogram/dirancang secara khusus untuk memenuhi tujuan user. Berbekal prosesor Atmel AVR serta bahasa pemrograman C sebagai bahasa utama, Arduino mampu melakukan pekerjaan elektronik yang luar biasa dalam berbagai bidang. Sifatnya yang open-source, sederhana, serta sangat terjangkau menjadikan Arduino sangat cepat berkembang hingga sebesar sekarang.
Awalnya dikembangkan di Italia oleh Hernando Barragan di tahun 2005, kini Arduino sudah digunakan tidak hanya oleh proyek kecil-kecilan saja. Pasalnya, perangkat yang diperkirakan sudah terjual hingga jutaan unit ini, dipercaya oleh perusahaan sekelas Google untuk Accessory Development Kit, atau NASA untuk protopinnya, bahkan beberapa perusahaan besar menggunakan Arduino untuk sebagai piranti pengumpul data.
Nah, pada tutorial kali ini kita akan menggunakan jenis Arduino ESP32. Arduino ESP32 bisa dibilang salah satu seri Arduino yang paling murah dan dilengkapi modul Bluetooth dan WI-FI. Arduino jenis ESP32 sendiri diciptakan dan dikembangkan oleh Espressif Systems, perusahaan asal China yang berbasis di Shanghai. Udah yuk langsung aja ke sajian utamanya langsung, kelamaan intro nih!!!
Oke teman-teman, sebelum lanjut ke sini pastikan teman-teman udah punya alat tempur nya dulu ya xixixi. Jadi yang kita butuhkan itu cuma :
- Arduino ESP32 Development Board (aku pake tipe WEMOS D1 MINI ESP32)
- Breadboard
- Kabel MicroUSB
- Laptop/PC
- ga deng cuma sampai empat aja, simpel kan xixixi…
Nah kalau misalnya udah punya alat-alat yang aku sebutin diatas, langsung terobos ajalah broo…
- Pertama, kita harus install dulu software Arduino nya yak. Buat teman-teman yang belum punya bisa diunduh disini dulu. Eits tenang aja, Arduino tersedia di berbagai jenis sistem operasi mulai dari Windows, Linux, sampai MacOS lho, jadi santai aja gan hehe…
2. Step kedua kalau udah download software Arduinonya, kita install aja dulu yuk.
3. Nah, sehabis menginstall kita setup environment nya aja dulu yak. Pertama buka Preferences (Ctrl + Comma) dulu baru cantumin link berikut di Additional Boards Manager URLs.
https://dl.espressif.com/dl/package_esp32_index.json
4. Lalu, pergi ke Tools > Board >Boards Manager . Selanjutnya cari ‘ESP32’ di kolom pencarian lalu langsung install apabila sudah mendapat.
Karena proses instalasi sudah selesai, sekarang tanpa basa-basi yuk langsung mencoba memrogram Arduino ESP32 nya.
- Masih di software Arduino. Pilih Tools >Board. Selanjutnya pilih board ESP32 yang kamu gunakan. Disini aku pakai WEMOS D1 MINI ESP32 ya. Silahkan disesuaikan dengan board yang teman-teman pakai.
2. Lalu pilih Tools > Port. Pilih port yang terpasang oleh Arduino ESP32. Untuk memastikan bisa mengecek langsung di Device Manager laptop/pc kamu. Disini aku menggunakan Port COM3
3. Selanjutnya kita akan coba melakukan Blink di Arduino ESP32nya. Nah, disini kita ga perlu capek-capek ngoding karena udah disediakan dari software Arduino langsung. Caranya cukup arahkan cursor mouse ke Files > Examples > 01. Basics > Blink.
4. Lalu muncullah suatu window baru dengan berisikan code sebagai berikut.
Sebenarnya code ini udah bisa langsung dicompile (diupload), tapi akan lebih baik kalau kita tahu dulu arti dari codenya kan?
Sketsa code di Arduino secara garis besar dibagi dua, yaitu void setup() dan void loop(). Setali tiga uang dengan pemrograman di C++ bagian setup berisikan inisialisasi variabel, menentukan mode pin, menggunakan library, dll. Fungsi setup() hanya di-run sekali yaitu saat pertama kali dihidupkan, dimasukkan perintah baru, atau direstart.
Lain halnya dengan void loop(), setelah void setup() mengintroduksi initial values, void loop() lah yang melakukan perintah-perintah yang ditulis dan melakukan hal tersebut secara berulang-ulang (loops consecutively). Selama dialiri daya, bagian void loop() akan dikerjakan terus-menerus.
Selanjutnya mari kita bahas perintah-perintah apa saja yang ada di kode di atas :
- pinMode
pinMode secara syntaks ditulis pinMode(pin, Mode) yang berarti mengkonfigurasikan perlakuan(parameter Mode) yang terjadi pada pin yang telah disetting. Kode pinMode(LED_BUILTIN, OUTPUT) sendiri berarti mengatur pin LED_BUILTIN (biasanya pin 13) sebagai luaran program.
2. digitalWrite()
digitalWrite secara sintaks ditulis digitalWrite(pin, value). Apabila parameter pin disetting sebagai output, maka value HIGH akan menghasilkan voltase 5V (atau 3.3V untuk 3.3V board) sedangkan value LOW akan menghasilkan voltase 0V(ground).
3. delay()
Mempause/ memberi jeda program selama sekian milisekon (sesuai paramater waktu). Pada program Blink, delay(1000) berarti memberi jeda selama 1000ms/1sekon.
Nah setelah code kita mengerti terus ngapain dong? Yap benar langsung upload aja yak. Caranya gimana?
Coba pandangin dulu deh menu Arduino, tebak kira-kira mana tombol buat ngeupload code nya. Ga dapet yaa? Oke coba lihat toolbar Arduino dan fokus sama dua icon awal di kiri atas.
- Tombol centang (Verify)
Fungsi tombol ini bisa dibilang untuk mengecek apakah code kita bisa di-run dengan baik oleh compiler. Biasanya kan masih ada minor/major mistake yang masih ada dalam program sehingga tombol ini membantu pengecekan tersebut.
2. Tombol panah (Upload)
Nah setelah melewati verifikasi dan hasilnya adalah code tersebut berhasil compile, langsung deh diupload code nya ke microcontroller Arduino nya.
4. Setelah diklik tombol centang, dan memang tidak ada kesalahan, yuk langsung diupload aja kodenya.
5. YUHUU!!! Akhirnya, Lampu LED di Arduino ESP32 berhasil ngeblink. Setiap 1000ms atau satu detik lampu akan hidup, lalu satu detik kemudian lampu akan mati, dan seterusnya akan mati & hidup selama satu detik.
Nah, jadi buat teman-teman, kalau misalnya LED nya berhasil hidup-mati selama 1 detik, berarti percobaan teman-teman berhasil. Selanjutnya, mungkin teman-teman bisa mengganti parameter waktu (yang 1000 tadi) dengan angka lain agar dapat melihat variasi Blink yang lain. Selamat mencoba, teman-teman. Sampai jumpa di percobaan selanjutnya yaa. Terimakasih.
Referensi :