ARDUINO
INFOARDUINO
Authored by: Hendi Santoso, M.Si
1
Bagian 1
Pengenalan Arduino
1.1 Pengertian Arduino
Menurut Arduino.cc:
Arduino is an open-source electronics prototyping platform based on flexible, easy-to-
use hardware and software. It’s intended for artists, designers, hobbyists, and anyone
interested in creating interactive objects or environments.
Arduino adalah pengendali mikro single-board yang bersifat open-source, dirancang
untuk memudahkan penggunaan elektronik dalam berbagai bidang. Hardware dalam arduino
memiliki prosesor Atmel AVR dan menggunakan software dan bahasa sendiri.
Mikrokontroler itu sendiri adalah chip atau IC (integrated circuit) yang bisa diprogram
menggunakan komputer. Tujuan menanamkan program pada mikrokontroler adalah agar
rangkaian elektronik dapat membaca input, memproses input tersebut dan kemudian
menghasilkan output sesuai yang diinginkan. Jadi mikrokontroler bertugas sebagai ‘otak’ yang
mengendalikan input, proses dan output sebuah rangkaian elektronik.
Arduino Uno adalah salah satu produk berlabel arduino yang sebenarnya adalah suatu
papan elektronik yang mengandung mikrokontroler ATMega328 (sebuah keping yang secara
fungsional bertindak seperti sebuah komputer). Piranti ini dapat dimanfaatkan untuk
mewujudkan rangkaian elektronik dari yang sederhana hingga yang kompleks. Pengendalian
LED hingga pengontrolan robot dapat diimplementasikan dengan menggunakan papan
berukuran relatif kecil ini. Bahkan dengan penambahan komponen tertentu, piranti ini bisa
dipakai untuk pemantauan kondisi lingkungan baik lingkungan udara ataupun perairan.
Tabel 1.1 Spesifikasi Arduino
Mikrokontroler ATmega328
Tegangan pengoperasian 5V
Tegangan input yang
disarankan 7-12V
Batas tegangan input 6-20V
14 (6 di antaranya menyediakan
Jumlah pin I/O digital keluaran PWM)
Jumlah pin input analog 6
Arus DC tiap pin I/O 40 mA
Arus DC untuk pin 3.3V 50 mA
32 KB (ATmega328), sekitar 0.5 KB
Memori Flash digunakan oleh bootloader
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Clock Speed 16 MHz
Gambar 1.2.2 Pilihan Just Download atau Contribute & Download untuk donasi.
Setelah selesai download silahkan buka dengan klik kiri dua kali atau klik kanan open
kemudian akan muncul License Agreement atau Persetujuan Instalasi, klik tombol
”IAgree” untuk memulai install software Arduino IDE.
Upload
Berfungsi untuk melakukan kompilasi program atau kode yang kamu buat menjadi
bahsa yang dapat dipahami oleh mesih alias si Arduino.
New
berfungsi untuk membuat Sketch baru
Open
Berfungsi untuk membuka sketch yang pernah kamu buat dan membuka kembali
untuk dilakukan editing atau sekedar upload ulang ke Arduino.
Save
Berfungsi untuk menyimpan Sketch yang telah kamu buat.
Serial Monitor
Berfungsi untuk membuka serial monitor. Serial monitor disini merupakan jendela
yang menampilkan data apa saja yang dikirimkan atau dipertukarkan antara
arduino dengan sketch pada port serialnya. Serial Monitor ini sangat berguna
sekali ketika kamu ingin membuat program atau melakukan debugging tanpa
menggunakan LCD pada Arduino. Serial monitor ini dapat digunakan untuk
menampilkan nilai proses, nilai pembacaan, bahkan pesan error.
Edit
Undo/Redo, berfungsi untuk mengembalikan perubahan yang sudah dilakukan pada
Sketch beberapa langkah mundur dengan Undo atau maju dengan Redo.
Cut, berfungsi untuk meremove teks yang terpilih pada editor dan menempatkan teks tersebut
pada clipboard.
Copy, berfungsi menduplikasi teks yang terpilih kedalam editor dan menempatkan teks tersebut
pada clipboard.
Copy for Forum, berfungsi melakukan copy kode dari editor dan melakukan formating agar
sesuai untuk ditampilkan dalam forum, sehingga kode tersebut bisa digunakan sebagai bahan
diskusi dalam forum.
Copy as HTML, berfungsi menduplikasi teks yang terpilih kedalam editor dan menempatkan
teks tersebut pada clipboard dalam bentuk atau format HTML. Biasanya ini digunakan agar
code dapat diembededdkan pada halaman web.
Paste, berfungsi menyalin data yang terdapat pada clipboard, kedalam editor.
Select All, berfungsi untk melakukan pemilihan teks atau kode dalam halaman editor.
Comment/Uncomment, berfungsi memberikan atau menghilangkan tanda // pada kode atau
teks, dimana tanda tersebut menjadikan suatu baris kode sebagai komen dan tidak disertakan
pada tahap kompilasi.
Increase/Decrease Indent, berfunsgi untuk mengurangi atau menambahkan indetntasi pada
baris kode tertentu. Indentasi adalah “tab”.
Find, berfungsi memanggil jendela window find and replace, dimana kamu dapat
menggunakannya untuk menemukan variabel atau kata tertentu dalam program atau
menemukan serta menggantikan kata tersebut dengan kata lain.
Find Next, berfungsi menemukan kata setelahnya dari kata pertama yang berhasil ditemukan.
Sketch
Verify/Compile, berfungsi untuk mengecek apakah sketch yang kamu buat ada kekeliruan dari
segi sintaks atau tidak. Jika tidak ada kesalahan, maka sintaks yang kamu buat akan dikompile
kedalam bahasa mesin.
Upload, berfunsi mengirimkan program yang sudah dikompilasi ke Arduino Board.
Uplad Using Programmer, menu ini berfungsi untuk menuliskan bootloader kedalam IC
Mikrokontroler Arduino. Pada kasus ini kamu membutuhkan perangkat tambahan
seperti USBAsp untuk menjembatani penulisan program bootloader ke IC Mikrokontroler.
Export Compiled Binary, berfungsi untuk menyimpan file dengan ekstensi .hex, dimana file
ini dapat disimpan sebagai arsip untuk di upload ke board lain menggunakan tools yang
berbeda.
Show Sketch Folder, berfungsi membuka folder sketch yang saat ini dikerjakan.
Include Library, berfunsi menambahkan library/pustaka kedalam sketch yang dibuat dengan
menyertakan sintaks #include di awal kode. Selain itu kamu juga bisa menambahkan library
eksternal dari file .zip kedalam Arduino IDE.
Add File…, berfungsi untuk menambahkan file kedalam sketch arduino (file akan dikopikan
dari drive asal). File akan muncul sebagai tab baru dalam jendela sketch.
Tools
Auto Format, berfungsi melakukan pengatran format kode pada jendela editor
Archive Sketch, berfungsi menyimpan sketch kedalam file .zip
Fix Encoding & Reload, berfungsi memperbaiki kemungkinan perbedaan antara pengkodean
peta karakter editor danpeta karakter sistem operasi yang lain.
Serial Monitor, berungsi membuka jendela serial monitor untuk melihat pertukaran data.
Board, berfungsi memilih dan melakukan konfigurasi board yang digunakan.
Port, memilih port sebbagai kanal komunikasi antara software dengan hardware.
Programmer, menu ini digunakan ketika kamu hendak melakukan pemrograman chip
mikrokontroller tanpa menggunakan koneksi Onboard USB-Serial. Biasanya digunakan pada
proses burning bootloader.
Burn Bootloader, mengizinkan kamu untuk mengkopikan program bootloader kedalam IC
mikrokontroler
Sketchbook
dimana setup() adalah bagian untuk inisialisasi yang hanya dijalankan sekali di awal program,
sedangkan loop() untuk mengeksekusi bagian program yang akan dijalankan berulang-ulang
untuk selamanya.
Setup()
Fungsi setup() hanya di panggil satu kali ketika program pertama kali dijalankan. Ini digunakan untuk
pendefinisikan mode pin atau memulai komunikasi serial. Fungsi setup() harus di ikut sertakan dalam
program walaupun tidak ada statement yang dijalankan.
Loop ()
Setelah menjalankan fungsi setup() maka secara langsung akan melakukan
fungsi loop() secara berurutan dan melakukan instruksi-instruksi yang ada dalam
fungsi loop() terus menerus.
{ }(kurung kurawal)
Digunakan untuk mendefinisikan kapan blok program mulai dan berakhir (digunakan
juga pada fungsi dan pengulangan).
;(titk koma)
Setiap baris kode harus diakhiri dengan tanda titik koma (jika ada titik koma yang
hilang maka program tidak akan bisa dijalankan).
Dalam menggunakan operan aritmatik harus hati-hati dalam menentukan tipe data yang
digunakan jangan sampai terjadi overflow range data.
Comparison
Statement ini membadingkan dua variable dan apabila terpenuhi akan bernilai 1 atau true.
Statement ini banyak digunakan dalam operator bersyarat.
Logic operator
Operator logical digunakan untuk membandingkan dua expresi dan mengembalikan nilai
balik benar atau salah tergantung dari operator yang digunakan. Terdapat 3 operator logical
AND,OR, dan NOT, yang biasanya digunakan pada if statement.
Contoh penggunaan:
true/false
Merupakan konstanta Boolean yang mendifinisikan logic level. False dapat
didefinisikan sebagai 0 dan True sebagai 1.
high/low
Konstanta ini digunakan untuk menentukan kondisi pin pada level HIGH atau LOW
ketika membaca dan menulis dari/ke pin digital. HIGH didefinisikan sebagai logic 1, ON, atau
5 volt sedangkan LOW sebagai logic 0, OFF, atau 0 volt.
input/output
Konstanta ini digunakan dengan fungsi pinMode() untuk mendifinisikam mode pin digital,
sebagai INPUT atau OUTPUT.
for
Operator for digunakan untuk mengulang blok statement di dalam bracket, beberapa kali sesuai
dengan jumlah yang ditentukan. Setiap for() loop mempunyai tiga parameter dan dipisahkan menggunakan
titik koma (;):
Contoh penggunaan:
3.1 Resistor
Resistor adalah komponen elektronika dua saluran yang didesain untuk menahan arus
listrik dengan memproduksi penurunan tegangan di antara kedua salurannya sesuai dengan arus
yang mengalirinya. Resistor dapat diumpamakan dengan sebuah papan yang digunakan untuk
menahan aliran air yang deras di parit kecil. Dengan adanya tahanan papan ini, maka arus air
menjadi terhambat alirannya. Makin besar papan yang dipergunakan untuk menahan air parit,
makin kecil air yang mengalir. Begitu pula peran resistor dalam elektronika, makin besar
resistansi (nilai tahanan), makin kecil arus dan tegangan listrik yang melaluinya. Satuan resistor
adalah Ohm (simbol: Ω).
LED memiliki dua kaki yang terbuat dari sejenis kawat. Kawat yang panjang adalah
anoda, sedangkan kawat yang pendek adalah katoda. Coba perhatikan bagian dalam LED, akan
terlihat berbeda antara kiri dan kanannya. Yang ukurannya lebih besar adalah katoda, atau yang
mempunyai panjang sisi atas yang lebih besar adalah katoda.
Anoda adalah elektroda, bisa berupa logam maupun penghantar listrik lainnya pada sel
elektrokimia yang terpolarisasi jika arus mengalir ke dalamnya. Arus listrik mengalir
berlawanan dengan arah pergerakan elektron. Katoda merupakan kebalikan dari anoda. Katoda
adalah elektroda dalam sel elektrokimia yang terpolarisasi jika arus listrik mengalir keluar
darinya.
Struktur utama dioda adalah dua buah kutub elektroda berbahan konduktor yang
masing-masing terhubung dengan semikonduktor silikon jenis p dan silikon jenis n. Anoda
adalah elektroda yang terhubung dengan silikon jenis p dimana elektron yang terkandung lebih
sedikit, dan katoda adalah elektroda yang terhubung dengan silikon jenis n dimana elektron
yang terkandung lebih banyak. Pertemuan antara silikon n dan silikon p akan membentuk suatu
perbatasan yang disebut P-N Junction.
Material semikonduktor yang digunakan umumnya berupa silikon atau germanium.
Adapun semikonduktor jenis p diciptakan dengan menambahkan material yang memiliki
elektron valensi kurang dari 4 (Contoh: Boron) dan semikonduktor jenis n diciptakan dengan
menambahkan material yang memiliki elektro valensi lebih dari 4 (Contoh: Fosfor).
3.4 Potensiometer
Potensiometer (POT) adalah salah satu jenis Resistor yang Nilai Resistansinya dapat
diatur sesuai dengan kebutuhan Rangkaian Elektronika ataupun kebutuhan pemakainya.
Potensiometer merupakan Keluarga Resistor yang tergolong dalam Kategori Variable Resistor.
Secara struktur, Potensiometer terdiri dari 3 kaki Terminal dengan sebuah shaft atau tuas yang
berfungsi sebagai pengaturnya. Gambar dibawah ini menunjukan Struktur Internal
Potensiometer beserta bentuk dan Simbolnya.
Jenis-jenis Potensiometer
Berdasarkan bentuknya, Potensiometer dapat dibagi menjadi 3 macam, yaitu :
1. Potensiometer Slider, yaitu Potensiometer yang nilai resistansinya dapat diatur dengan
cara menggeserkan Wiper-nya dari kiri ke kanan atau dari bawah ke atas sesuai dengan
pemasangannya. Biasanya menggunakan Ibu Jari untuk menggeser wiper-nya.
2. Potensiometer Rotary, yaitu Potensiometer yang nilai resistansinya dapat diatur
dengan cara memutarkan Wiper-nya sepanjang lintasan yang melingkar. Biasanya
menggunakan Ibu Jari untuk memutar wiper tersebut. Oleh karena itu, Potensiometer
Rotary sering disebut juga dengan Thumbwheel Potentiometer.
3. Potensiometer Trimmer, yaitu Potensiometer yang bentuknya kecil dan harus
menggunakan alat khusus seperti Obeng (screwdriver) untuk memutarnya.
Potensiometer Trimmer ini biasanya dipasangkan di PCB dan jarang dilakukan
pengaturannya.
Fungsi-fungsi Potensiometer
Dengan kemampuan yang dapat mengubah resistansi atau hambatan, Potensiometer
sering digunakan dalam rangkaian atau peralatan Elektronika dengan fungsi-fungsi sebagai
berikut :
1. Sebagai pengatur Volume pada berbagai peralatan Audio/Video seperti Amplifier,
Tape Mobil, DVD Player.
2. Sebagai Pengatur Tegangan pada Rangkaian Power Supply
3. Sebagai Pembagi Tegangan
4. Aplikasi Switch TRIAC
5. Digunakan sebagai Joystick pada Tranduser
6. Sebagai Pengendali Level Sinyal
Sebagai device penghubung atau pemutus, push button switch hanya memiliki 2
kondisi, yaitu On dan Off (1 dan 0). Istilah On dan Off ini menjadi sangat penting karena semua
perangkat listrik yang memerlukan sumber energi listrik pasti membutuhkan kondisi On dan
Off.
Karena sistem kerjanya yang unlock dan langsung berhubungan dengan operator, push
button switch menjadi device paling utama yang biasa digunakan untuk memulai dan
mengakhiri kerja mesin di industri. Secanggih apapun sebuah mesin bisa dipastikan sistem
Berdasarkan fungsi kerjanya yang menghubungkan dan memutuskan, push button switch
mempunyai 2 tipe kontak yaitu NC (Normally Close) dan NO (Normally Open).
NO (Normally Open), merupakan kontak terminal dimana kondisi normalnya terbuka
(aliran arus listrik tidak mengalir). Dan ketika tombol saklar ditekan, kontak yang NO ini
akan menjadi menutup (Close) dan mengalirkan atau menghubungkan arus listrik. Kontak
NO digunakan sebagai penghubung atau menyalakan sistem circuit (Push Button ON).
NC (Normally Close), merupakan kontak terminal dimana kondisi normalnya tertutup
(mengalirkan arus litrik). Dan ketika tombol saklar push button ditekan, kontak NC ini akan
menjadi membuka (Open), sehingga memutus aliran arus listrik. Kontak NC digunakan
sebagai pemutus atau mematikan sistem circuit (Push Button Off).
digitalRead(pin)
Membaca nilai dari pin yang kita kehendaki dengan hasil HIGH atau LOW.
digitalWrite(pin, value)
Digunakan untuk mengeset pin yang kita kehendaki dalam kondisi level
tegangan HIGH atau LOW (nyala atau mati). Pin digital arduino mempunyai 14 ( 0 – 13 ).
Koding
Koding
Upload kode program. Pastikan Kamu sudah mengeset board dengan Arduino Uno dan
memilih port yang sesuai dengan koneksi USBmu. Setelah proses upload berhasil, buka
jendela Serial Monitor dengan memilih menu Tools > Serial Monitor atau mengklik
tombol Serial Monitor yang ada di sebelah kanan atas jendela Arduino IDE. Kamu dapat
mengamati nilai analog yang masuk dan melihat perubahannya sambil memutar-mutar kenop
potensiometer.
Keterangan :
Potensiometer
- Kiri dihubungkan ke GND arduino
- Tengah dihubungkan ke pin A0 arduino
- Kanan dihubungkan ke 5V Arduino
LED
- LED 1 (+) dihubungkan ke resistor 220 Ohm dan ke pin 2 arduino
- LED 2 (+) dihubungkan ke resistor 220 Ohm dan ke pin 3 arduino
- LED 3 (+) dihubungkan ke resistor 220 Ohm dan ke pin 4 arduino
- LED 4 (+) dihubungkan ke resistor 220 Ohm dan ke pin 5 arduino
- LED 5 (+) dihubungkan ke resistor 220 Ohm dan ke pin 6 arduino
- LED 6 (+) dihubungkan ke resistor 220 Ohm dan ke pin 7 arduino
- Sedangkan (-) semuanya dihubungkan ke GND arduino
Sketch program
Deskripsikan pin-pin LED dan potensiometer sesuai dengan pin yang ada pada rangkaian
Arduino
Code
Kemudian tetapkan baudrate Serial Monitor 9600 dan inisisalisasikan pin-pin LED menjadi
OUTPUT
Code
Penjelasan:
1. int nilaiPot = analogRead(pinPot); // data dari pinPot (A0) akan dibaca kemudian hasilnya
dimasukkan ke variabel nilaiPot dengan tipe data integer.
2. Serial.println(nilaiPot); //silahkan buka serial monitor pada menu Tools>klik Serial
Monitor. Program ini maksudnya adalah data yang sudah masuk pada variabel nilaiPot akan
ditampilkan pada Serial Monitor.
3. Baris ke 4-8 , maksudnya adalah jika nilai potensiometer lebih dari nol, maka tetapkan
LED1 menjadi High atau nyala, jika tidak LED1 akan mati.
4. Untuk baris selanjutnya sama tinggal menyesuakan nilai potensiometer dan LED-nya saja.