pokok bahasan 12 _ arduino print

Upload: khasan-nova-p

Post on 07-Jul-2018

226 views

Category:

Documents


0 download

TRANSCRIPT

  • 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