Sebelumnya, saya bersyukur kepada Allah SWT yang telah memelihara otak dan tubuh ini, menjaga dan membuatnya mudah dalam mempelajari sebagian ciptaannya. Bersyukur karena masih diberikan kesempatan untuk berbagi tentang apa yang penulis bisa, untuk negeri ini, untuk kalian semua.
Pengenalan Arduino
Tulisan saya ini dimaksudkan agar kita yang masih pemula dalam dunia mikrokontroller dapat mengikuti dan mempelajari Arduino dengan mudah dan segera mempraktekkannya. Oleh sabab itu, saya akan membahas tentang konsep elektronik, sensor, dan bahasa pemrograman secukupnya dengan harapan Anda bisa segera praktek tanpa memikirkan konsep elektronika yang relatif rumit. Dalam setiap bahasan, saya Akan menyajikan konsep singkat dari apa yang sedang dibahas dalam bahasan tersebut. Misal, ketika kita membahas tentang rangkaian sensor suhu, maka akan dibahas pula tentang komponen sensor suhu, cara kerja, cara merangkai, dan cara memprogramnya. Hal tersebut dimaksudkan agar pembaca bisa dengan mudah mengikuti dan memahami apa yang kami sajikan serta sedikit demi sedikit mempelajari tentang elektronika (mikrokontroller) dan bahasa pemrograman.
1. Apa itu Mikrokontroller?
Dalam diskusi sehari-hari dan di forum internet, mikrokontroller sering dikenal dengan sebut µC, uC, atau MCU. Bisa dikatakan bahwa mikrokontroller adalah komputer yang berukuran mikro dalam satu chip IC (integrated circuit) yang terdiri dari processor, memory, dan antarmuka yang bisa diprogram. Jadi disebut komputer mikro karena dalam IC atau chip mikrokontroller terdiri dari CPU, memory, dan I/O yang bisa kita kontrol dengan memprogramnya. I/O juga sering disebut dengan GPIO (General Purpose Input Output Pins) yang berarti : pin yang bisa kita program sebagai input atau output sesuai kebutuhan.
Gambar 1.1 Board Arduino Uno Dalam tulisan saya ini kita akan menggunakan board Arduino Uno (Gambar 1.1). Board Arduino terdiri dari hardware / modul mikrokontroller yang siap pakai dan software IDE yang digunakan untuk memprogram sehingga kita bisa belajar dengan mudah. Kelebihan dari Arduino yaitu kita tidak direpotkan dengan rangkaian minimum sistem dan programmer karena sudah built in dalam satu board. Oleh sebab itu kita bisa fokus ke pengembangan sistem.
Gambar 1.2 Project board dan Kabel Jumper
Untuk praktek, kita akan menggunakan project board (ada yang menyebutnya dengan istilah bread board) dan beberapa kabel jumper untuk menghubungkan antara komponen dan Arduino (Gambar 1.2). Dengan project board kita tidak perlu menyolder rangkaian sehingga relatif mudah dan cepat dalam merangkai. Project board memungkinkan kita untuk membangun dan membongkar rangkaian dengan cepat sehingga sangat cocok untuk eksperimen. Tapi jika kita ingin membuat
rangkaian yang permanen, maka kita harus menggunakan PCB.
Gambar 1.3 Peta jalur pada project board
Yang terpenting adalah, kita harus memahami jalur-jalur pada project board. Project board terdiri dari jalur vertikal dan jalur horisontal. Jalur vertikal ada di bagian tengah yang terdiri dari 2 x 64 jalur. Masing-masing jalur terdiri dari 5 titik vertikal, misal jalur 1A-1B-1C1D-1E dan jalur 1F-1G-1H-1I-1J yang kedua tidak saling tersambung. Jalur horisontal sebanyak 8 jalur, 4 jalur ada di bagian atas dan 4 jalur lagi di bagian bawah. Jalur ini bisa digunakan untuk power supply (VCC dan GND) untuk rangkaian. Untuk lebih jelasnya, silakan perhatikan Gambar 1.3. Garis merah menunjukkan bahwa lubang tersebut terhubung secara fisik.
2. Instalasi Arduino IDE
Anda bisa mendownload Arduino IDE di website arduino.cc Pada saat tulisan ini dibuat (05/01/2023), Arduino IDE sudah versi 1.8.19. Software Arduino ada yang versi installer (hanya untuk Windows) dan versi terkompres dalam zip. Jika memilih versi tanpa install (format .zip), maka Anda hanya perlu mengekstraknya di folder mana saja dan Anda bisa langsung menjalankannya.Jika Anda pengguna Linux, maka sedikit tantangan untuk Anda karena proses instalasi tidak semudah instalasi di Windows dan Mac. Panduan untuk menginstall di Linux bisa Anda pelajari di bagian instalasi Linux. Sedangkan untuk pengguna Windows dan Mac, Anda bisa menginstall dengan mengikuti instruksi dalam tulisan ini.
2.1 Instalasi di Windows
- Pasang board Arduino Anda ke port USB pada komputer atau laptop, kemudian tunggu hingga Windows mencoba untuk menginstall driver sendiri. Biasanya dia gagal menginstall driver jika belum memiliki driver tersebut. (Silakan lanjutkan ke step berikutnya)
- Jika berhasil, berarti instalasi selesai. Tapi jika gagal, lanjutkan ke step selanjutnya.
- Anda harus install dari device manager. Untuk masuk ke device manager, Anda bisa melakukannya dengan dua cara
Gambar 2.1.1 Posisi tombol Windows
- Tekan tombol ("Windows" + R) secara bersamaan. Tombol "Windows" adalah tombol pada keyboard dengan logo Windows (gambar logo windows, biasanya terletak di sebelah kiri atau kanan spasi, lihat Gambar 1.4). Setelah Anda menekan tombol "Windows" + R, maka akan muncul "Run", ketikkan "devmgmt.msc" (tanpa tanda petik), kemudian tekan tombol ENTER. Jika benar, maka akan muncul window Device Manager.
Gambar 2.1.2 Window yang muncul setelah menekan (Windows + R)
- Jika Device Manager Anda sudah keluar, Anda bisa lanjut ke point 4, jika tidak, coba cara berikut untuk menampilkan device manager
- Klik Start - pilih Control Panel. Di dalam Control Panel, pilih System and Security, lalu pilih System. Selanjutnya pilih Device Manager.
Gambar 2.1.3 Tampilan Device Manager
4. Pada Device Manager, perhatikan bagian Ports (COM & LPT),akan muncul device baru dengan nama "Arduino UNO(COMxx)"
5. Klik kanan pada "Arduino UNO (COMxx)", kemudian pilih"Update Driver Software".
6. Selanjutnya pilih "Browse my computer for Driver software".
7. Cara folder software Arduino Anda, kemudian cari filearduino.inf (khusus untuk Arduino UNO REF.3) pada folder Drivers. Jika Anda menggunakan versi IDE di bawah 1.0.3,Anda bisa memilih driver dengan nama file ArduinoUNO.inf
8. Jika berhasil, berarti instalasi driver sudah selesai. Jika belum,silakan Anda tanya-tanya di komentar
9. Selanjut mari kita coba untuk mengupload sampel code yang ada pada software Arduino
10. Jalankan Aplikasi Arduino (arduino.exe), pada pojok kananbawah akan ada tulisan "Arduino UNO on COMxx". Berarti port yang digunakan Arduino adalah COMxx, jika tulisan
tersebut tidak muncul, berarti instalasi driver belum berhasil atau board Arduino belum disambungkan ke komputer. Selanjutnya, silakan buka sampel led flip-flop dengan cara Klik
menu File > Examples > 1.Basic > Blink
11. Setting board Arduino dengan cara : Klik menu Tools > Board> Arduino UNO
12. Pilih port yang digunakan Arduino dengan cara mengklik menu Tools > Ports > (pilih yang ada Arduino-nya)
13. Klik tombol upload (tombol denga panah ke kanan)
14. Setelah berhasil diupload, akan muncul tulisan "Done uploading" di bagian bawah. Jika berhasil, maka LED dengan tulisan "L" pada board Arduino akan kelap-kelip. Pasang board Arduino melalui USB
- Ekstrak aplikasi ke hardisk
- Ketika muncul Network Preferences, klik "Apply" (ingat /dev/tty/usb)
- Jalankan aplikasi
- Bukan sampel aplikasi pada menu File > Example > 1.Basics > Blink
- Pilih Arduino Uno pada menu Tools > Board
- Pilih Port yang yang digunakan Arduino pada menu Tools > Ports
- Klik tombol upload (tombol dengan panah ke kanan)
- Setelah muncul pesan "Done Uploading", maka led "L" pada
- board Arduino akan berkedip.
3. Arduino IDE
Untuk memprogram board Arduino, kita butuh aplikasi IDE(Integrated Development Environment) bawaan dari Arduino. Aplikasi ini berguna untuk membuat, membuka, dan mengedit source code Arduino (Sketches, para programmer menyebut source code arduino dengan istilah "sketches"). Selanjutnya, jika kita menyebut source code yang ditulis untuk Arduino, kita sebut "sketch" juga ya :). Sketch merupakan source code yang berisi logika dan algoritma yang akan diupload ke dalam IC mikrokontroller (Arduino).
Gambar 3 Interface Arduino IDE
Interface Arduino IDE tampak seperti gambar 3 Dari kiri ke kanan dan atas ke bawah, bagian-bagian IDE Arduino terdiri dari:
- Verify : pada versi sebelumnya dikenal dengan istilah Compile. Sebelum aplikasi diupload ke board Arduino, biasakan untuk memverifikasi terlebih dahulu sketch yang dibuat. Jika ada kesalahan pada sketch, nanti akan muncul error. Proses Verify / Compile mengubah sketch ke binary code untuk diupload ke mikrokontroller.
- Upload : tombol ini berfungsi untuk mengupload sketch ke board Arduino. Walaupun kita tidak mengklik tombol verify, maka sketch akan di-compile, kemudian langsung diupload ke board. Berbeda dengan tombol verify yang hanya berfungsi untuk memverifikasi source code saja.
- New Sketch : Membuka window dan membuat sketch baru
- Open Sketch : Membuka sketch yang sudah pernah dibuat. Sketch yang dibuat dengan IDE Arduino akan disimpan dengan ekstensi file .ino
- Save Sketch : menyimpan sketch, tapi tidak disertai mengcompile.
- Serial Monitor : Membuka interface untuk komunikasi serial, nanti akan kita diskusikan lebih lanjut pada bagian selanjutnya
- Keterangan Aplikasi : pesan-pesan yang dilakukan aplikasi akan muncul di sini, misal "Compiling" dan "Done Uploading" ketika kita mengcompile dan mengupload sketch ke boardArduino
- Konsol : Pesan-pesan yang dikerjakan aplikasi dan pesan-pesan tentang sketch akan muncul pada bagian ini. Misal, ketika aplikasi mengcompile atau ketika ada kesalahan pada sketch yang kita buat, maka informasi error dan baris akan diinformasikan di bagian ini.
- Baris Sketch : bagian ini akan menunjukkan posisi baris kursor yang sedang aktif pada sketch.
- Informasi Port : bagian ini menginformasikan port yang dipakah oleh board Arduino.
4. Rangkaian LED Pertama
Ketika belajar pemrogaman, program pertama yang harus dicoba pertama kali adalah memunculkan pesan "Hello World!". Dalam belalajar mikrokontroller ternyata juga ada, yang pertama kali harus dibuat adalah membuat lampu LED berkedip, LED berkedip maksudnya adalah flip-flop, hehe.
LED merupakan kependekan dari Light Emiting Diode, yaitu diode yang mampu mengubah listrik menjadi cahaya. Sebagaimana sifat diode, lampu LED memiliki kaki positif dan negatif. Sehingga pemasangannya tidak boleh terbaik, jika dipasang terbalik maka tidak akan ada arus yang mengalir dan LED pun tidak akan menyala.
Arduino bekerja pada tegangan 5-12 volt dengan arus yang relatif besar yang sanggup memutuskan LED. Sehingga jika kita ingin menyambungkan LED, maka kita butuh tahanan (resistor) untuk membatasi arus yang masuk ke LED. LED memiliki tegangan kerja yang disebut dengan forward voltage (fv) yang mana tegangan ini adalah tegangan yang dibutuhkan LED untuk bisa menyala dengan baik.
Ukuran resistor yang bisa dipakai adalah 100Ω hingga 1KΩ (Ω dibaca ohm, satuan dari resistansi/hambatan), makin besar nilai resistor maka nyala LED akan semakin redup. Pada Arduino, tegangan yang keluar dari pin-pinnya adalah 0-5 volt. Sementara catu daya
untuk Arduino antara 5-12 volt. Oleh sebab itu, pemilihan resistor
tergantung tegangan mana yang akan kita gunakan.
Rangkaian 1.1 Percobaan LED
Silakan buatlah Rangkaian 1.1 dengan langkah-langkah sebagai
berikut:
- Pasang kaki positif LED di G4 dan kaki negatifnya di G3,
- Setelah itu, hubungkan salah satu kaki resistor pada lubang J3, kemudian kaki satunya ke lubang di kolom pertama dari kanan,
- Ambil kabel jumper, lalu sambungkan lubang J4 ke lubang di kolom kedua dari kanan,
- Ambil kabel jumper, sambungkan salah satu lubang di kolom pertama ke socket GND pada board Arduino,
- Ambil kabel jumper, sambungkan salah satu lubang di kolom kedua ke socket 5V di board Arduino
- Hubungkan USB Arduino ke komputer/laptop.
- Selamat! Anda sudah membuat rangkaian pertama Anda dengan Arduino.
Jika Anda memasangnya dengan benar, maka LED akan menyala.
Jika tidak, mungkin kaki dipasang terbalik, silakan diperbaiki.
5. Program Pertama Anda
Program pertama Anda adalah membuat kedipan LED. Untuk itu, yang pertama harus Anda lakukan adalah mengubah Rangkaian 1.1, setelah itu Anda bisa membuat program pada Arduino IDE. Logika
untuk program pertama seperti berikut:
Kedipan LED (hidup-matinya LED) akan dikontrol oleh salah satu
kaki Arduino (kita pilih kaki/pin 8). Dengan demikian, logika pada
pin 8 akan menjadi output untuk mengontrol LED. Ingat, logika 1
berararti LED akan nyala, logika 0 berarti LED mati.
5.1 Update Rangkaian Anda
Rubahlah rangkaian Anda sehingga tampak seperti Rangkaian 1.2.
Kabel jumper dari 5V ke kolom pertama dilepas. Kemudian kabel di
kolom kedua dilepas dan disambungkan ke pin 8 pada board Arduino.
Rangkaian 1.2 Rangkaian LED Berkedip
5.2 Program untuk LED Berkedip
Ketika Anda pertama kali membuka Arduino IDE, maka secara
otomatis akan muncul sketch seperti berikut:
Sketch 1.1 Sketch minimal Arduino
void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
}
Fungsi setup() dan fungsi loop() merupakan fungsi wajib dan harus ada. Fungsi setup() digunakan untuk inisialisasi program, fungsi ini hanya dijalankan sekali yaitu ketika program pertama kali dijalankan (ketika arduino pertama kali dihidupkan). Sedangkan fungsi loop() akan dijalankan terus-menerus (looping forever) hingga Arduino dimatikan.
Program di atas sudah bisa diupload ke Arduino dengan cara meng-klik tombol Upload. Hanya saja, ketika program tersebut diupload, Arduino tidak akan melakukan apa-apa sebab dalam sketch tersebut memang tidak ada perintah yang harus dikerjakan.
Dalam tulisan ini, jika ada sketch yang harus Anda coba, maka kami akan menampilkan sketch terlebih dahulu, setelah itu akan kami jelaskan fungsi dan logika dari sketch tersebut. Untuk mengawali primordial dalam belajar mikrokontroller, maka Anda harus mencoba sketch ini.
Berikut ini adalah sketch untuk membuat kedipan LED.
Sketch 1.2 LED Berkedip
const int pinLED = 8;
void setup() {
pinMode(pinLED, OUTPUT);
}
void loop() {
digitalWrite(pinLED, HIGH);
delay(500);
digitalWrite(pinLED, LOW);
delay(500);
}
Baik, mari kita ulas satu-persatu baris-baris sketch 1.2.
const int pinLED = 8;
Nama-nama pin pada Arduino sama seperti yang tertera di board.
Pada salah satu sisi board, nama-nama pinnya adalah 0 hingga 13,
kemudian di sisi lain nama-nama pinnya A0 hingga A5, dst. Perintah diatas artinya : Variabel pinLED merupakan konstanta dalam
bentuk integer yang merujuk pada pin 8 board Arduino.
Tolong diingat baik-baik, untuk kemudahan dalam memprogram,
sebaiknya inisialisasi pin-pin dijadikan konstanta dan ditentukan di
awal program. Sehingga, misal ketika kita ingin mengubah pin yang
akan dirujuk, kita tidak akan kesusahan. Kita tinggal mengubah nilai
dari variabel pin tersebut, maka kita tidak perlu langi mengubah
variabel lainnya.
void setup() {
pinMode(pinLED, OUTPUT);
}
Fungsi pinMode() memberi tahu bahwa pinLED adalah Output.
Dengan demikian mikrokontroller tidak akan “membaca” logika pin
tersebut, akan tetapi dia hanya akan “menulis” logika pada pin tersebut.
Dengan kata lain, jika kita ingin mendefinisikan bahwa pin ini adalah
input, maka kita tinggal mengubah OUTPUT menjadi INPUT.
void loop() {
digitalWrite(pinLED, HIGH);
delay(500);
digitalWrite(pinLED, LOW);
delay(500);
}
Baris ini adalah inti dari program yang akan dieksekusi selama
Arduino tersambung dengan listrik atau selama Arduino tidak direset.
pinLED diset HIGH berarti LED akan diberi tegangan 5 volt,
sedangkan LOW berarti LED akan diberi tegangan 0 volt. Oleh sebab
itu, rangkaian LED di atas akan menyala ketika diberi HIGH dan akan
mati ketika diberi LOW.
Fungsi delay() digunakan untuk berhenti selama sekian milidetik.
Karena 1 detik = 1000 milidetik, maka pemberian nilai 500 berarti
Arduino akan jeda selama ½ detik ketika LED nyala dan ½ detik ketika
LED padam. Lalu bagaimana jika program yang Anda coba tidak
berjalan dan error? Begini, ada beberapa yang perlu diperhatikan ketika
Anda memprogram:
- Penulisan sketch itu case sensitive, artinya, tulisan “pinLED” tidak sama dengan “PinLED”. Jika terjadi error, coba perhatikan apakah ada penulisan yang keliru?
- Jika Anda copy-paste sketch dari file PDF ke Arduino IDE, maka kemungkinan akan ada perubahan whitespace (spasi, tab, blank line). Jika spasi tergantikan denan karakter tab atau blank line, maka sketch akan error. Silakan Anda cek setiap spasi, jika ukuran space-nya berbeda dengan spasi yang lain, silakan dihapus dan ganti dengan spasi.
- Setiap blok kode harus diapit dengan kurung kurawal „{‟ dan „}‟. Jika kurungnya kurang satu, maka akan error.
- Setiap ada kurung buka „(‟, harus ada kurung tutup „)‟. Jadi jika ternyata kurungnya kurang, itu bisa menyebabkan error.
- Penulisan angka tanpa embel-embel koma. Misal Anda ingin menulis 1000, maka tidak perlu menulis dengan 1,000 atau 1.000. Penulisan dengan 1,000 akan terjadi error, sedangkan jika Anda menulis dengan 1.000 akan dianggap 1, bukan 1000.
- Setiap baris kode akan ditutup dengan titik koma (semicolon) „;‟, kecuali di akhir blokkode yang ditutup dengan kurung kurawal „}‟.
6. Menambah Keterangan pada Sketch
Dalam membuat kode program, kita kadang butuh untuk menyisipkan keterangan tambahan pada fungsi kode tersebut. Misal, keterangan fungsi, keterangan pin, atau keterangan lainnya.
Pada Arduino, komentar bisa kita sisipkan dengan dua cara:
- Menggunakan double slash “//”, cara ini hanya bisa digunakan perbaris. Jadi jika banyak baris yang ingin kita jadikan komentar, Anda bisa menggunakan cara yang kedua. Contoh
// ini komentar
// ini komentar lagi
// ini juga komentar
- Menggunakan pembuka “/*” dan penutup “*/”
/* ini komentar
ini komentar lagi/*
/* ini juga komentar/*
Jadi, jika sketch kedipan led tadi kita tambahin keterangan untuk
setiap baris kodenya, maka setidaknya akan seperti ini.
Sketch 1.3 Contoh Sketch dengan komentar
/*
Program untuk membuat LED berkedip
½ detik nyala ½ detik mati
*/
// inisialisasi pin untuk mengontrol LED, yaitu pin 8
const int pinLED = 8;
/*
Bagian ini akan dieksekusi sekali ketika Arduino pertama kali
Dinyalakan atau ketika Arduino direset
*/
void setup() {
// pin 8 diset sebagai OUTPUT
pinMode(pinLED, OUTPUT);
}
/*
Bagian ini akan dieksekusi selama listrik tersambung Atau arduino tidak direset
*/
void loop() {
// nyalakan LED
digitalWrite(pinLED, HIGH);
// delay 500 milisekon / ½ detik
delay(500);
// matikan LED
digitalWrite(pinLED, LOW);
// delay selama 500 milisekon / ½ menit
delay(500);
}
Demikian untuk pengenalan singkat tentang Arduino, merakit
komponen dengan peoject board, dan membuat program sederhana
LED berkedip. Silakan lakukan improvisasi rangkaian tersebut
sehingga lebih paham dan lebih nyaman menggunakan project board.
Selanjutnya, kita akan lebih mendalami beberapa perintah dasar dan
fungsi-fungsi logika untuk membuat program Arduino.
Salam semangat! 😊
Belum ada tanggapan untuk "Langsung Bisa , Belajar Arduino Untuk Pemula dari 0 Lengkap dasar "
Posting Komentar