View
255
Download
0
Category
Preview:
Citation preview
7/21/2019 Modul Arduino Basic Rev
1/44
BAB 1.
BAB 1. PENDAHULUAN.......................................................................................1
1.1. APA ITU ARDUINO.................................................................................. 1
1.2. SEJARAH ARDUINO.................................................................................1
1.3. APLIKASI ARDUINO................................................................................2
1.4. PERKEMBANGAN ARDUINO..................................................................3
1.5. PERTANYAAN...........................................................................................6
BAB 2. ARSITEKTUR MIKROKONTROLER AVR.................................................7
2.1. OVERVIEW ARSITEKTUR MIKROKONTROLER AVR.............................7
2.2. PENJELASAN FUNGSI PIN......................................................................9
2.3. MEMORY MAP....................................................................................... 11
2.4. RANGKAIAN BOARD ARDUINO...........................................................14
2.5. PENJELASAN BOARD ARDUINO..........................................................15
2.6. PERTANYAAN.........................................................................................17
BAB 3. DASAR PEMROGRAMAN ARDUINO.....................................................18
3.1. TAHAPAN PEMBUATAN PROGRAM......................................................18
3.2. BAHASA PEMROGRAMAN....................................................................18
3.3. STRUKTUR PENULISAN PROGRAM.....................................................19
3.4. TIPE DATA.............................................................................................. 19
3.5. BASIS ANGKA........................................................................................20
3.6. PENYIMPANAN DATA............................................................................20
3.7. OPERASI LOGIKA DAN BINER.............................................................20
3.. OPERASI RELASIONAL !PERBANDINGAN".........................................20
3.#. OPERASI ARITMATIKA..........................................................................21
3.1$. STATEMENT........................................................................................21
3.11. %ONDITIONAL STATEMENT..............................................................21
3.12. FUN%TION.......................................................................................... 223.13. LATIHAN............................................................................................. 22
BAB 4. PEMROGRAMAN DENGAN ARDUINO IDE...........................................24
4.1. MEMBUAT PROGRAM...........................................................................24
4.2. %OMPILE DAN DOWNLOAD KE %HIP..................................................27
4.3. PEMROGRAMAN AVR UNTUK PORT I&O.............................................28
4.4. KOMUNIKASI SERIAL...........................................................................30
4.5. PEMROGRAMAN RELAY.......................................................................31
4.6. MEMBUAT DELAY..................................................................................324.7. PEMROGRAMAN L%D...........................................................................33
7/21/2019 Modul Arduino Basic Rev
2/44
4.. PEMROGRAMAN AD%...........................................................................35
4.#. PEMROGRAMAN KEYPAD....................................................................36
4.1$. PEMROGRAMAN PWM......................................................................38
BAB 2.
7/21/2019 Modul Arduino Basic Rev
3/44
BAB 3. PENDAHULUAN
1.1.APA ITU ARDUINO
Ada baiknya sebelum membahas mengenai Arduino kita mengerti dulu aa
itu mikrokontroler. !ikrokontroler adalah single chip computer yang memiliki
kemamuan untuk dirogram dan digunakan untuk tugas"tugas berorientasi
kontrol. #alam sebuah $% mikrokontroler telah terdaat &'!( &A!( )*&'!(
serialmauunparallel interface( timer( interrupt controller( converteranalog ke
digital( dan lainnya +tergantung feature yang melengkai mikrokontroler
tersebut,. #ari segi alikasinya( mikrokontroler ditu-ukan untuk tugas"tugas
yang berorientasi kontrol ada rangkaian yang membutuhkan -umlah
komonen minimum dan biaya rendah +low cost,.uatu mikrokontroler agar daat dirogram dan beker-a sebagai usat
kontrol memerlukan rangkaian elektronik yang daat mendukungnya. !ulai
dari power supply( Osilator( konektor( $*( dan &eset. /ersi rangkaian aling
sederhana untuk membuat mikrokontroler bisa beker-a disebut sebagai sistem
minimum mikrokontroler.Arduino meruakan sebuah bentuk sistem minimum mikrokontroler yang
bersiat open source hardware dengan komunitas engguna yang luas di
seluruh dunia. iat open source hardwareberarti semua inormasi rangkaian
erangkat kerasnya dibuka dan setia orang boleh menggunakan dan
mengembangkannya seara bebas. onse open sourceinilah yang kemudian
men-adikan Arduino men-adi sangat ouler mendunia. Arduino daat
dihubungkan dengan mudah ke berbagai -enis erangkat $' seerti )#(
motor( sensor dan erangkat lainnya.
1.2.SEJARAH ARDUINO
aat ini tim arduino terdiri dari !assimo Bani( #aid %uartielles( ianlua
!artino( #ae !ellis dan om $goe. u-uan mereka adalah untuk menitakan
sebuah iring *latorm yang daat diaksesdigunakan oleh engguna non"
tehnial dalam bidang kreati seerti seniman( desainer dan arsitek.
etika royek tersebut selesai kemudian mereka terus berusaha
mambuatnya lebih ringan( murah( dan tersedia untuk komunitas. eutusan
1
7/21/2019 Modul Arduino Basic Rev
4/44
besar diambil oleh !assimo Bani dan rekan"rekannya untuk membuat royek
ini men-adi open source. !ereka memertimbangkan bah:a dengan keutusan
itu Arduino akan lebih eat berkembang dan terus ma-u. ;ama Arduino
diberikan oleh !assimo Bani. #ia terinsirasi dari nama ra-a dari $rea yang
berkuasa ada tahun 1002 masehi bernama &a-a Arduin.
onse dasar arduino ertama kali dibuat oleh serta %asey &eas
dan !assimo Banai sebagai dosen embimbing. *ada tahun 2005( tim Arduino
dibentuk di $era $talia yang terdiri dari !assimo Bani( #aid %uartielles( #ae
!ellis( ianlua !artino( ;iholas ?ambetti. %asey &eas dibantu Ben @ry
mengembangkan engolahan bahasa emrograman seara isual yang diberi
nama roessing sot:are inilah yang men-adi ikal bakal Arduino $#) yaitu
erangkat lunak yang disediakan untuk memrogram Arduino. ot:are
tersebut menggunakan omiler g yang -uga open source.Arduino biasanya menggunakan $% mikrokontroler yang meruakan roduk
dari Atmel. Bahasa emrograman yang digunakan Arduino adalah bahasa %%
dengan enambahan library"library khusus Arduino. Bootloader -uga
ditanamkan di hi mikrokontrolernya untuk membantu engguna
memasukkan rogram melalui komunikasi serial B.
1.3.APLIKASI ARDUINO
elain karena open source( kemamuannya yang tinggi( bentuknya yang
keil( konsumsi daya yang rendah( dan harga yang murah membuat Arduino
banyak digunakan di dunia.%ontoh"ontoh royekC
*engontrol motor
!esin %;%
*eralatan medis
*engontrol suhu
!onitoring energi
* traking
*engendali robot
#an masih banyak lagi
erdaat beberaa keunggulan yang dimiliki oleh Arduino antara lainC
#ari egi
7/21/2019 Modul Arduino Basic Rev
5/44
o idak memerlukan erangkat chip programmerkarena didalamnya
sudah ada bootloader yang akan menangani uload rogram dari
komuter melalui komunikasi serial B.o !emiliki modul add"on yang sia akai +dinamakan shield, yang
bisa diasang ada board Arduino yang sudah dibuat oleh banyak
ihak( misalnya shield *( )thernet( # %ard( dan sebagainya. #ari egi ot:are
o Bahasa emrograman relati mudah karena sot:are Arduino $#)
sudah dilengkai dengan kumulan library yang uku lengka.o erdaat banyak ontoh emrograman di internet.
omunitas engguna yang luas untuk saling membantu dan bertukar
ikiran.
1.4.PERKEMBANGAN ARDUINO
arena kebutuhan yang tinggi terhada sistem minimum mikrokontroler
yang standar dan dengan berbagai kemudahan asilitasnya( maka ara
embuat Arduino terus melakukan engembangan ada board Arduino. !ulai
dari ort komunikasi yang diganti ke B( dan -uga enggunaan mikrokontroler
yang memiliki lebih banyak keunggulan seerti @lash( ))*&'!( &A!( $' *in(
A#%( A& dan *! yang lebih tinggi.
Denis"-enis arduino bermaam"maam di antaranya eerino( #ieimila(
#uemilanoe( no( ;ano( !ini( @io( ilyad( *ro( *ro mini( !ega( !ega2560(
eonardo( !iro( Eun( #ue( dan re. Berikut sesiFkasi beberaa arduino yang
oularC
A'()*+, U+, S-/*0/*
*roessor%* eedAnalog $'
#igital$'*!))*&'!&A!@A
3. ekan tombol =;eJt>
4. *ilih diretori enyimanan yg diinginkan atau menggunakan diretori
deault %C\*rogram @iles\Arduino\( lalu ilih =$nstall>
7/21/2019 Modul Arduino Basic Rev
31/44
5. unggu hingga roses install selesai
6. *ilih $nstall
7. Dika telah selesai ilih %lose
%' 9+)++ A'()*+, IDE ;
Berikut tamilan ot:are Arduino $#)
7/21/2019 Modul Arduino Basic Rev
32/44
eteranganC
1. /eriy C untuk menganalisa rogram yang telah kita
buat2. load C untuk uload rogram ke board arduino3. ;e: C membuat lembar ker-a baru4. 'en C membuka Fle rogram yang ernah dibuat5. ae C menyiman rogram yang telahakan dibuat6. ;ame @ile C nama Fle rogram7. erial !onitor C menamilkan komunikasi serial8. ab *roertis C menu roertis untuk ab9. embar er-a C temat menuliskan rogram
10.&esult C menamilkan esan error hasil eriyuloadrogram
11.erial *ort yang erkoneksi C menamilkan board arduino dan
ort yg digunakan
4.2.%OMPILE DAN DOWNLOAD KE %HIP
ebelum memasukkan rogram ke arduino ada beberaa engaturan yang
harus dilakukan yaitu C
!emilih tie board arduino yang digunakan
7/21/2019 Modul Arduino Basic Rev
33/44
!emilih ort serial yang digunakan
o %ek ort serial yang digunakan ada deie managerlik kanan omuter TT #eie !anager TT *orts+%om O *,
7/21/2019 Modul Arduino Basic Rev
34/44
ntuk memasukkan rogram ke dalam arduino tinggal menekan tombol
uload tunggu hingga rosesnya selesai
4.3.PEMROGRAMAN AVR UNTUK PORT I&O
iga register yang harus diset untuk menggunakan ort $' C ##&J( *'&J(
dan *$;J. G adalah nama oert yang bersangkutan +B( %( #,.
menentukan arah ort +outut atau inut,%ontoh C in!ode+ LnomorinM ( L$;* atau '*M ,N
Atau menggunakan syntaJ berikutC##IB11111110N ind # 1 samai 7 sebagai outut( in # 0
sebagai inut
menulis nilai ke ort +1 atau 0,%ontoh C digitalrite+ Lnomor inM( L
7/21/2019 Modul Arduino Basic Rev
35/44
digital&ead+ Lnomor inM ,N
ntuk engaturan in $' di Arduino biasanya menggunakan ungsi khusus
in!ode+nomor*in( $;*'*,. *enulisan syntaJ tersebut dituliskan di a:aldalam =oid setu+,>.
*engaturan
7/21/2019 Modul Arduino Basic Rev
36/44
1. $+erial, C untuk memeriksa aakah *ort sudah sia2. erial.aailable+, C untuk memeriksa aakah data suda ada di bu]er
enerima3. erial.begin+, C untuk memulai dan men"setting keeatan trasmisi
data4. erial.end+, C untuk menon"aktikan in rJ dan tJ sebagai
ungsi serial5. erial.Fnd+, C menari string dalam bu]er data6. erial.Fndntil+, C menari bu]er data samai syarat tertentu7. erial.Kush+, C menunggu data terkirim semua8. erial.arseKoat+, C mengambil data Koat ertama dari data di
bu]er serial9. erial.arse$nt+, C mengambil data integer ertama dari data di bu]er
serial10.erial.eek+, C mengambil data berikutnya di bu]er enerima11.erial.rint+, C mengirim data A%$$12.erial.rintln+, C mengirim data A%$$ %&(@ +kode enter,13.erial.read+, C membaa data yang diterima14.erial.readBytes+, C membaa data byte yang diterima15.erial.readBytesntil+, C membaa data byte yang diterima samai
syarat tertentu16.erial.setimeout+, C men"setting batas maksimum :aktu tunggu
transmisi data17.erial.:rite+, C mengirim data byte+numerik,18.erial.serial)ent+, C akti -ika data diterima( berungsi seerti
interusi serial.
%ontoh *rogramC
har aNoid setu+,[erial.begin+9600,N erintah untuk memulai komunikasi
serialerial.rintln+^
7/21/2019 Modul Arduino Basic Rev
37/44
Y
4.5.PEMROGRAMAN RELAY
%ara ker-a relay hamir sama dengan )#( relay akan beker-a atau berhenti
bila diberi kondisi .
7/21/2019 Modul Arduino Basic Rev
38/44
*erulangan +delay tidak akurat,!enggunakan onditional statement orZtoZ atau :hileZ%ontoh C or+int aI0NaS100Na, delay selama 100 kali erulangan
@ungsi =delay>!enggunakan ungsi yang sudah termasuk dalam arduino.
yntaJC delay+ms,N%ontoh C delay+1000, delay selama 1000 miliseond atau 1 detik.
%ontoh *rogram C
int led*in I 13N )# terhubung dengan *in 13
oid setu+,[ in!ode+led*in( '*,N engaturan digital *in sebagai 'ututY
oid loo+,[ digitalrite+led*in(0,N )# nyala or+int timeI0NtimeS100Ntime,[ delay selama 100 erulangan Y digitalrite+led*in(1,N )# matiY
%ontoh *rogram C
int led*in I 13N )# terhubung dengan *in 13
oid setu+,[ in!ode+led*in( '*,N engaturan digital *in sebagai 'ututY
oid loo+,[ digitalrite+led*in(0,N )# nyala delay+1000,N delay selama 1 detikdigitalrite+led*in(1,N )# mati
Y
4.7.PEMROGRAMAN L%D
Arduino menyediakan library untuk menggunakan erangkat %# 16J2.Beberaa ungsi %# yang ada ada arduino C
i_uid%rystal ld+12(11(5(4(3(2,N inisialisasi ort yang digunakan
+&()(#4(#5(#6(#7, ld.begin+16(2,N ld yang digunakan 16J2
ld.rint+=halo( duniaQ>,N menetak tulisan halo(duniaQ
7/21/2019 Modul Arduino Basic Rev
39/44
ld.set%ursor+0(1,N osisi dislay +kolom(baris, ada
%# ld.lear+,N membersihkan tamilan %#
ld.:rite+`LkarakterM,N menamilak 1 karakter
*engaturan hard:areC
ntuk menggunakan ungsi"ungsi %#( rogram dia:ali dengan inlude
Si_uid%rystal.hT%ontoh *rogramC
inlude Si_uid%rystal.hT library untuk %#
i_uid%rystal ld+12( 11( 5( 4( 3( 2,N inisialisasi ort yang digunakan
+&()(#4(#5(#6(#7,
oid setu+, [ ld.begin+16( 2,N ld yang digunakan 16J2
ld.rint+^hello( :orldQ^,N menetak tulisan halo(duniaQ
Y
oid loo+, [
ld.set%ursor+0( 1,N osisi dislay +kolom(baris, ada
%#
Y
7/21/2019 Modul Arduino Basic Rev
40/44
4..PEMROGRAMAN AD%A#% meruakan nilai analog yang diterima oleh in analog arduino dan
diubahdionert men-adi digital. ntuk mendaatkan nilai A#% dari inutan
menggunakan analog&ead+,*engaturan hard:areC
%ontoh *rogram C
inlude Si_uid%rystal.hT library untuk %#
i_uid%rystal ld+13(12(11(10(9(8,N inisialisasi ort yang digunakan
+&()(#4(#5(#6(#7,int analog*in I A0N in analog yang digunakanint al I 0N ariabel untuk menyiman
embaaan analog
oid setu+,[ ld.begin+16(2,N ld yang digunakan 16J2Y
oid loo+,[ al I analog&ead+analog*in,N memasukkan embaaan analog
ke ariabel alld.set%ursor+0( 1,N osisi dislay +kolom(baris, ada
%# ld.rint+al,N etak al ada %# delay+1000,N delay 1 detik ld.lear+,N bersihkan %#
Y
7/21/2019 Modul Arduino Basic Rev
41/44
4.#.PEMROGRAMAN KEYPAD
Berikut salah satu ontoh emrograman keyad.
*engaturan hard:areC
%ontoh *rogramC
inlude Si_uid%rystal.hT memanggil ibrary ld
deFne 1 6 mendeFnisikan in 6 Arduino untuk ol1 keyad
deFne 2 7 mendeFnisikan in 7 Arduino untuk ol2 keyad
deFne 3 8 mendeFnisikan in 8 Arduino untuk ol3 keyad
deFne r1 9 mendeFnisikan in 9 Arduino untuk ro:1 keyad
deFne r2 10 mendeFnisikan in 10 Arduino untuk ro:2 keyad
deFne r3 11 mendeFnisikan in 11 Arduino untuk ro:3 keyad
deFne r4 12 mendeFnisikan in 12 Arduino untuk ro:4 keyad
i_uid%rystal ld+0(1(2(3(4(5,N
!endeklarasikan in ld +&sI0N)nI1N#1I2N#2I3N#3I4N#4I5 &:nd,N
unsigned har keyN /ariable untuk menyiman karakter hasil enekanan
unsigned har tekanckeyad+,[ @untion enekanan eyad
keyI"N
delay+10,N
digitalrite+r1(',N
delay+10,N
i+digital&ead+1,II',[keyI1NY
i+digital&ead+2,II',[keyI2NY
i+digital&ead+3,II',[keyI3NY
digitalrite+r1(
7/21/2019 Modul Arduino Basic Rev
42/44
delay+10,N
i+digital&ead+1,II',[keyI4NY
i+digital&ead+2,II',[keyI5NY
i+digital&ead+3,II',[keyI6NY
digitalrite+r2(
7/21/2019 Modul Arduino Basic Rev
43/44
ld.begin+16(2,N
Y
oid loo+, [
ut your main ode here( to run reeatedlyC
tekanckeyad+,N!emanggil @untion enekanan keyad
i+keyQI",[ Dika isi key bukan "
ld.:rite+key,N menamilkan hasil enekanan ke ld
delay+200,N
Y
Y
4.1$. PEMROGRAMAN PWM
*ulse idth !odulation +*!,. *ada Arduino ;' terdaat beberaa in
yang suort dengan ungsi *! ini. ntuk memberikan nilai keluaran in
*! menggunakan analogrite+, dengan nilai 0"255( ontoh analogrite+255,
maksimum *! yang digunakan( analog:rite+127, setengah kemamuan
*! yang digunakan.
*engaturan hard:areC
7/21/2019 Modul Arduino Basic Rev
44/44
%ontoh *rogramC
int led*in I N led terhubung ke in 9
int analog*in I A0N otentiometer terhubung ke in analog 3
int al I 0N ariable untuk menyiman embaaan otensiometer
oid setu+,
[
in!ode+led*in( '*,N engaturan in sebagai '*
Y
oid loo+,
[
al I analog&ead+analog*in,N membaa masukan in
analogrite+led*in( al 4,N
analog&ead bernilail dari 0"1023(analogrite bernilai 0"255
Y
Recommended