Anda di halaman 1dari 29

MODUL TEKNIK ELEKTRONIKA

ARDUINO

Disusun Oleh:
ABDUL SHOBIR,ST

LEMBAGA PENDIDIKAN MA'ARIF NU BANYUWANGI


SMK GAJAH MADA BANYUWANGI

JL. Jaksa Agung Suprapto No. 68 Banyuwangi 68416


Telp.(0333) 410125 email: smkgajahmadabwi@gmail.com
Website: smkgajahmadabwi.sch.id

Hal. 1
MODUL 1

TUJUAN PEMBELAJARAN
1. Siswa dapat menjelaskan pengertian Arduino
2. Siswa dapat menjelaskan sejarah Arduino
3. Siswa dapat memahami macam-macam Arduino
4. Siswa dapat menjelaskan kelebihan arduino

A. PENGERTIAN ARDUINO
Arduino adalah pengendali mikro single-board yang bersifat open-source,
diturunkan dari Wiring platform, dirancang untuk memudahkan penggunaan
elektronik dalam berbagai bidang. Hardwarenya memiliki
prosesor AtmelAVR dan softwarenya memiliki bahasa pemrograman sendiri.
Arduino juga merupakan platform hardware terbuka yang ditujukan kepada
siapa saja yang ingin membuat purwarupa peralatan elektronik interaktif
berdasarkan hardware dan software yang fleksibel dan mudah digunakan.
Mikrokontroler diprogram menggunakan bahasa pemrograman arduino yang
memiliki kemiripan syntax dengan bahasa pemrograman C. Karena sifatnya yang
terbuka maka siapa saja dapat mengunduh skema hardware arduino dan
membangunnya.
Arduino menggunakan keluarga mikrokontroler ATMega yang dirilis oleh Atmel
sebagai basis, namun ada individu/perusahaan yang membuat clone arduino
dengan menggunakan mikrokontroler lain dan tetap kompatibel dengan arduino
pada level hardware. Untuk fleksibilitas, program dimasukkan melalui bootloader
meskipun ada opsi untuk membypass bootloader dan menggunakan downloader
untuk memprogram mikrokontroler secara langsung melalui port ISP .:

B. SEJARAH ARDUINO
Semuanya berawal dari sebuah thesis yang dibuat oleh Hernando Barragan, di
institute Ivrea, Italia pada tahun 2005, dikembangkan oleh Massimo Banzi dan
David Cuartielles dan diberi nama Arduin of Ivrea. Lalu diganti nama menjadi
Arduino yang dalam bahasa Italia berarti teman yang berani.
Tujuan awal dibuat Arduino adalah untuk membuat perangkat mudah dan
murah, dari perangkat yang ada saat itu. Dan perangkat tersebut ditujukan untuk
para siswa yang akan membuat perangkat desain dan interaksi. Visi awalnya aja
udah mulia kan.

Hal. 2
Saat ini tim pengembangnya adalah Massimo Banzi, David Cuartielles, Tom Igoe,
Gianluca Martino, David Mellis, dan Nicholas Zambetti. Mereka mengupayakan 4
hal dalam Arduino ini, yaitu:
1. Harga terjangkau
2. Dapat dijalankan diberbagai sistem operasi, Windows, Linux, Max, dan
sebagainya.
3. Sederhana, dengan bahasa pemograman yang mudah bisa dipelajari orang
awam, bukan untuk orang teknik saja.
4. Open Source, hardware maupun software.
Sifat Arduino yang Open Source, membuat Arduino berkembang sangat cepat.
Dan banyak lahir perangkat-perangkat sejenis Arduino. Seperti DFRDuino atau
Freeduino, dan kalau yang lokal ada namanya CipaDuino yang dibuat oleh
SKIR70, terus ada MurmerDuino yang dibuat oleh Robot Unyil, ada lagi
AViShaDuino yang salah satu pembuatnya adalah Admin Kelas Robot.

C. JENIS-JENIS ARDUINO
Dan seperti Microcontroller yang banyak jenisnya, Arduino lahir dan
berkembang, kemudian muncul dengan berbagai jenis. Diantaranya adalah:
1. Arduino Uno
Jenis yang ini adalah yang paling banyak digunakan. Terutama untuk pemula
sangat disarankan untuk menggunakan Arduino Uno. Dan banyak sekali
referensi yang membahas Arduino Uno. Versi yang terakhir adalah Arduino
Uno R3 (Revisi 3), menggunakan ATMEGA328 sebagai Microcontrollernya,
memiliki 14 pin I/O digital dan 6 pin input analog. Untuk pemograman cukup
menggunakan koneksi USB type A to To type B. Sama seperti yang digunakan
pada USB printer.

Gambar 1.1 – Arduino Uno

Hal. 3
2. Arduino Due
Berbeda dengan saudaranya, Arduino Due tidak menggunakan ATMEGA,
melainkan dengan chip yang lebih tinggi ARM Cortex CPU. Memiliki 54 I/O
pin digital dan 12 pin input analog. Untuk pemogramannya menggunakan
Micro USB, terdapat pada beberapa handphone.

Gambar 1.2 – Arduino Uno

3. Arduino Mega
Mirip dengan Arduino Uno, sama-sama menggunakan USB type A to B untuk
pemogramannya. Tetapi Arduino Mega, menggunakan Chip yang lebih tinggi
ATMEGA2560. Dan tentu saja untuk Pin I/O Digital dan pin input Analognya
lebih banyak dari Uno.

Gambar 1.3 – Arduino Mega

4. Arduino Leonardo.
Bisa dibilang Leonardo adalah saudara kembar dari Uno. Dari mulai jumlah
pin I/O digital dan pin input Analognya sama. Hanya pada Leonardo
menggunakan Micro USB untuk pemogramannya.

Hal. 4
Gambar 1.4 – Arduino Leonardo

5. Arduino Fio
Bentuknya lebih unik, terutama untuk socketnya. Walau jumlah pin I/O
digital dan input analognya sama dengan uno dan leonardo, tapi Fio memiliki
Socket XBee. XBee membuat Fio dapat dipakai untuk keperluan projek yang
berhubungan dengan wireless.

Gambar 1.5 – Arduino Fio

6. Arduino Lilypad
Bentuknya yang melingkar membuat Lilypad dapat dipakai untuk membuat
projek unik. Seperti membuat amor iron man misalkan. Hanya versi lamanya
menggunakan ATMEGA168, tapi masih cukup untuk membuat satu projek
keren. Dengan 14 pin I/O digital, dan 6 pin input analognya.

Gambar 1.6 – Arduino Lilypad

Hal. 5
7. Arduino Nano
Sepertinya namanya, Nano yang berukulan kecil dan sangat sederhana ini,
menyimpan banyak fasilitas. Sudah dilengkapi dengan FTDI untuk
pemograman lewat Micro USB. 14 Pin I/O Digital, dan 8 Pin input Analog
(lebih banyak dari Uno). Dan ada yang menggunakan ATMEGA168, atau
ATMEGA328.

Gambar 1.7 – Arduino Nano

8. Arduino Mini
Fasilitasnya sama dengan yang dimiliki Nano. Hanya tidak dilengkapi dengan
Micro USB untuk pemograman. Dan ukurannya hanya 30 mm x 18 mm saja.

Gambar 1.8 – Arduino Mini

9. Arduino Micro
Ukurannya lebih panjang dari Nano dan Mini. Karena memang fasilitasnya
lebih banyak yaitu; memiliki 20 pin I/O digital dan 12 pin input analog.

Gambar 1.9 – Arduino Micro

10. Arduino Ethernet


Ini arduino yang sudah dilengkapi dengan fasilitas ethernet. Membuat
Arduino kamu dapat berhubungan melalui jaringan LAN pada komputer.
Untuk fasilitas pada Pin I/O Digital dan Input Analognya sama dengan Uno.

Hal. 6
Gambar 1.10 – Arduino Ethernet

11. Arduino Esplora


Rekomendasi bagi kamu yang mau membuat gadget sepeti Smartphone,
karena sudah dilengkapi dengan Joystick, button, dan sebagainya. Kamu
hanya perlu tambahkan LCD, untuk lebih mempercantik Esplora.

Gambar 1.11 – Arduino Esplora

12. Arduino Robot


Ini adalah paket komplit dari Arduino yang sudah berbentuk robot. Sudah
dilengkapi dengan LCD, Speaker, Roda, Sensor Infrared, dan semua yang
kamu butuhkan untuk robot sudah ada pada Arduino ini.

Gambar 1.12 – Arduino Robot

Hal. 7
13. Arduino BT
Ini adalah papan mikrokontroler didasarkan atas mikrokontroller
ATMega168, dan sekarang sudah menggunakan ATMega328 dan modul
Bluegiga WT11 bluetooth.

Gambar 1.13– Arduino BT

14. Arduino Intel Galileo


Ini adalah papan mikrokontroler berdasarkan Intel ® Quark SoC X1000
Application Processor, 32-bit sistem Pentium-kelas Intel pada sebuah chip.
Ini adalah board pertama berdasarkan arsitektur Intel ® dirancang
kompatibel dengan pin-pin Arduino Uno R3.

Gambar 1.14 – Arduino Intel Galileo

Hal. 8
D. KELEBIHAN ARDUINO
Kelebihan arduino dari papan mikrokontroller sejenis adalah:
1. Arduino mempunyai bootloader. Bootloader semacam sistem tersendiri
untuk Arduino, yang membuat Arduino tidak memerlukan lagi tambahan
chip programmer. Bootloader ini berfungsi untuk menangani proses
memasukan program dari komputer ke Arduino;
2. Harga Arduino terjangkau dengan menilik fasilitas yang dimiliknya;
3. Mudah dipelajari. Dasar bahasa pemograman Arduino adalah bahasa C yang
disederhanakan, sehingga memudahkan para pemula;
4. Arduino menggunakan USB. Untuk pemograman sudah tidak memerlukan
paralel port atau sebagainya, USB memudahkan kamu untuk proses
pemograman. Karena USB ada di semua perangkan komputer;
5. Arduino memiliki banyak library gratis. Library ini berfungsi untuk
menyingkat pemograman;
6. Arduino memiliki fasilitas lengkap. Sudah tersedia memori, pin input output ,
PWM, ADC, timer, dan sebagainya;
7. Arduino Open Source. Open source secara software dan hardware. Arduino
memperbolehkan untuk mengembangkan sendiri baik secara personal
maupun komersial.
8. Komunitas Arduino bertebaran di internet, sehingga memudahkan
pengembang untuk saling tukar pengetahuan, ide, dan inovasi.

Hal. 9
MODUL 2

TUJUAN PEMBELAJARAN
1. Siswa dapat memahami spesifikasi Arduino Nano
2. Siswa dapat memahami konfigurasi pin Arduino Nano
3. Siswa dapat menjelaskan fungsi masing-masing pin Arduino Nano

A. SPESIFIKASI ARDUINO NANO

Tabel 2.1 – Spesifikasi Arduino Nano


Chip mikrokontroller ATmega328P
Tegangan operasi 5V
Tegangan input 7V - 12V
Digital I/O pin 14 buah (termasuk PWM = 6 buah)
Analog Input pin 8 buah
Arus DC per pin I/O 40 mA
Memori Flash 32 KB (0,5KB = Booatloader)
SRAM 2 KB
EEPROM 1 KB
Clock speed 16 Mhz
Dimensi 45 mm x 18 mm
Berat 5g

B. KONFIGURASI PIN ARDUINO NANO

Gambar 2.1-Arduino Nano

Hal. 10
Gambar 2.2- Pin Arduino Nano

C. FUNGSI PIN ARDUINO NANO


1. Power Supply
Development Board Arduino Nano dapat diberi tenaga dengan power yang
diperoleh dari koneksi kabel Mini-B USB, atau via power supply eksternal.
External power supply dapat dihubungkan langsung ke pin 30 atau Vin (7V –
12V) atau ke pin 27 (5V). Sumber tenaga akan otomatis dipilih mana yang
lebih tinggi tegangan.
Beberapa pin power supply pada Arduino Nano :
a. GND. Ini adalah ground atau negatif.
b. Vin. Ini adalah pin yang digunakan jika anda ingin memberikan power
supply langsung ke board Arduino dengan rentang tegangan yang
disarankan 7V - 12V
c. Pin 5V. Ini adalah pin output dimana pada pin tersebut mengalir
tegangan 5V yang telah melalui regulator
d. 3V3. Ini adalah pin output dimana pada pin tersebut disediakan
tegangan 3.3V yang telah melalui regulator
e. REF. Ini adalah pin yang menyediakan referensi tegangan
mikrokontroller. Biasanya digunakan pada board shield untuk
memperoleh tegangan yang sesuai, apakah 5V atau 3.3V
2. Memori
Chip ATmega328 pada Arduino Nano memiliki memori 32 KB, dengan 0.5 KB
dari memori tersebut telah digunakan untuk bootloader. Jumlah SRAM 2 KB,

Hal. 11
dan EEPROM 1 KB, yang dapat di baca-tulis dengan menggunakan EEPROM
library saat melakukan pemrograman.
3. Input dan Output (I/O)
Seperti yang telah disebutkan sebelumnya, Arduino Nano memiliki 14 buah
digital pin (D9-D13) yang dapat digunakan sebagai input atau output, sengan
menggunakan fungsi pinMode(), digitalWrite(), dan digital(Read). Pin-pin
tersebut ekerja pada tegangan 5V, dan setiap pin dapat menyediakan atau
menerima arus 20mA, dan memiliki tahanan pull-up sekitar 20-50k ohm
(secara default dalam posisi discconnect). Nilai maximum adalah 40mA, yang
sebisa mungkin dihindari untuk menghindari kerusakan chip mikrokontroller
4. Pin Fungsi Khusus
a. Serial, terdiri dari 2 pin : pin 0 (RX) dan pin 1 (TX) yang digunakan untuk
menerima (RX) dan mengirim (TX) data serial.
b. External Interrups, yaitu pin 2 dan pin 3. Kedua pin tersebut dapat
digunakan untuk mengaktifkan interrups. Gunakan fungsi
attachInterrupt()
c. PWM: Pin 3, 5, 6, 9, 10, dan 11 menyediakan output PWM 8-bit dengan
menggunakan fungsi analogWrite()
d. SPI : Pin 10 (SS), 11 (MOSI), 12 (MISO), dan 13 (SCK) mendukung
komunikasi SPI dengan menggunakan SPI Library
e. LED : Pin 13. Pada pin 13 terhubung built-in led yang dikendalikan oleh
digital pin no 13.
f. Arduino Nano memiliki 8 buah input analog, yang diberi tanda dengan
A0 hingga A7. Masing-masing pin analog tersebut memiliki resolusi 1024
bit. Secara default, pin-pin tersebut diukur dari ground ke 5V, namun
bisa juga menggunakan pin REF dengan menggunakan fungsi
analogReference().
g. Pin Analog A6 dan A7 tidak bisa dijadikan sebagai pin digital, hanya
sebagai analog.
h. Beberapa pin lainnya pada board ini adalah :
1) I2C : Pin A4 (SDA) dan A5 (SCL). Pin ini mendukung komunikasi I2C
(TWI) dengan menggunakan Wire Library.
2) AREF. Sebagai referensi tegangan untuk input analog.
3) Reset. Hubungkan ke LOW untuk melakukan reset terhadap
mikrokontroller. Biasanya digunakan untuk dihubungkan dengan
switch yang dijadikan tombol reset.
5. Komunikasi
Arduino Nano memiliki beberapa fasilitas untuk berkomunikasi dengan
komputer, berkomunikasi dengan Arduino lainnya, atau dengan
mikrokontroller lain nya. Chip Atmega328 menyediakan komunikasi serial
UART TTL (5V) yang tersedia di pin 0 (RX) dan pin 1 (TX). Sebuah chip FTDI
yang terdapat pada board berfungsi menterjemahkan bentuk komunikasi ini
melalui USB dan akan tampil sebagai Virtual Port di komputer.

Hal. 12
Pada Arduino Software (IDE) terdapat monitor serial yang memudahkan data
textual untuk dikirim menuju Arduino atau keluar dari Arduino. Lampu led
TX dan RX akan menyala berkedip-kedip ketika ada data yang ditransmisikan
melalui chip FTDI USB to Serial via kabel USB ke komputer. Untuk
menggunakan komunikasi serial dari digital pin, gunakan SoftwareSerial
library.
Chip ATmega328 juga mendukung komunikasi I2C (TWI) dan SPI. Di dalam
Arduino Software (IDE) sudah termasuk Wire Library untuk memudahkan
anda menggunakan bus I2C. Untuk menggunakan komunikasi SPI, gunakan
SPI library.

Hal. 13
MODUL 3

TUJUAN PEMBELAJARAN
1. Siswa dapat memahami Arduino IDE
2. Siswa dapat memahami penulisan Sketch
3. Siswa dapat memahami fungsi menu dan sub menu Arduino Software (IDE)

A. ARDUINO IDE
IDE itu merupakan kependekan dari Integrated Developtment Enviroenment,
atau secara bahasa mudahnya merupakan lingkungan terintegrasi yang
digunakan untuk melakukan pengembangan. Disebut sebagai lingkungan karena
melalui software inilah Arduino dilakukan pemrograman untuk melakukan
fungsi-fungsi yang dibenamkan melalui sintaks pemrograman. Arduino
menggunakan bahasa pemrograman sendiri yang menyerupai bahasa C. Bahasa
pemrograman Arduino (Sketch) sudah dilakukan perubahan untuk memudahkan
pemula dalam melakukan pemrograman dari bahasa aslinya. Sebelum dijual ke
pasaran, IC mikrokontroler Arduino telah ditanamkan suatu program bernama
Bootloader yang berfungsi sebagai penengah antara compiler Arduino dengan
mikrokontroler.
Arduino IDE dibuat dari bahasa pemrograman JAVA. Arduino IDE juga
dilengkapi dengan library C/C++ yang biasa disebut Wiring yang membuat
operasi input dan output menjadi lebih mudah. Arduino IDE ini dikembangkan
dari software Processing yang dirombak menjadi Arduino IDE khusus untuk
pemrograman dengan Arduino.

B. PENULISAN SKETCH
Program yang ditulis dengan menggunaan Arduino Software (IDE) disebut
sebagai sketch. Sketch ditulis dalam suatu editor teks dan disimpan dalam file
dengan ekstensi .ino. Teks editor pada Arduino Software memiliki fitur” seperti
cutting/paste dan seraching/replacing sehingga memudahkan kamu dalam
menulis kode program.
Pada Software Arduino IDE, terdapat semacam message box berwarna hitam
yang berfungsi menampilkan status, seperti pesan error, compile, dan upload
program. Di bagian bawah paling kanan Sotware Arduino IDE, menunjukan board
yang terkonfigurasi beserta COM Ports yang digunakan.

Hal. 14
Gambar 3.1 – Tampilan Arduino Software (IDE)

C. FUNGSI MENU DAN SUB MENU ARDUINO SOFTWARE (IDE)


1. File
a. New, berfungsi untuk membuat membuat sketch baru dengan bare
minimum yang terdiri void setup() dan void loop().
b. Open, berfungsi membuka sketch yang pernah dibuat di dalam drive.
c. Open Recent, merupakan menu yang berfungsi mempersingkat waktu
pembukaan file atau sketch yang baru-baru ini sudah dibuat.
d. Sketchbook, berfungsi menunjukan hirarki sketch yang kamu buat
termasuk struktur foldernya.
e. Example, berisi contoh-contoh pemrograman yang disediakan
pengembang Arduino, sehingga kamu dapat mempelajari program-
program dari contoh yang diberikan.
f. Close, berfungsi menutup jendela Arduino IDE dan menghentikan
aplikasi.
g. Save, berfungsi menyimpan sketch yang dibuat atau perubahan yang
dilakukan pada sketch

Hal. 15
h. Save as…, berfungsi menyimpan sketch yang sedang dikerjakan atau
sketch yang sudah disimpan dengan nama yang berbeda.
i. Page Setup, berfungsi mengatur tampilan page pada proses pencetakan.
j. Print, berfungsi mengirimkan file sketch ke mesin cetak untuk dicetak.
k. Preferences, disini kam dapat merubah tampilan interface IDE Arduino.
l. Quit, berfungsi menutup semua jendela Arduino IDE. Sketch yang masih
terbuka pada saat tombol Quit ditekan, secara otomatis akan terbuka
pada saat Arduino IDE dijalankan.
2. Edit
a. Undo/Redo, berfungsi untuk mengembalikan perubahan yang sudah
dilakukan pada Sketch beberapa langkah mundur dengan Undo atau
maju dengan Redo.
b. Cut, berfungsi untuk meremove teks yang terpilih pada editor dan
menempatkan teks tersebut pada clipboard.
c. Copy, berfungsi menduplikasi teks yang terpilih kedalam editor dan
menempatkan teks tersebut pada clipboard.
d. 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.
e. 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.
f. Paste, berfungsi menyalin data yang terdapat pada clipboard, kedalam
editor.
g. Select All, berfungsi untk melakukan pemilihan teks atau kode dalam
halaman editor.
h. 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.
i. Increase/Decrease Indent, berfunsgi untuk mengurangi atau
menambahkan indetntasi pada baris kode tertentu. Indentasi adalah
“tab”.
j. 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.
k. Find Next, berfungsi menemukan kata setelahnya dari kata pertama
yang berhasil ditemukan.
l. Find Previous, berfungsi menemukan kata sebelumnya dari kata
pertama yang berhasil ditemukan.

Hal. 16
3. Sketch
a. 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.
b. Upload, berfunsi mengirimkan program yang sudah dikompilasi ke
Arduino Board.
c. 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.
d. 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.
e. Show Sketch Folder, berfungsi membuka folder sketch yang saat ini
dikerjakan.
f. 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.
g. Add File…, berfungsi untuk menambahkan file kedalam sketch arduino
(file akan dikopikan dari drive asal). File akan muncul sebagai tab baru
dalam jendela sketch.
4. Tools
a. Auto Format, berfungsi melakukan pengatran format kode pada jendela
editor
b. Archive Sketch, berfungsi menyimpan sketch kedalam file .zip
c. Fix Encoding & Reload, berfungsi memperbaiki kemungkinan perbedaan
antara pengkodean peta karakter editor danpeta karakter sistem
operasi yang lain.
d. Serial Monitor, berungsi membuka jendela serial monitor untuk melihat
pertukaran data.
e. Board, berfungsi memilih dan melakukan konfigurasi board yang
digunakan.
f. Port, memilih port sebbagai kanal komunikasi antara software dengan
hardware.
g. Programmer, menu ini digunakan ketika kamu hendak melakukan
pemrograman chip mikrokontroller tanpa menggunakan koneksi
Onboard USB-Serial. Biasanya digunakan pada proses burning
bootloader.
h. Burn Bootloader, mengizinkan kamu untuk mengkopikan program
bootloader kedalam IC mikrokontroler
5. Help
Disini kamu bisa mendapatkan bantuan mengenai pemrograman. Menu help
berisikan file-file dokumentasi yang berkaitan dengan masalah yang sering
muncul, serta penyelesaiannya.

Hal. 17
MODUL 4

TUJUAN PEMBELAJARAN
Siswa dapat memahami Struktur dalam pemrograman sketch Arduino

STRUKTUR PEMROGRAMAN SKETCH ARDUINO


Dalam penulisan Program/Sketch menggunakan Arduino, ada dua fungsi
yang harus ada hal ini dikarenakan arduino memiliki struktur standar penulisan
yaitu void setup, dan void loop, namun Arduino juga memiliki beberapa fungsi
tambahan seperti komentar satu baris ( // ), blok komentar (/*…*/), kurung
kurawal ( { } ), titik koma ( ; )
1. void loop dan void setup
void setup() {/* Semua kode didalam kurung kurawal akan
dijalankan hanya satu kali ketika program Arduino dijalankan
untuk pertama kalinya/ di-Reset */}
void loop() { /* Fungsi ini akan dijalankan setelah void
setup selesai. Setelah dijalankan satu kali fungsi ini akan
dijalankan lagi, dan lagi secara terus menerus sampai catu
daya (power) dilepaskan dengan kata lain program yang ada di
dalam kurung kurawal void loop akan mengulang secara terus
menerus. */}

2. ; (Titik Koma)
Merupakan akhir dari statemen
3. { } (Kurung Kurawal)
Digunakan untuk mendefinisikan kapan blok program mulai dan berakhir
(digunakan juga pada fungsi dan pengulangan).
4. // (komentar satu baris)
Kadang diperlukan untuk memberi catatan pada diri sendiri apa arti dari
kode-kode yang dituliskan. Cukup menuliskan dua buah garis miring dan
apapun yang kita ketikkan dibelakangnya akan diabaikan oleh program.
5. /* */ (Blok Komentar)
Jika anda ada banyak catatan, maka hal itu dapat dituliskan pada beberapa
baris sebagai komentar. Semua hal yang terletak di antara dua simbol
tersebut akan diabaikan oleh program.
6. If dan else
Berfungi untuk melakukan pengetesan atau pengujian kondisi sehingga
apabila sebuah kondisi telah terpenuhi maka program/sketch akan
menjalankan pernyataan yang berada di dalam kurung kurawal, namun jika
tidak maka program akan melewati pernyataan tersebut, if sendiri memiliki
beberapa bentuk dalam penulisannya

Hal. 18
Bentuk pertama:
ini adalah bentuk if tunggal yang digunakan hanya untuk 1 kondisi, sehingga
bila sudah tercapai kondisi tersebut jalankan pernyataan jika tidak lewati
pernyataan.

Format penulisan :
If (kodisi) { pernyataan }

Contoh :
If (SensorPin > 100){digitalWrite(13, HIGH);}

Program diatas menyatakan jika nilai Sensor Pin besar dari 100 maka
nyalakan LED pada pin 13.

Bentuk kedua:
Ini adalah bentuk kedua yang digunakan untuk kondisi if dengan satu
pengecualian, jadi apabila if dalam kondisi tersebut program akan
menjalankan pernyataan1 jika tidak program akan menjalankan
pernyataan2.

Format Penulisan:
if (kodisi){pernyataan1}else{pernyataan2}

Contoh:
If (SensorPin > 100){digitalWrite (13, HIGH);}
else {digitalWrite (13,LOW);}

Bentuk Ketiga:
Pada bentuk ketiga ini if memiliki beberapa pengecualian, sehingga apabila
dalam kondisi1 program akan menjalankan pernyataa1, jika tidak cek
kondisi2 jika dalam kondisi2 jalankan pernyataan2 jika tidak cek kondisi 3
jika dalam kondisi 3 maka jalankan pernyataan3, jika tidak ada sama dengan
kondisi1, kondisi2, kondisi3 maka jalankan pernyataan4.

Format Penulisan:
If(kondisi1){Pernyataan1}
else if(kondisi2){Pernyataan2}
else if(kondisi3){Pernyataan3}
else {Pernyataan4}

Contoh :
If (SensorPin > 20){digitalWrite (13, HIGH);}
else if(SensorPin > 40){digitalWrite (12, HIGH);}
else if(SensorPin > 60){digitalWrite (11 HIGH);}
else {digitalWrite (11 HIGH);}

Hal. 19
7. For
Digunakan bila ingin melakukan pengulangan kode didalam kurung kurawal
beberapa kali, namun untuk melakukanya dibutuhkan sebuah counter, baik
itu counter up (i++) , ataupun counter down (i--) , sebagai mana
yang telah dilihat pada format penulisan i=0 menyatakan posisi
awal,sedangkan # untuk jumlah pengulangan dan i++ adalah counter.

Format Penulisan :
for (int i = 0; i < #pengulangan; i++) {pernyataan}

Contoh :
for (int i =0; i <9; i++){pinMode(ledPins[i],OUTPUT);}

8. Switch
Digunakan untuk menguji suatu nilai pada variable dengan konstanta-
konstanta tertentu, konstanta tersebut diawali dengan case dan diakhiri
dengan break , jika variable sama dengan konstanta 1 maka jalankan
pernyataan 1, jika variable sama dengan konstanta 2 maka jalankan
pernyataan 2 dan begitu seterusnya namun jika variable tidak sama dengan
konstanta manapun maka jalankan default.

Format Penulisan :
switch (var) {
case 1:
//pernyataan 1
break;
case 2:
//pernyataan 2
break;
default:
}

9. While
Akan menjalankan instruksi yang ada di dalam kurung () secara terus
menerus dan tak terhingga, sampai ekspresi dalam kurung () menjadi salah
(false) oleh sebab itu harus ada yang mengubah variable agar dapat keluar
dari intruksi ini.

Format Penulisan:
while(kondisi)
{ peryataan(s)
}

10. Do – While
Bekerja dengan cara yang sama seperti while, dengan pengecualian bahwa
kondisi ini di uji pada akhir program, sehingga program akan berjalan
setidaknya sekali.

Hal. 20
Format Penulisan:
do
{pernyataan
}
while(kondisi);

11. Break
Digunakan untuk keluar dari do while dan while , untuk melewati kondisi
normal. Hal ini juga digunakan untuk keluar dari pernyataan switch.

12. Continue
Pernyataan melompati sisa literasi saat (do, for, atau if). Ini akan terus
memeriksa ekspresi kondisional dari loop, dan melanjutkan dengan literasi
berikutnya.

Contoh;
for(x =0; x <255; x ++){
if(x >40&& x <120){ // create jump in values
continue; }
analogWrite(PWMpin, x);
delay(50);
}

13. Return
Return berguna untuk mengembalikan nilai dari fungsi ke fungsi panggilan,
jika diinginkan.

contoh:
int checkSensor(){
if (analogRead(0) > 400) {
return 1;
else{return 0;}
}

14. Go To
adalah intruksi lompat tak bersyarat, instruksi ini mengakibatkan eksekusi
dilanjutkan ke alamat yang dituju oleh label .

Contoh;
for(byte r = 0; r < 255; r++){
for(byte g = 255; g > -1; g--){
for(byte b = 0; b < 255; b++){
if (analogRead(0) > 250){ goto Label1;}
Label2}}
}
Label1:

Hal. 21
15. Aritmatika
Arduino IDE selain mendukung untuk kompailer juga mendukung operator
Aritmatika seperti yang ada dibawah ini.
a. Sama dengan ( = )
b. Penjumlahan( + )
c. Pengurangan( - )
d. Perkalian( * )
e. pembagian( /)
f. Sisa pembagian ( % )
Menghasilkan sisa dari hasil pembagian suatu angka dengan angka yang
lain (misalnya: 12 % 10, ini akan menghasilkan angka 2).
16. Operator Bitwise
Operasi bitwise banyak digunakan dalam aplikasi mikrokontroler, misalnya
untuk menguji kondisi bit pada Port 1 atau pergeseran bit. Ada enam buah
operator bitwise diantaranya;
a. Operator Geser kiri ( << )
Operator geser kiri akan mengeser ke kiri perbit sehingga bit 0 akan
menggeser ke bit 1 dan bit 2 akan menggeser ke bit 3 dan seterunya,
Untuk melakukan operasi bitwise geser kiri dibutuhkan dua buah
operan, disebelah kiri tanda ( <<) adalah nilai geser dan disebelah kanan
adalah jumlah bit yang akan digeser ke kiri.
b. Operator Geser kanan ( >> )
Operator geser kanan akan mengeser ke kanan perbit” misalnya bit 8
akan menggeser ke bit7 dan bit 7 akan menggeser ke bit 6 dan
seterunya, Untuk melakukan operasi bitwise geser kanan dibutuhkan
dua buah operan, disebelah kiri tanda ( <<) adalah nilai geser dan
disebelah kanan adalah jumlah bit yang akan digeser ke kiri.
f. Operasi Bitwise AND (&)
Operator bitwise and (&) berfungsi untuk melakukan operasi logika AND
bit/ bit misalnya bit 0 akan diproyeksikan dengan bit 0 dan bit 1
diproyeksikan dengan 1 dan seterusnya.
Contoh:
int a = 10 ; // Dalam biner : 1010
int b = 12 ; // Dalam biner : 1100
int c = a & b; // Hasil dalam biner : 1000
g. Operasi Bitwise OR(|)
Operator bitwise OR (|) berfungsi untuk melakukan operasi logika OR
bit/ bit misalnya bit 0 akan diproyeksikan dengan bit 0 dan bit 1
diproyeksikan dengan 1 dan seterusnya.
Contoh :
int a = 10 ; // Dalam biner : 1010
int b = 12 ; // Dalam biner : 1100
int c = a | b; // Hasil dalam biner : 1110

Hal. 22
h. Operasi Bitwise XOR (^)
Operator bitwise XOR (^) berfungsi untuk melakukan operasi logika XOR
bit/ bit misalnya bit 0 akan diproyeksikan dengan bit 0 dan bit 1
diproyeksikan dengan 1 dan seterusnya.
Contoh :
int a = 12; // Dalam Biner : 1100
int b = 10; // Dalam Biner : 1010
int c = a ^ b; //HarsilDalam Biner : 0110
i. Operasi Bitwise NOT (~)
Operatr bitwise NOT (~) berfungsi untuk melakukan operasi logika NOT
pada bit, misalnya bit yang berlogika 0 berubah menjadi 1 dan logika 1
berubah menjadi0.
Contoh :
int a = 12; // Dalam Biner : 1100
int c = ~a //Hasil Dalam Biner : 0011
17. Operator Pembanding
Operator Relasi digunakan untuk membandingkan dua buah nilai atau
kondisi. Operator relasi.
a. Sama dengan ( == )
Sama dengan (misalnya: 14 == 10 adalah FALSE (salah) atau 10 == 10
adalah TRUE (benar))
b. Tidak sama dengan ( != )
Tidak sama dengan (misalnya: 14 != 10 adalah TRUE (benar) atau 10 !=
10 adalah FALSE (salah))
c. Kecil dari ( < )
Lebih kecil dari (misalnya: 14< 10 adalah FALSE (salah) atau 14 < 14
adalah FALSE (salah) atau 10< 14 adalah TRUE (benar))
d. Besar dari ( > )
Lebih besar dari (misalnya: 14> 10 adalah TRUE (benar) atau 14 > 14
adalah FALSE (salah) atau 12 > 14 adalah FALSE (salah))
e. Kecil/ sama dengan ( <= )
Kecil/ sama dengan (misalnya: 14 <= 10 adalah FALSE (salah) atau 14 <=
14 adalah TRUE (benar) atau 10 <= 14 adalah TRUE (benar))
f. Besar / sama dengan ( >= )
Lebih besar dari (misalnya: 14 >= 10 adalah TRUE (benar) atau 14 >= 14
adalah TRUE (benar)) atau 12 >= 14 adalah FALSE (salah))

Hal. 23
MODUL 5

TUJUAN PEMBELAJARAN
1. Siswa dapat memahami fungsi output Arduino
2. Siswa melakukan pemrograman output Arduino

ALAT DAN BAHAN


1. Modul Arduino Nano 1 unit
2. Kabel USB 1 buah
3. Komputer + Arduino IDE 1 unit

PRAKTIKUM 1
LANGKAH KERJA
1. Siapkan alat dan bahan;
2. Hubungkan kabel USB Arduino ke Komputer;
3. Buka perangkat lunak Arduino IDE;
4. Tulislah listing program sketch berikut pada Arduino IDE;

5. Dalam menulis sketch perhatikan huruf besar dan kecil dari perintah sketch;
6. Simpan file dengan nama PRAKTIK1
File>Save As….>PRAKTIK1
7. Seting board Arduino yang digunakan yakni dengan menekan menu
a. Tool > Board > Arduino Nano
b. Tool>Processor>ATMega328
c. Tool>Port>”Set port yang terdeteksi”

Hal. 24
d. Tekan tombol UPLOAD , tunggu aplikasi melakukan proses upload ke
Arduino Nano.
e. Lihat hasilnya maka Led D13 akan berkedip ON dan OFF dengan jeda 500 mili
detik.

LED PORT D13

f. Ganti nilai delay menjadi 1 , 2 atau 3 detik (1000,2000 atau 3000). Amati
hasilnya.
g. Berikan kesimpulan hasil praktikum 1 ini.

Hal. 25
MODUL 6

TUJUAN PEMBELAJARAN
1. Siswa dapat memahami deklarasi memori.
2. Siswa dapat memahami fungsi Input digital dan analog pada Arduino
3. Siswa dapat memahami fungsi dataserial pada arduino.
4. Siswa dapat memahami fungsi if then else.
5. Siswa melakukan pemrograman input digital dan analog pada Arduino.

ALAT DAN BAHAN


1. Modul Arduino Nano 1 unit
2. Kabel USB 1 buah
3. Modul sensor suara KY-37 1 buah
4. Kabel Jumper Male Female secukupnya
5. Komputer + Arduino IDE 1 unit

PRAKTIKUM 2
LANGKAH KERJA
1. Siapkan alat dan bahan;
2. Hubungkan Arduino Nano dengan modul sensor suara KY-037 seperti pada
gambar di bawah ini.

PIN ARDUINO NANO PIN MODUL KY-037


5V +
GND GND
D2 Dout
A0 Aout

3. Hubungkan kabel USB Arduino ke Komputer;


4. Buka perangkat lunak Arduino IDE;
5. Tulislah listing program sketch berikut pada Arduino IDE;

Hal. 26
6. Dalam menulis sketch perhatikan huruf besar dan kecil dari perintah sketch;
7. Simpan file dengan nama PRAKTIK2
File>Save As….>PRAKTIK2
8. Seting board Arduino yang digunakan yakni dengan menekan menu
a. Tools > Board > Arduino Nano
b. Tools > Processor > ATMega328
c. Tools > Port > ”Set port yang terdeteksi”

9. Tekan tombol UPLOAD , tunggu aplikasi melakukan proses upload ke


Arduino Nano.
10. Beri suara pada mikropon dari modul sensor suara KY-037 berupa tepuk
tangan baik keras maupun pelan dan Lihat hasilnya dengan meperhatikan
Led D13.
11. Atur potensiometer pada modul sensor suara KY-07, ulangkai langkah
sebelumnya.
12. Berikan kesimpulan hasil praktikum 2 ini.

Hal. 27
PRAKTIKUM 3
LANGKAH KERJA
1. Siapkan alat dan bahan;
2. Hubungkan Arduino Nano dengan modul sensor suara KY-037 seperti pada
gambar di bawah ini.

PIN ARDUINO NANO PIN MODUL KY-037


5V +
GND GND
D2 Dout
A0 Aout

3. Hubungkan kabel USB Arduino ke Komputer;


4. Buka perangkat lunak Arduino IDE;
5. Tulislah listing program sketch berikut pada Arduino IDE;

Hal. 28
6. Dalam menulis sketch perhatikan huruf besar dan kecil dari perintah sketch;
7. Simpan file dengan nama PRAKTIK3
File>Save As….>PRAKTIK3
8. Seting board Arduino yang digunakan yakni dengan menekan menu
a. Tools > Board > Arduino Nano
b. Tools > Processor > ATMega328
c. Tools > Port > ”Set port yang terdeteksi”

9. Tekan tombol UPLOAD , tunggu aplikasi melakukan proses upload ke


Arduino Nano.
10. Buka serial monitor
Tools > Serial Monitor
11. Beri suara pada mikropon dari modul sensor suara KY-037 berupa tepuk
tangan baik keras maupun pelan dan lihat hasilnya pada serial monitor dan
perhatikan hidup / matinya Led D13.
12. Berikan kesimpulan hasil praktikum 3 ini.

Hal. 29

Anda mungkin juga menyukai