Pokok Bahasan 12 _ Arduino Print
-
Upload
khasan-nova-p -
Category
Documents
-
view
226 -
download
0
Transcript of Pokok Bahasan 12 _ Arduino Print
-
8/18/2019 Pokok Bahasan 12 _ Arduino Print
1/21
POKOK BAHASAN 12
--------------------------------------------------------------------------
Memrogram Arduino dan
Simulasi
1 | S i s t e m M i k r o p r o s e s o r T E I 1 1 3
-
8/18/2019 Pokok Bahasan 12 _ Arduino Print
2/21
Digital Input / OutputPada kali ini akan dibahas mengenai penggunaan Digital
Input/Output (I/O) pada rduino!"ang dimaksud digital disini adalah
input atau output "ang dilakukan han"a bernilai # atau 1($O% atau&I'&)
Contoh 1:
kan dilakukan simulasi untuk menghidupkan dan men"alakan $ight
Emitting Diode ($ED) "ang terpasang pada arduino dengan eda *aktutertentu +"ala dan matin"a $ED ini menandakan output digital (&I'&
dan $O%) &I'& ketika $ED men"ala sedangkan $O% ketika $ED mati,omponen "ang dibutuhkan adalah -
. Papan rduino
. $ight Emitting Diode ($ED)
Pasangkan Papan rduino dengan $ED hingga menadi seperti gambar
diba*ah ini -
2 | S i s t e m M i k r o p r o s e s o r T E I 1 1 3
,arena menggunakan simulasi irtual0readboard! maka hal "ang perludiperhatikan adalah tidak perlu memasang salah satu kaki $ED ke ground!
ukup memasangkan kaki $ED ke salah satu pin rduino saa (komponen
$ED pada irtual0readboard han"a memiliki 1 kaki)
LE
-
8/18/2019 Pokok Bahasan 12 _ Arduino Print
3/21
3 | S i s t e m M i k r o p r o s e s o r T E I 1 1 3
-
8/18/2019 Pokok Bahasan 12 _ Arduino Print
4/21
$alu kode arduino "ang digunakan adalah sebagai berikut -
// deklarasikan 2ariabel ledPin bernilai #onst int ledPin # 4
// setup() method beralan han"a sekali!//ketika sketh dialankan
2oid setup() 5// inisialisasi nomer pin dengan nilai ledPin!
// sebagai pin Output digital
pinMode(ledPin! O6TP6T)47
// loop() method dialankan berulang kali!
// Selama rduino terhubung ke sumber listrik
2oid loop()5
digital%rite(ledPin! &I'&)4 // set nilai $ED md &I'&dela"(1###)4 // tunggu selama 1###ms
atau 1 detik
digital%rite(ledPin! $O%)4 // set nilai $ED md $O%dela"(1###)4 // tunggu selama 1###ms
atau 1 detik7
,etika simulasi beralan! maka seara otomatis $ED akan mati.
men"ala seara bergantian dengan eda *aktu 1### ms atau 1detik
| S i s t e m M i k r o p r o s e s o r T E I 1 1 3
8eda 1 detik
-
8/18/2019 Pokok Bahasan 12 _ Arduino Print
5/21
Contoh 2 :
kan men"imulasikan mengenai Input digital menggunakan input daripushbutton pabila pushbutton O+ (&I'&) maka lampu $ED akanmen"ala (&I'&)! sedangkan apabila pushbutton O99 ($O%) maka
lampu $ED akan mati ($O%)
,omponen "ang dibutuhkan adalah -. Papan rduino. $ight Emitting Diode ($ED). Push button
Pasang Papan rduino dengan s*ith button dan $ED seperti gambar
diba*ah
,etika Push0utton pada
Pin :
dilepas/dibiarkan maka pin : akan menerima input $O%! sehingga $EDpada pin 13 tidak men"ala ($O%)! sebalikn"a apabila pushbutton di
tekan! maka pin : akan menerima input &I'&! sehingga $ED pada pin13 akan men"ala (&I'&)
! | S i s t e m M i k r o p r o s e s o r T E I 1 1 3
$ED Push0utton
-
8/18/2019 Pokok Bahasan 12 _ Arduino Print
6/21
,ode rduino "ang digunakan adalah sebagi berikut -
pabila pushbutton dilepas / didiamkan saa maka $ED akan mati!apabila push button ditekan maka $ED akan men"ala
" | S i s t e m M i k r o p r o s e s o r T E I 1 1 3
// nilai onst tidak akan berubah! nilai ini akan digunakan untuk
inisialisasi nomer Pinonst int buttonPin :4 // nomer pin push button
onst int ledPin 134 // nomer pin $ED
// 2ariabel "ang dapat berubah
int buttonState #4 // 2ariable digunakan untuk membaa
status pushbutton
2oid setup() 5//inisialisasi pin untuk O6TP6T
pinMode(ledPin! O6TP6T)4
// inisialisasi pin untuk I+P6T
pinMode(buttonPin! I+P6T)4
7
2oid loop() 5
// membaa status pushbutton
buttonState digital;ead(buttonPin)4
//
-
8/18/2019 Pokok Bahasan 12 _ Arduino Print
7/21
# | S i s t e m M i k r o p r o s e s o r T E I 1 1 3
-
8/18/2019 Pokok Bahasan 12 _ Arduino Print
8/21
Contoh 3 :
kan men"imulasikan mengenai output digital melalui > segment >segment terdiri dari > $ED "ang membentuk angkat ? Masing.masing$ED tersebut akan men"ala apabila menerima input &I'& dan akan
mati apabila menerima input $O%
,omponen "ang dibutuhkan adalah -. Papan rduino. > Segment $ED. ,abel penghubung
$ | S i s t e m M i k r o p r o s e s o r T E I 1 1 3
Masing.masing $ED pada > segment akan men"ala apabilamasing.masing kaki "ang me*akili $ED tersebut diberi input
&I'&!begitu pula apabila kaki tersebut diberi input $O% maka$ED tersebut akan mati Pada irtual0readboard! urutan kaki dan
$ED n"a adalah seperti pada gambar diba*ah ini
&uru= a pada kaki me*akili $ED dengan huru= a pula! begitu
uga dengan huru= b! dan seterusn"a
-
8/18/2019 Pokok Bahasan 12 _ Arduino Print
9/21
Pasang Papan rduino dengan > segment seperti pada gambar
diba*ah ini -
% | S i s t e m M i k r o p r o s e s o r T E I 1 1 3
-
8/18/2019 Pokok Bahasan 12 _ Arduino Print
10/21
Dengan rangkaian arduino pada gambar sebelumn"a maka! kode "ang
dibuat untuk men"alakan ? $ED pada > segment seara bergantian
adalah sebagai berikut ini -
1& | S i s t e m M i k r o p r o s e s o r T E I 1 1 3
// inisialisasi $ED "g akan digunakanonst int led
-
8/18/2019 Pokok Bahasan 12 _ Arduino Print
11/21
Setelah inisialisasi $ED dengan eda *aktu masing.masing 1 detik
maka $ED akan seara bergantian men"ala! sesuai dengan pin "angmendapat nilai &I'&!hingga pada akhirn"a men"ala semua seperti
gambar diba*ah ini
,emudian akan ada eda *aktu C detik untuk semua $ED pada >
segment men"ala! sebelum $ED seara bergantian mati! sesuaidengan pin "ang mendapat nilai $O% &ingga pada akhirn"a akan mati
semua seperti gambar diba*ah ini
Dapat pula dilakukan pengaturan pada pin untuk dihasilkan
per*uudan angka tertentu pada > segment! sesuai dengan keinginanMisalkan menginginkan per*uudan angka : dengan menggunakan >
segment! maka $ED "ang harus di n"alakan adalah $ED dengan huru= b! d! e! g dan h Maka kaki "ang diberi input &I'& adalah kaki dengan
huru= b! d! e! g dan h
11 | S i s t e m M i k r o p r o s e s o r T E I 1 1 3
-
8/18/2019 Pokok Bahasan 12 _ Arduino Print
12/21
12 | S i s t e m M i k r o p r o s e s o r T E I 1 1 3
-
8/18/2019 Pokok Bahasan 12 _ Arduino Print
13/21
Operasi hitungmenghitung umlah "ang dilakukan dalam sketh rduino
-
8/18/2019 Pokok Bahasan 12 _ Arduino Print
14/21
// nilai onst tidak akan berubah! nilai ini akan digunakan untuk inisialisasi nomer Pin
onst int buttonPin :4 // nomer pin push button
onst int ledPin 134 // nomer pin $ED// 2ariabel "ang dapat berubah
int buttonPush
-
8/18/2019 Pokok Bahasan 12 _ Arduino Print
15/21
,etika simulasi beralan!ganti tab pesan error menadi output Saat
pushbutton ditekan maka pada tab output akan keluar pesan onJ /oLJ ! serta berapa push button telah ditekan! apabila sudah B kaliditekan atau kelipatann"a! maka lampu $ED akan men"ala
1! | S i s t e m M i k r o p r o s e s o r T E I 1 1 3
-
8/18/2019 Pokok Bahasan 12 _ Arduino Print
16/21
'imer Timer digunakan untuk menghitung satuan *aktu pada arduino!
pada rduino ada : maam pe*aktuan "aitu *aktu seak program
dimulai dengan eda *aktu "g digunakan untuk memberhentikansemetara program
Sebuah timer atau bisa disebut ounter merupakan bagian dari
hard*are rduino Digunakan seperti sebuah am! untuk mengukur*aktu keadian Timer ini diprogram oleh beberapa register khusus
Dapat dilakukan presal untuk timer dan operasi lainn"a
-
8/18/2019 Pokok Bahasan 12 _ Arduino Print
17/21
,ode rduino "ang digunakan adalah sebagi berikut -
1# | S i s t e m M i k r o p r o s e s o r T E I 1 1 3
// memasukan librar" liuid ristal
Qinlude $iuid
-
8/18/2019 Pokok Bahasan 12 _ Arduino Print
18/21
Setelah simulai dimulai maka hasil simulasi akan tampak seperti
gambar diba*ah ini Setelah tulisan hello! *orld H maka akan munulberapa lama program telah beralan (dalam detik)
1$ | S i s t e m M i k r o p r o s e s o r T E I 1 1 3
-
8/18/2019 Pokok Bahasan 12 _ Arduino Print
19/21
InterupsiPada bahan bahasan kali ini akan dibahas mengenai interupsi
dalam rduino Seperti "ang sudah diketahui bah*a sketh
menalankan instruksi seara berurutan Interupsi adalah peristi*aeksternal "ang menggangu urutan program tersebut agar dapat
menalankan instruksi khusus interupsi Setelah instruksi khusus
interupsi program beralan lanut dengan instuksi selanutn"a dankemudian beralan seperti biasa Instruksi ini adalah instruksi mesin!
bukan berupa kode
Interupsi ini dapat di akti=kan atau dinonakti=kan dengan =ungsi
interrupts()/nointerrupts() Seara standar interupsi pada rduinorm*are diakti=kan 0it interupsi di akti=kan/nonakti=kan dengan di
tandai/dibersihkan pada Interrupt mask register (TIMS,) ,etika
interupsi teradi! tanda(ag) interupsi register (TI9;) di pasang
6ntuk dpat mengakses interupsi ini maka kode rduino "angdilakukan akan ke tingkat hard*are kan dioba untuk melakukan
kedipan $ED dengan mambandingkan keookan interupsi Dengan
menggunakan Timer1 dalam mode
-
8/18/2019 Pokok Bahasan 12 _ Arduino Print
20/21
6ntuk kode "ang digunakan adalah sebagi berikut ini -
kode diatas digunakan untuk membuat $ED pada pin 13 berkedip
ketika interupsi dialankan Pemiu dari interupsi ini adalah ketika
*aktu pada T?
http-//***da2e.auldnet/indephpUoptionomVontentW2ie*artileWid1#>-arduino.
interruptsWatidC3-arduino.input.output.basisWItemid1#>http-//blogosarliangnet/arduino.timer.and.interrupt.tutorial/
http-//pla"groundarduino/
-
8/18/2019 Pokok Bahasan 12 _ Arduino Print
21/21
21 | S i s t e m M i k r o p r o s e s o r T E I 1 1 3