Laporan Praktikum 3

56
COVER

description

Semua percobaan pada praktikum elektronika 3 ini menggunakan mikrokontroller sebagai bahan praktikumnya.

Transcript of Laporan Praktikum 3

Page 1: Laporan Praktikum 3

COVER

Page 2: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN NASIONAL

UNIVERSITAS SAM RATULANGI MANADO

FAKULTAS TEKNIK JURUSAN TEKNIK ELEKTRO

LABORATORIUM ELEKTRONIKA DAN INSTRUMENTASI

KARTU PRAKTIKUM ELEKTRONIKA III

Nama Praktikan

Temy Nusa NRI Praktikan

100213028

NO Percobaan Nama

Asisten

Nilai Tanggal Paraf Asisten Pre-Test Praktikum Laporan Praktikum ACC

1. LED sebagai Output Yongly .T 90 95 95

2. Push Button sebagai Input dan LED sebagai Output

Yongly .T 85 94 90

3. Fungsi Delay Yongly .T 90 90 95

4. Seven Segment sebagai Output Yongly .T 95 90 90

Mengetahui, Manado, Desember 2013

Kepala Laboratorium Elektronika dan Instrumentasi Koordinator Asisten

Dringhuzen J. Mamahit, ST, M.Eng Yongly A. Tuwaidan NIP: 19761121 200312 2 001 NIM: 090213092

-I-

TEMY NUSA (100213028)

Page 3: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

LEMBAR PENGESAHAN

LAPORAN

PRAKTIKUM ELEKTRONIKA III

PERIFERAL ANTARMUKA

DISETUJUI

Hari / Tanggal :

Nama Asisten : Yongly A. Tuwaidan

NRI Asisten : 090213092

NILAI AKHIR

Mengetahui, Manado, Desember 2013

Kepala Laboratorium Elektronika dan Instrumentasi Koordinator Asisten

Dringhuzen J. Mamahit, ST, M.Eng Yongly A. Tuwaidan NIP: 19761121 200312 2 001 NIM: 090213092

-II-

TEMY NUSA (100213028)

Page 4: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

KATA PENGANTAR

Segala puji dan syukur atas rahmat yang telah diberikan oleh Tuhan Yang Maha Esa, karena atas berkat-Nya penulis dapat menyelesaikan penulisan laporan praktikum elektronika III ini dengan baik.

Penulisan laporan ini bertujuan untuk memenuhi salah satu syarat dalam menyelesaikan praktikum teknik elektronika III. Laporan praktikum elektronika III ini terdiri atas 4 percobaan di mana semua percobaan ini berkaitan dengan pemrograman MikroKontroler ATmega 328 yang terdapat dalam Board Arduino UNO.

Ucapan terima kasih yang sebesar-besarnya kepada semua pihak yang telah banyak membantu baik dalam kegiatan praktikum maupun sampai penulisan laporan ini. Beberapa di antaranya khusus disebutkan yaitu; Enci Dringhuzen G. Mamahit, ST, MT, Kak Yongly Tuwaidan dan teman-teman angkatan 2010 khususnya teman-teman dari minat teknik elektronika.

Disadari sepenuhnya penulisan laporan ini masih banyak kekurangannya sehingga segala masukan maupun koreksi sangat diharapkan. Besar harapannya laporan praktikum ini dapat bermanfaat.

Manado, Desember 2013

Penulis

Temy Nusa 100213028

-III-

TEMY NUSA (100213028)

Page 5: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

DAFTAR ISI

COVER

KARTU PRAKTIKUM ELEKTRONIKA III ...................................................................................................... I

LEMBAR PENGESAHAN .......................................................................................................................... II

KATA PENGANTAR ................................................................................................................................ III

DAFTAR ISI ............................................................................................................................................ IV

DAFTAR GAMBAR ................................................................................................................................. VI

DAFTAR TABEL ..................................................................................................................................... VII

DASAR TEORI ......................................................................................................................................... 1

A. PENDAHULUAN MIKROKONTROLER ....................................................................................................... 2 A.1 Pengertian Mikrokontroller .................................................................................................... 2 A.2 Sejarah Mikrokontroller .......................................................................................................... 2 A.3 Penggunaan Mikrokontroller ................................................................................................. 2

B. ARDUINO ......................................................................................................................................... 3 B.1 Apa sebenarnya Arduino itu ? ................................................................................................ 3 B.2 Arduino UNO r3 ...................................................................................................................... 5 B.3 Bagian-bagian papan Arduino r3 ........................................................................................... 6 B.4 Spesifikasi ARDUINO UNO R3 ................................................................................................. 7 B.5 Karakterisrik Arduino UNO r3 ................................................................................................. 8

B.5.1 Daya (Power) ................................................................................................................................... 8 B.5.2 Memori ............................................................................................................................................ 8 B.5.3 Input dan Output ............................................................................................................................ 8 B.5.4 Komunikasi ...................................................................................................................................... 9 B.5.5 Reset Otomatis (Software) ............................................................................................................ 10 B.5.6 Proteksi Arus lebih USB ................................................................................................................. 10 B.5.7 Karakteristik FIsik .......................................................................................................................... 10

B.6 ATmega 328 .......................................................................................................................... 11 B.6.1 Pin-pin ATMEGA 328 ..................................................................................................................... 11

C. PEMROGRAMAN ARDUINO ................................................................................................................ 13 C.1 IDE Arduino ........................................................................................................................... 13 C.2 Kode-kode Dasar Program pada IDE Arduino ...................................................................... 14

C.2.1 Struktur ......................................................................................................................................... 14 C.2.2 Syntax ............................................................................................................................................ 15 Variabel ................................................................................................................................................... 15 Operator Matematika ............................................................................................................................ 16 Operator Pembanding ............................................................................................................................ 17 Struktur Pengaturan ............................................................................................................................... 17 Digital ...................................................................................................................................................... 17 Analog ..................................................................................................................................................... 18

PERCOBAAN 1 - LED SEBAGAI OUTPUT ............................................................................................... 19

A. TUJUAN ......................................................................................................................................... 20 B. ALAT ............................................................................................................................................. 20 C. PROSEDUR PERCOBAAN .................................................................................................................... 20 D. LISTING PROGRAM ........................................................................................................................... 22

-IV-

TEMY NUSA (100213028)

Page 6: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

D.1 Listing program tampilan pertama ...................................................................................... 22 D.2 listing program tampilan kedua ........................................................................................... 22 D.3 Listing program tampilan ketiga .......................................................................................... 23 D.4 Listing program Tampilan keempat ..................................................................................... 24

FOTO HASIL PERCOBAAN ...................................................................................................................... 25

PERCOBAAN 2 - PUSH BUTTON SEBAGAI INPUT DAN LED SEBAGAI OUTPUT ..................................... 27

A. TUJUAN ......................................................................................................................................... 28 B. ALAT ............................................................................................................................................. 28 C. PROSEDUR PERCOBAAN .................................................................................................................... 28 D. LISTING PROGRAM ........................................................................................................................... 29 FOTO HASIL PERCOBAAN ...................................................................................................................... 31

PERCOBAAN 3 - FUNGSI DELAY .......................................................................................................... 32

A. TUJUAN ......................................................................................................................................... 33 B. ALAT ............................................................................................................................................. 33 C. PROSEDUR PERCOBAAN .................................................................................................................... 33 D. LISTING PROGRAM ........................................................................................................................... 34 FOTO HASIL PERCOBAAN ...................................................................................................................... 36

PERCOBAAN 4 - SEVEN SEGMENT SEBAGAI OUTPUT ......................................................................... 37

A. TUJUAN ......................................................................................................................................... 38 B. ALAT ............................................................................................................................................. 38 C. PROSEDUR PERCOBAAN .................................................................................................................... 38 D. LISTING PROGRAM ........................................................................................................................... 39 FOTO HASIL PERCOBAAN ...................................................................................................................... 42

KESIMPULAN ....................................................................................................................................... 47

DAFTAR PUSTAKA ................................................................................................................................ 48

-V-

TEMY NUSA (100213028)

Page 7: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

DAFTAR GAMBAR

Gambar 1. Beberapa IC mikrontroller yang sering digunakan ............................................................. 2

Gambar 2. Logo Arduino ....................................................................................................................... 3

Gambar 3. Massimo Banzi Milano, salah satu pengembang Arduino ................................................. 4

Gambar 4. Contoh Papan Arduino IJNO r3 ........................................................................................... 5

Gambar 5. Sketsa Papan Arduino ......................................................................................................... 6

Gambar 6. diagram blok sederhana dari microcontroller ATmega328 ............................................. 11

Gambar 7. Pin-pin ATmega328 ........................................................................................................... 12

Gambar 8. Tampilan IDE Arduino ...................................................................................................... 13

Gambar 9. Tampilan 1 ; LED 2, LED 4, LED 6 dan LED 8 Menyala. ..................................................... 25

Gambar 10. Tampilan 2 ; LED 2, LED 7 dan LED 8 Menyala. .............................................................. 25

Gambar 11. Tampilan 3 ; LED 5, LED 6, LED 7 dan LED 8 Menyala. ................................................... 26

Gambar 12. Tampilan 4 ; LED 1, LED 2, LED 3 dan LED 4 Menyala. ................................................... 26

Gambar 13. Tampilan ketika switch di tekan ..................................................................................... 31

Gambar 14. Tampilan ketika rangkaian ON, sebelum switch di tekan ............................................. 31

Gambar 15. Tampilan Running LED dengan fusi Delay ...................................................................... 36

Gambar 16 . Tampilan angka 0 di Seven Segment ............................................................................. 42

Gambar 17. Menampilkan Angka 1 di seven segmen ........................................................................ 42

Gambar 18. Tampilan angka 2 di Seven segmen. .............................................................................. 43

Gambar 19. Tampilan angka 3 di Seven segmen. .............................................................................. 43

Gambar 21. Tampilan angka 4 di Seven segmen. .............................................................................. 44

Gambar 20. Tampilan angka 5 di Seven segmen. .............................................................................. 44

Gambar 22. Tampilan angka 6 di Seven segmen. .............................................................................. 45

Gambar 23. Tampilan angka 6 di Seven segmen. .............................................................................. 45

Gambar 24. Tampilan angka 2 di Seven segmen. .............................................................................. 45

Gambar 25. Tampilan angka 8 di Seven segmen. .............................................................................. 46

Gambar 26. Tampilan angka 9 di Seven segmen. .............................................................................. 46

-VI-

TEMY NUSA (100213028)

Page 8: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

DAFTAR TABEL

Tabel 1. Hubungan Pin Arduino dengan Rangkaian LED .................................................................... 20

Tabel 2. Variasi Logika LED sebagai output ........................................................................................ 21

Tabel 3. Hubungan Pin Arduino dengan rangkaian LED dan Push Button ......................................... 28

Tabel 4. Hubungan Pin Arduino dengan Rangkaian LED .................................................................... 33

Tabel 5. Hubungan Pin Arduino dengan Rangkaian LED .................................................................... 38

Tabel 6. Logika Output untuk tampilan angka pada Seven segmen. ................................................. 38

-VII-

TEMY NUSA (100213028)

Page 9: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

DASAR TEORI

-1-

TEMY NUSA (100213028)

Page 10: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

A. PENDAHULUAN MIKROKONTROLER

Semua percobaan pada praktikum elektronika 3 ini menggunakan mikrokontroller sebagai bahan praktikumnya. Berikut penjelasan singkat tentang apa sebenarnya mikrokontroller itu.

A.1 PENGERTIAN MIKROKONTROLLER

Mikrokontroler (bahasa Inggris: microcontroller) merupakan sistem mikroprosesor lengkap yang terkandung di dalam sebuah chip. Mikrokontroler berbeda dari mikroprosesor serba guna yang digunakan dalam sebuah PC, karena di dalam sebuah mikrokontroler umumnya telah terdapat komponen pendukung sistem minimal mikroprosesor, yakni memori dan antarmuka I/O, bahkan ada beberapa jenis mikrokontroler yang memiliki fasilitas ADC, PLL, EEPROM dalam satu kemasan, sedangkan di dalam mikroprosesor umumnya hanya berisi CPU saja.

Gambar 1. Beberapa IC mikrontroller yang sering digunakan

Secara khusus dapat dikatakan bahwa mikrokontroller merupakan suatu alat elektronika digital yang mempunyai masukan dan keluaran serta kendali dengan program yang bisa ditulis dan dihapus dengan cara khusus.

A.2 SEJARAH MIKROKONTROLLER

Mikrokontroler yang populer pertama kali dibuat oleh Intel pada tahun 1976, yaitu mikrokontroler 8-bit seri Intel 8748. Mikrokontroler tersebut adalah bagian dari keluarga mikrokontroler MCS-48. Sebelumnya, Texas instruments telah memasarkan mikrokontroler 4-bit pertama yaitu TMS 1000 pada tahun 1974. TMS 1000 yang mulai dibuat sejak 1971 adalah mikrokomputer dalam sebuah chip, lengkap dengan RAM dan ROM.

A.3 PENGGUNAAN MIKROKONTROLLER

Dalam Hal penggunaannya, sistem mikrokontroller lebih banyak dipakai pada aplikasi yang deterministik, artinya sistem ini dipakai untuk keperluan yang tertentu saja misalkan sebagai pengontrol PID pada instrumentasi industri, pengontrol komunikasi data pada sistem kontrol terdistribusi dan sebagainya.

-2-

TEMY NUSA (100213028)

Page 11: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

B. ARDUINO

Pada praktikum elektronika 3 kali ini terjadi perubahan penggunaan mikrokontroller, jika pada praktikum elektronika 3 sebelumnya menggunakan sistem minimum ATmega16, maka pada praktikum elektronika 3 kali ini kami menggunakan sebuah platform mikrokontroller yang bernama Arduino. Apa sebenarnya Arduino ? kenapa kami menggunakannya sebagai pengganti sistem minimum ATmega16 dan apa saja seluk-beluknya akan kami jelaskan sebagai berikut.

B.1 APA SEBENARNYA ARDUINO ITU ?

Pada Laman Wikipedia Ensikopedia bebas berbahasa Indonesia tentang Arduino dikatakan bahwa Arduino merupakan sebuah pengendali mikro single-board yang bersifat open-source, diturunkan dari Wiring platform dan dirancang untuk memudahkan penggunaan elektronik dalam berbagai bidang. Hardwarenya memiliki prosesor Atmel AVR atau Atmel ARM dan softwarenya memiliki bahasa pemrograman sendiri.

Gambar 2. Logo Arduino

Menurut Massimo Banzi salah satu pengembangnya mengatakan:

Arduino is an open source physical computing platform based on a simple input/output (I/O) board and a development environment that implements the Processing language (www.processing.org). Arduino can be used to develop standalone interactive objects or can be connected to software on your computer (such as Flash, Processing, VVVV, or Max/MSP). The boards can be assembled by hand or purchased preassembled; the open source IDE (Integrated Development Environment) can be downloaded for free from www.arduino.cc.

Arduino adalah sebuah platform komputasi fisik open source berbasiskan Rangkain input / output sederhana (I/O) dan lingkungan pengembangan yang mengimplementasikan bahasa Processing (www.processing.org). Arduino dapat digunakan untuk mengembangkan obyek interaktif mandiri atau dapat dihubungkan ke perangkat lunak pada komputer Anda (seperti Flash, Pengolahan, VVVV, atau Max / MSP). Rangkaiannya dapat dirakit dengan tangan atau dibeli; IDE-nya yang bersifat open source (Integrated Development Environment) dapat didownload secara gratis dari www.arduino.cc.

-3-

TEMY NUSA (100213028)

Page 12: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

Untuk memahami Arduino, terlebih dahulu kita harus memahami terlebih dahulu apa yang dimaksud dengan physical computing. Physical computing adalah membuat sebuah sistem atau perangkat fisik dengan menggunakan software dan hardware yang sifatnya interaktif yaitu dapat menerima rangsangan dari lingkungan dan merespon balik. Physical computing adalah sebuah konsep untuk memahami hubungan yang manusiawi antara lingkungan yang sifat alaminya adalah analog dengan dunia digital. Pada prakteknya konsep ini diaplikasikan dalam desain-desain alat atau proyek-proyek yang menggunakan sensor dan mikrokontroller untuk menerjemahkan input analog ke dalam sistem software untuk mengontrol gerakan alat-alat elektro-mekanik seperti lampu, motor dan sebagainya.1

Arduino adalah sebagai sebuah platform dari physical computing yang bersifat open source. Disebut sebagai Platform karena, Arduino tidak hanya sekedar sebuah alat pengembangan, tetapi ia adalah suatu kombinasi dari hardware, bahasa pemrograman dan Integrated Development Environment (IDE)2 yang canggih. Ada banyak projek dan alat-alat dikembangkan oleh akademisi dan profesional dengan menggunakan Arduino, selain itu juga ada banyak modul-modul pendukung (sensor, tampilan, penggerak dan sebagainya) yang dibuat oleh pihak lain untuk bisa disambungkan dengan Arduino. Arduino berevolusi menjadi sebuah platform karena ia menjadi pilihan dan acuan bagi banyak praktisi.

Gambar 3. Massimo Banzi Milano, salah satu pengembang Arduino

Arduino dikembangkan oleh sebuah tim yang beranggotakan orang-orang dari berbagai belahan dunia. Anggota inti dari tim ini adalah:

Massimo Banzi Milano, Italy David Cuartielles Malmoe, Sweden Tom Igoe New York, US Gianluca Martino Torino, Italy David A. Mellis Boston, MA, USA

1 Feri Djuandi, Pengenalan Arduino, 2011 2 IDE adalah sebuah software yang sangat berperan untuk menulis program, meng-compile menjadi kode biner dan meng-upload ke dalam memory microcontroller

-4-

TEMY NUSA (100213028)

Page 13: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

Beberapa kelebihan yang dimiliki oleh Arduino yang menarik banyak pengguna adalah;

Harganya murah, dibandingkan platform yang lain. Lintas platform, software Arduino dapat dijalankan pada system operasi Windows,

Macintosh OSX dan Linux. Sangat mudah dipelajari dan digunakan. Sistem yang terbuka, baik dari sisi hardware maupun software-nya

B.2 ARDUINO UNO R3

Dari beberapa jenis papan Arduino yang tersedia, pada praktikum ini kami menggunakan jenis papan Arduino UNO r3. Arduino UNO adalah sebuah board mikrokontroler yang didasarkan pada ATmega328. “Uno” berarti satu dalam bahasa Italia dan dinamai untuk menandakan keluaran (produk) Arduino 1.0 selanjutnya. Arduino UNO dan versi 1.0 menjadi referensi untuk versi-versi Arduino selanjutnya. Arduino UNO adalah sebuah seri terakhir dari board Arduino USB dan model referensi untuk papan Arduino.

Gambar 4. Contoh Papan Arduino IJNO r3

Arduino Uno berbeda dari semua board Arduino sebelumnya, Arduino UNO tidak menggunakan chip driver FTDI USB-to-serial. Sebaliknya, fitur-fitur Atmega16U2 (Atmega8U2 sampai ke versi R2) diprogram sebagai sebuah pengubah USB ke serial. Revisi 2 dari board Arduino Uno mempunyai sebuah resistor yang menarik garis 8U2 HWB ke ground, yang membuatnya lebih mudah untuk diletakkan ke dalam DFU mode. Revisi 3 dari board Arduino UNO memiliki fitur-fitur baru sebagai berikut:

Pinout 1.0: ditambah pin SDA dan SCL yang dekat dengan pin AREF dan dua pin baru lainnya yang diletakkan dekat dengan pin RESET, IOREF yang memungkinkan shield-shield untuk menyesuaikan tegangan yang disediakan dari board. Untuk ke depannya, shield akan dijadikan kompatibel/cocok dengan board yang menggunakan AVR yang beroperasi dengan tegangan 5V dan dengan Arduino Due yang beroperasi dengan tegangan 3.3V. Yang ke-dua ini merupakan sebuah pin yang tak terhubung, yang disediakan untuk tujuan ke depannya.

Sirkit RESET yang lebih kuat. Atmega 16U2 menggantikan 8U2.

-5-

TEMY NUSA (100213028)

Page 14: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

B.3 BAGIAN-BAGIAN PAPAN ARDUINO R3

Berikut ini merupakan sebuah gambaran atau sketsa dari papan Arduino r3.

Gambar 5. Sketsa Papan Arduino

Bagian-bagianya dapat dijelaskan sebagai berikut;

14 pin input/output digital (0-13)

Berfungsi sebagai input atau output, dapat diatur oleh program. Khusus untuk 6 buah pin 3, 5, 6, 9, 10 dan 11, dapat juga berfungsi sebagai pin analog

output dimana tegangan output-nya dapat diatur. Nilai sebuah pin output analog dapat diprogram antara 0 – 255, dimana hal itu mewakili nilai tegangan 0 – 5V.

USB

Berfungsi untuk: Memuat program dari komputer ke dalam papan Komunikasi serial antara papan dan komputer Memberi daya listrik kepada papan

Q1 – Kristal (quartz crystal oscillator)

Jika microcontroller dianggap sebagai sebuah otak, maka kristal adalah jantung-nya karena komponen ini menghasilkan detak-detak yang dikirim kepada microcontroller agar melakukan sebuah operasi untuk setiap detak-nya. Kristal ini dipilih yang berdetak 16 juta kali per detik (16MHz).

-6-

TEMY NUSA (100213028)

Page 15: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

Tombol Reset S1

Untuk me-reset papan sehingga program akan mulai lagi dari awal. Perhatikan bahwa tombol reset ini bukan untuk menghapus program atau mengosongkan microcontroller.

In-Circuit Serial Programming (ICSP)

Port ICSP memungkinkan pengguna untuk memprogram microcontroller secara langsung, tanpa melalui bootloader. Umumnya pengguna Arduino tidak melakukan ini sehingga ICSP tidak terlalu dipakai walaupun disediakan.

IC 1 – Microcontroller Atmega

Komponen utama dari papan Arduino, di dalamnya terdapat CPU, ROM dan RAM.

X1 – sumber daya eksternal

Jika hendak disuplai dengan sumber daya eksternal, papan Arduino dapat diberikan tegangan DC antara 9-12V.

6 pin input analog (0-5)

Pin ini sangat berguna untuk membaca tegangan yang dihasilkan oleh sensor analog, seperti sensor suhu. Program dapat membaca nilai sebuah pin input antara 0 – 1023, dimana hal itu mewakili nilai tegangan 0 – 5V.

B.4 SPESIFIKASI ARDUINO UNO R3

Secara ringkas berikut spesifikasi dari arduino UNO r3

Mikrokontroler : ATmega328

Tegangan pengoperasian : 5V

Tegangan input yang disarankan : 7-12V

Batas tegangan input : 6-20V

Jumlah pin I/O digital : 14 (6 di antaranya menyediakan keluaran PWM)

Jumlah pin input analog : 6

Arus DC tiap pin I/O : 40 mA

Arus DC untuk pin 3.3V : 50 mA

Memori Flash : 32 KB (ATmega328), sekitar 0.5 KB digunakan oleh bootloader

SRAM : 2 KB (ATmega328)

EEPROM : 1 KB (ATmega328)

Clock Speed : 16 MHz

-7-

TEMY NUSA (100213028)

Page 16: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

B.5 KARAKTERISRIK ARDUINO UNO R3

B.5.1 DAYA (POWER)

Arduino UNO dapat disuplai melalui koneksi USB atau dengan sebuah power suplai eksternal. Sumber daya dipilih secara otomatis. Suplai eksternal (non-USB) dapat diperoleh dari sebuah adaptor AC ke DC atau battery. Adaptor dapat dihubungkan dengan mencolokkan sebuah center-positive plug yang panjangnya 2,1 mm ke power jack dari board. Kabel lead dari sebuah battery dapat dimasukkan dalam header/kepala pin Ground (Gnd) dan pin Vin dari konektor POWER.

Board Arduino UNO dapat beroperasi pada sebuah suplai eksternal 6 sampai 20 Volt. Jika disuplai dengan yang lebih kecil dari 7 V, kiranya pin 5 Volt mungkin mensuplai kecil dari 5 Volt dan board Arduino UNO bisa menjadi tidak stabil. Jika menggunakan suplai yang lebih dari besar 12 Volt, voltage regulator bisa kelebihan panas dan membahayakan board Arduino UNO. Range yang direkomendasikan adalah 7 sampai 12 Volt.

Pin-pin dayanya adalah sebagai berikut:

VIN

Tegangan input ke Arduino board ketika board sedang menggunakan sumber suplai eksternal (seperti 5 Volt dari koneksi USB atau sumber tenaga lainnya yang diatur). Kita dapat menyuplai tegangan melalui pin ini, atau jika penyuplaian tegangan melalui power jack, aksesnya melalui pin ini.

5V

Pin output ini merupakan tegangan 5 Volt yang diatur dari regulator pada board. Board dapat disuplai dengan salah satu suplai dari DC power jack (7-12V), USB connector (5V), atau pin VIN dari board (7-12). Penyuplaian tegangan melalui pin 5V atau 3,3V membypass regulator, dan dapat membahayakan board. Hal itu tidak dianjurkan.

3V3

Sebuah suplai 3,3 Volt dihasilkan oleh regulator pada board. Arus maksimum yang dapat dilalui adalah 50 mA.

GND

Pin ground.

B.5.2 MEMORI

ATmega328 mempunyai 32 KB (dengan 0,5 KB digunakan untuk bootloader). ATmega 328 juga mempunyai 2 KB SRAM dan 1 KB EEPROM (yang dapat dibaca dan ditulis (RW/read and written) dengan EEPROM library).

B.5.3 INPUT DAN OUTPUT

Setiap 14 pin digital pada Arduino Uno dapat digunakan sebagai input dan output, menggunakan fungsi pinMode(), digitalWrite(), dan digitalRead(). Fungsi-fungsi tersebut beroperasi di tegangan 5 Volt. Setiap pin dapat memberikan atau menerima suatu arus maksimum 40 mA dan mempunyai sebuah resistor pull-up (terputus secara default) 20-50 kΩ. Selain itu, beberapa pin mempunyai fungsi-fungsi spesial:

-8-

TEMY NUSA (100213028)

Page 17: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

Serial: 0 (RX) dan 1 (TX).

Digunakan untuk menerima (RX) dan memancarkan (TX) serial data TTL (Transistor-Transistor Logic). Kedua pin ini dihubungkan ke pin-pin yang sesuai dari chip Serial Atmega8U2 USB-ke-TTL.

External Interrupts: 2 dan 3.

Pin-pin ini dapat dikonfigurasikan untuk dipicu sebuah interrupt (gangguan) pada sebuah nilai rendah, suatu kenaikan atau penurunan yang besar, atau suatu perubahan nilai.

PWM: 3, 5, 6, 9, 10, dan 11.

Memberikan 8-bit PWM output dengan fungsi analogWrite().

SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK).

Pin-pin ini mensupport komunikasi SPI menggunakan SPI library.

LED: 13

Ada sebuah LED yang terpasang, terhubung ke pin digital 13. Ketika pin bernilai HIGH LED menyala, ketika pin bernilai LOW LED mati.

6 input analog

Diberi label A0 sampai A5, setiap port memberikan resolusi 10 bit (contohnya 1024 nilai yang berbeda). Secara default, 6 input analog tersebut mengukur dari ground sampai tegangan 5 Volt, dengan itu mungkin untuk mengganti batas atas dari rangenya dengan menggunakan pin AREF dan fungsi analogReference(). Di sisi lain, beberapa pin mempunyai fungsi spesial:

TWI: pin A4 atau SDA dan pin A5 atau SCL

Mensupport komunikasi TWI dengan menggunakan Wire library

AREF

Referensi tegangan untuk input analog. Digunakan dengan analogReference().

Reset

Secara khusus, digunakan untuk menambahkan sebuah tombol reset.

B.5.4 KOMUNIKASI

Arduino UNO mempunyai sejumlah fasilitas untuk komunikasi dengan sebuah komputer, Arduino atau mikrokontroler lainnya. Atmega 328 menyediakan serial komunikasi UART TTL (5V), yang tersedia pada pin digital 0 (RX) dan 1 (TX). Sebuah Atmega 16U2 pada channel board serial komunikasinya melalui USB dan muncul sebagai sebuah port virtual ke software pada komputer. Firmware 16U2 menggunakan driver USB COM standar, dan tidak ada driver eksternal yang dibutuhkan. LED RX dan TX pada board akan menyala ketika data sedang ditransmit melalui chip USB-to-serial dan koneksi USB pada komputer (tapi tidak untuk komunikasi serial pada pin 0 dan 1). Atmega328 juga mensupport komunikasi I2C (TWI) dan SPI.

-9-

TEMY NUSA (100213028)

Page 18: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

B.5.5 RESET OTOMATIS (SOFTWARE)

Dari pada mengharuskan sebuah penekanan fisik dari tombol reset sebelum sebuah penguploadan, Arduino Uno didesain pada sebuah cara yang memungkinkannya untuk direset dengan software yang sedang berjalan pada pada komputer yang sedang terhubung. Salah satu garis kontrol aliran hardware (DTR) dari ATmega8U2/16U2 dihubungkan ke garis reset dari ATmega328 melalui sebuah kapasitor 100 nanofarad. Ketika saluran ini dipaksakan (diambil rendah), garis reset jatuh cukup panjang untuk mereset chip. Software Arduino menggunakan kemampuan ini untuk memungkinkan kita untuk mengupload kode dengan mudah menekan tombol upload di software Arduino. Ini berarti bahwa bootloader dapat mempunyai sebuah batas waktu yang lebih singkat, sebagai penurunan dari DTR yang dapat menjadi koordinasi yang baik dengan memulai penguploadan.

Pengaturan ini mempunyai implikasi. Ketika Arduino Uno dihubungkan ke sebuah komputer lain yang sedang running menggunakan OS Mac X atau Linux, Arduino Uno mereset setiap kali sebuah koneksi dibuat dari software (melalui USB). Untuk berikutnya, setengah-detik atau lebih, bootloader sedang berjalan pada Arduino UNO. Ketika Arduino UNO diprogram untuk mengabaikan data yang cacat/salah (contohnya apa saja selain sebuah penguploadan kode baru) untuk menahan beberapa bit pertama dari data yang dikirim ke board setelah sebuah koneksi dibuka. Jika sebuah sketch sedang berjalan pada board menerima satu kali konfigurasi atau data lain ketika sketch pertama mulai, memastikan bahwa software yang berkomunikasi menunggu satu detik setelah membuka koneksi dan sebelum mengirim data ini.

Arduino Uno berisikan sebuah jejak yang dapat dihapus untuk mencegah reset otomatis. Pad pada salah satu sisi dari jejak dapat disolder bersama untuk mengaktifkan kembali. Pad itu diberi label “RESET-RN” Kita juga dapat menonaktifkan reset otomatis dengan menghubungkan sebuah resistor 110 ohm dari tegangan 5V ke garis reset; lihat thread forum ini untuk lebih jelasnya.

B.5.6 PROTEKSI ARUS LEBIH USB

Arduino UNO mempunyai sebuah sebuah sekring reset yang memproteksi port USB komputer dari hubungan pendek dan arus lebih. Walaupun sebagian besar komputer menyediakan proteksi internal sendiri, sekring menyediakan sebuah proteksi tambahan. Jika lebih dari 500 mA diterima port USB, sekring secara otomatis akan memutuskan koneksi sampai hubungan pendek atau kelebihan beban hilang.

B.5.7 KARAKTERISTIK FISIK

Panjang dan lebar maksimum dari PCB Arduino UNO masing-masingnya adalah 2.7 dan 2.1 inci, dengan konektor USB dan power jack yang memperluas dimensinya. Empat lubang sekrup memungkinkan board untuk dipasangkan ke sebuah permukaan atau kotak. Sebagai catatan, bahwa jarak antara pin digital 7 dan 8 adalah 160 mil. (0.16"), bukan sebuah kelipatan genap dari jarak 100 mil dari pin lainnya.

-10-

TEMY NUSA (100213028)

Page 19: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

B.6 ATMEGA 328

Komponen utama di dalam papan Arduino adalah sebuah microcontroller 8 bit dengan merk ATmega yang dibuat oleh perusahaan Atmel Corporation. Berbagai papan Arduino menggunakan tipe ATmega yang berbeda-beda tergantung dari spesifikasinya, sebagai contoh Arduino Uno menggunakan ATmega328 sedangkan Arduino Mega 2560 yang lebih canggih menggunakan ATmega2560. Untuk memberikan gambaran mengenai apa saja yang terdapat di dalam sebuah microcontroller, pada gambar berikut ini diperlihatkan contoh diagram blok sederhana dari microcontroller ATmega328.

Gambar 6. diagram blok sederhana dari microcontroller ATmega328

Blok-blok di atas dijelaskan sebagai berikut:

Universal Asynchronous Receiver/Transmitter (UART) adalah antar muka yang digunakan untuk komunikasi serial seperti pada RS-232, RS-422 dan RS-485.

2KB RAM pada memory kerja bersifat volatile (hilang saat daya dimatikan), digunakan oleh variable-variabel di dalam program.

32KB RAM flash memory bersifat non-volatile, digunakan untuk menyimpan program yang dimuat dari komputer. Selain program, flash memory juga menyimpan bootloader. Bootloader adalah program inisiasi yang ukurannya kecil, dijalankan oleh CPU saat daya dihidupkan. Setelah bootloader selesai dijalankan, berikutnya program di dalam RAM akan dieksekusi.

1KB EEPROM bersifat non-volatile, digunakan untuk menyimpan data yang tidak boleh hilang saat daya dimatikan. Tidak digunakan pada papan Arduino.

Central Processing Unit (CPU), bagian dari microcontroller untuk menjalankan setiap instruksi dari program.

Port input/output, pin-pin untuk menerima data (input) digital atau analog, dan mengeluarkan data (output) digital atau analog.

B.6.1 PIN-PIN ATMEGA 328

-11-

TEMY NUSA (100213028)

Page 20: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

Gambar 7. Pin-pin ATmega328

Deskripsi

• VCC

Tegangan Digital Supply.

• GND

Ground.

• Port B (PB7:0) XTAL1/XTAL2/TOSC1/TOSC2

Port B adalah port I/O 8-bit bi-directional (2 arah) dengan resistor pull-up internal ((dipilih untuk setiap bit). Penyangga Port B mempunyai karakteristik yang simetris dengan dua sink yang tinggi.

Port C ( PC5 : 0 )

Port C adalah port I/O 8-bit bi-directional (2 arah) dengan resistor pull- up internal (dipilih untuk setiap bit ). Keluaran penyangga PC5..0 memiliki karakteristik drive yang simetris dengan kedua sink tinggi dan kemampuan sumber.

PC6/RESET

Jika RSTDISBL Fuse diprogram , PC6 digunakan sebagai pin I/O. Perhatikan bahwa karakteristik listrik dari PC6 berbeda dari pin lain pada Port C. Jika RSTDISBL Fuse adalah tak terprogram, PC6 digunakan sebagai masukan kembali. Tingkat rendah pada pin ini selama lebih dari panjang pulsa minimum akan menghasilkan ulang, bahkan jika clock tidak berjalan.

Port D ( PD7 : 0 )

Port D adalah port I/O 8-bit bi-directional (2 arah) dengan resistor pull- up internal (dipilih untuk setiap bit). Keluaran penyangga Port D memiliki karakteristik drive yang simetris dengan kedua sink tinggi dan kemampuan sumber.

-12-

TEMY NUSA (100213028)

Page 21: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

AVCC

AVCC adalah pin suplai tegangan untuk A/D Converter, PC3:0 , dan ADC7:6. perlu dihubungkan eksternal ke VCC, bahkan jika ADC tidak digunakan. Jika ADC digunakan , harus dihubungkan ke VCC melalui low-pass filter. Perhatikan bahwa PC6 .. 4 menggunakan tegangan suplai digital, VCC.

AREF

AREF adalah pin referensi analog untuk A / D Converter.

ADC7 : 6 ( TQFP dan QFN / MLF Paket Only)

Dalam TQFP dan paket QFN / MLF , ADC7 : 6 dapat digunakan sebagai masukan analog ke pin A / D converter.

C. PEMROGRAMAN ARDUINO

Dalam hal memprogram Arduino ini kami akan membahas tentang dua bagian yakni tentang software untuk memprogram Arduino yang bisa disebut dengan IDE Arduino dan kode-kode dasar programnya.

C.1 IDE ARDUINO

Gambar 8. Tampilan IDE Arduino

Untuk mulai memprogram, dibutuhkan IDE Arduino. IDE Arduino adalah software yang sangat canggih ditulis dengan menggunakan Java. IDE Arduino terdiri dari:

Editor program sebuah window yang memungkinkan pengguna menulis dan mengedit program dalam bahasa Processing.

-13-

TEMY NUSA (100213028)

Page 22: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

Compiler sebuah modul yang mengubah kode program (bahasa Processing) menjadi kode biner. Bagaimanapun sebuah microcontroller tidak akan bisa memahami bahasa Processing. Yang bisa dipahami oleh microcontroller adalah kode biner. Itulah sebabnya compiler diperlukan dalam hal ini.

Uploader sebuah modul yang memuat kode biner dari komputer ke dalam memory di dalam papan Arduino. Arduino menggunakan pemrograman dengan bahasa C. Berikut ini adalah sedikit penjelasan singkat mengenai karakter bahasa C dan software Arduino.

Pada gambar 8, terdapat, beberapa tombol yang mempunyai fungsi sebagai berikut:

Verify: Cek error dan lakukan kompilasi kode

Upload: Upload kode anda ke board/kontroler. Asumsi bahwa board dan serial port telah disetting dengan benar.

New: Membuat aplikasi baru.

Open: Buka proyek yang telah ada atau dari contoh-contoh/examples.

Save: Simpan proyek anda.

Serial Monitor: Membuka serial port monitor untuk melihat feedback/umpan balik dari Board anda.

Proses kerja Arduino ialah anda melakukan pemrograman pada IDE, compile, dan upload binary/hex file ke kontroler. Berbeda dengan Processing yang kode hasil compile langsung dijalankan di komputer, kode hasil compile Arduino harus diupload ke kontroler sehingga dapat dijalankan

C.2 KODE-KODE DASAR PROGRAM PADA IDE ARDUINO

Seperti yang telah disebutkan sebelumnya bahwa untuk memprogram Arduino kita menggunakan sebuah kode program khusus yang mirip dengan struktur bahasa C.

C.2.1 STRUKTUR

Setiap program Arduino (biasa disebut sketch) mempunyai dua buah fungsi yang harus ada.

void setup( ) { }

• Semua kode didalam kurung kurawal akan dijalankan hanya satu kali ketika program Arduino dijalankan untuk pertama kalinya.

void loop( ) { }

-14-

TEMY NUSA (100213028)

Page 23: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

• Fungsi ini akan dijalankan setelah setup (fungsi void setup) selesai. Setelah dijalankan satu kali fungsi ini akan dijalankan lagi, dan lagi secara terus menerus sampai catu daya (power) dilepaskan.

C.2.2 SYNTAX

Berikut ini adalah elemen bahasa C yang dibutuhkan untuk format penulisan.

//(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.

/* */(komentar banyak baris)

• Jika anda punya 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.

{ }(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).

VARIABEL

Sebuah program secara garis besar dapat didefinisikan sebagai instruksi untuk memindahkan angka dengan cara yang cerdas. Variabel inilah yang digunakan untuk memindahkannya.

int (integer)

• Digunakan untuk menyimpan angka dalam 2 byte (16 bit). Tidak mempunyai angka desimal dan menyimpan nilai dari -32,768 dan 32,767.

long (long)

• Digunakan ketika integer tidak mencukupi lagi. Memakai 4 byte (32 bit) dari memori (RAM) dan mempunyai rentang dari -2,147,483,648 dan 2,147,483,647.

boolean (boolean)

-15-

TEMY NUSA (100213028)

Page 24: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

• Variabel sederhana yang digunakan untuk menyimpan nilai TRUE (benar) atau FALSE (salah). Sangat berguna karena hanya menggunakan 1 bit dari RAM.

float (float)

• Digunakan untuk angka desimal (floating point). Memakai 4 byte (32 bit) dari RAM dan mempunyai rentang dari -3.4028235E+38 dan 3.4028235E+38.

char (character)

• Menyimpan 1 karakter menggunakan kode ASCII (misalnya ‘A’ = 65). Hanya memakai 1 byte (8 bit) dari RAM.

OPERATOR MATEMATIKA

Operator yang digunakan untuk memanipulasi angka (bekerja seperti matematika yang sederhana).

=

• Membuat sesuatu menjadi sama dengan nilai yang lain (misalnya: x = 10 * 2, x sekarang sama dengan 20).

%

• Menghasilkan sisa dari hasil pembagian suatu angka dengan angka yang lain (misalnya: 12 % 10, ini akan menghasilkan angka 2).

+

• Penjumlahan

-

• Pengurangan

*

• Perkalian

/

• Pembagian

-16-

TEMY NUSA (100213028)

Page 25: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

OPERATOR PEMBANDING

Digunakan untuk membandingkan nilai logika.

==

• Sama dengan (misalnya: 12 == 10 adalah FALSE (salah) atau 12 == 12 adalah TRUE (benar))

!=

• Tidak sama dengan (misalnya: 12 != 10 adalah TRUE (benar) atau 12 != 12 adalah FALSE (salah))

<

• Lebih kecil dari (misalnya: 12 < 10 adalah FALSE (salah) atau 12 < 12 adalah FALSE (salah) atau 12 < 14 adalah TRUE (benar))

>

• Lebih besar dari (misalnya: 12 > 10 adalah TRUE (benar) atau 12 > 12 adalah FALSE (salah) atau 12 > 14 adalah FALSE (salah))

STRUKTUR PENGATURAN

Program sangat tergantung pada pengaturan apa yang akan dijalankan berikutnya, berikut ini adalah elemen dasar pengaturan.

1. if..else, dengan format seperti berikut ini:

if (kondisi) { } else if (kondisi) { } else { }

Dengan struktur seperti diatas program akan menjalankan kode yang ada di dalam kurung kurawal jika kondisinya TRUE, dan jika tidak (FALSE) maka akan diperiksa apakah kondisi pada else if dan jika kondisinya FALSE maka kode pada else yang akan dijalankan.

2. for, dengan format seperti berikut ini:

for (int i = 0; i < #pengulangan; i++) { }

Digunakan bila anda ingin melakukan pengulangan kode di dalam kurung kurawal beberapa kali, ganti #pengulangan dengan jumlah pengulangan yang diinginkan. Melakukan penghitungan ke atas dengan i++ atau ke bawah dengan i–.

DIGITAL

-17-

TEMY NUSA (100213028)

Page 26: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

pinMode (pin, mode)

• Digunakan untuk menetapkan mode dari suatu pin, pin adalah nomor pin yang akan digunakan dari 0-19 (pin analog 0-5 adalah 14-19). Mode yang bisa digunakan adalah INPUT atau OUTPUT.

digitalWrite(pin, value)

• Ketika sebuah pin ditetapkan sebagai OUTPUT, pin tersebut dapat dijadikan HIGH (ditarik menjadi 5 volts) atau LOW (diturunkan menjadi ground).

digitalRead(pin)

• Ketika sebuah pin ditetapkan sebagai INPUT maka anda dapat menggunakan kode ini untuk mendapatkan nilai pin tersebut apakah HIGH (ditarik menjadi 5 volts) atau LOW (diturunkan menjadi ground).

ANALOG

Arduino adalah mesin digital tetapi mempunyai kemampuan untuk beroperasi di dalam alam analog (menggunakan trik). Berikut ini cara untuk menghadapi hal yang bukan digital.

analogWrite(pin, value)

• Beberapa pin pada Arduino mendukung PWM (pulse width modulation) yaitu pin 3, 5, 6, 9, 10, 11. Ini dapat merubah pin hidup (on)atau mati (off) dengan sangat cepat sehingga membuatnya dapat berfungsi layaknya keluaran analog. Value (nilai) pada format kode tersebut adalah angka antara 0 ( 0% duty cycle ~ 0V) dan 255 (100% duty cycle ~ 5V).

analogRead(pin)

• Ketika pin analog ditetapkan sebagai INPUT anda dapat membaca keluaran voltase-nya. Keluarannya berupa angka antara 0 (untuk 0 volts) dan 1024 (untuk 5 volts).

-18-

TEMY NUSA (100213028)

Page 27: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

PERCOBAAN 1 - LED SEBAGAI OUTPUT

-19-

TEMY NUSA (100213028)

Page 28: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

A. TUJUAN

[1] Menyalakan LED yang tehubung pada Port Digital I/O Arduino dengan berbagai variasi Output.

B. ALAT

1. Satu unit personal komuter.

2. Arduino UNO Board R3.

3. Rangkaian LED

C. PROSEDUR PERCOBAAN

1. Hubungkan rangkaian LED dengan Port I/O digital arduino dengan menggunakan kabel jumper sesuai dengan hubungan pin pada tabel berikut :

Tabel 1. Hubungan Pin Arduino dengan Rangkaian LED

Arduino Pin digital I/O Rangkaian LED

GND GND

D2 LED1

D3 LED2

D4 LED3

D5 LED4

D6 LED5

D7 LED6

D8 LED7

D9 LED8

2. Buka arduino IDE untuk memulai membuat program.

Gambar 1. Tampilan Arduino IDE

-20-

TEMY NUSA (100213028)

Page 29: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

3. Tulislah listing program sebagai berikut pada arduino IDE

// deklarasi variabel

int led[] = {2,3,4,5,6,7,8,9};

// pengaturan pin I/O sebagai output atau sebagai input void setup() {

for(int i = 0; i < 8; i++)

{ pinMode(led[i],OUTPUT); } }

// Perintah program yang akan diproses secara berulang-ulang oleh mikrokontroler. void loop()

{

digitalWrite (led[0], 1); digitalWrite (led[1], 1); digitalWrite (led[2], 1); digitalWrite (led[3], 1); digitalWrite (led[4], 1); digitalWrite (led[5], 1); digitalWrite (led[6], 1); digitalWrite (led[7], 1);

}

Dapat dilihat, program diatas untuk menghidupkan semua LED ke arduino digital I/O.

4. Buatlah beberapa variasi logika LED sebagai output, sesuai dengan tabel berikut ini :

Tabel 2. Variasi Logika LED sebagai output

Tampilan LAMPU LED

LED 1 LED 2 LED 3 LED 4 LED 5 LED 6 LED 7 LED 8

Tampilan Pertama 0 1 0 1 0 1 0 1

Tampilan Kedua 1 0 1 0 1 0 1 0

Tampilan ketiga 0 0 1 1 0 0 1 1

Tampilan keempat 1 1 1 1 0 0 0 0

-21-

TEMY NUSA (100213028)

Page 30: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

D. LISTING PROGRAM

D.1 LISTING PROGRAM TAMPILAN PERTAMA

Listing program ini bertujuan menyalakan LED genap atau LED yang menyala hanyalah LED 2, LED 4, LED 6 dan LED 8.

// deklarasi variabel

int led[] = {2,3,4,5,6,7,8,9};

// pengaturan pin I/O sebagai output atau sebagai input void setup() {

for(int i = 0; i < 8; i++)

{ pinMode(led[i],OUTPUT); } }

// Perintah program yang akan diproses secara berulang-ulang oleh mikrokontroler. void loop()

{

digitalWrite (led[0], 0); digitalWrite (led[1], 1); digitalWrite (led[2], 0); digitalWrite (led[3], 1); digitalWrite (led[4], 0); digitalWrite (led[5], 1); digitalWrite (led[6], 0); digitalWrite (led[7], 1);

}

D.2 LISTING PROGRAM TAMPILAN KEDUA

Listing program ini bertujuan menyalakan LED ganjil atau LED yang menyala hanyalah LED 1, LED 2, LED 7 dan LED 8.

// deklarasi variabel

int led[] = {2,3,4,5,6,7,8,9};

// pengaturan pin I/O sebagai output atau sebagai input void setup() {

for(int i = 0; i < 8; i++)

{ pinMode(led[i],OUTPUT);

-22-

TEMY NUSA (100213028)

Page 31: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

} }

// Perintah program yang akan diproses secara berulang-ulang oleh mikrokontroler. void loop() { digitalWrite (led[0], 1); digitalWrite (led[1], 1); digitalWrite (led[2], 0); digitalWrite (led[3], 0); digitalWrite (led[4], 0); digitalWrite (led[5], 0); digitalWrite (led[6], 1); digitalWrite (led[7], 1);

}

D.3 LISTING PROGRAM TAMPILAN KETIGA

Listing program ini bertujuan menyalakan 4 LED dan 4 LED lainnya tidak menyala atau LED yang menyala hanyalah LED 5, LED 6, LED 7 dan LED 8.

// deklarasi variabel

int led[] = {2,3,4,5,6,7,8,9};

// pengaturan pin I/O sebagai output atau sebagai input void setup() {

for(int i = 0; i < 8; i++)

{ pinMode(led[i],OUTPUT); } }

// Perintah program yang akan diproses secara berulang-ulang oleh mikrokontroler. void loop()

{

digitalWrite (led[0], 0); digitalWrite (led[1], 0); digitalWrite (led[2], 0); digitalWrite (led[3], 0); digitalWrite (led[4], 1); digitalWrite (led[5], 1); digitalWrite (led[6], 1); digitalWrite (led[7], 1);

}

-23-

TEMY NUSA (100213028)

Page 32: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

D.4 LISTING PROGRAM TAMPILAN KEEMPAT

Listing program ini bertujuan menyalakan 4 LED dan 4 LED lainnya tidak menyala atau LED yang menyala hanyalah LED 1, LED 2, LED 3 dan LED 4.

// deklarasi variabel

int led[] = {2,3,4,5,6,7,8,9};

// pengaturan pin I/O sebagai output atau sebagai input void setup() {

for(int i = 0; i < 8; i++)

{ pinMode(led[i],OUTPUT); } }

// Perintah program yang akan diproses secara berulang-ulang oleh mikrokontroler. void loop()

{

digitalWrite (led[0], 1); digitalWrite (led[1], 1); digitalWrite (led[2], 1); digitalWrite (led[3], 1); digitalWrite (led[4], 0); digitalWrite (led[5], 0); digitalWrite (led[6], 0); digitalWrite (led[7], 0);

}

-24-

TEMY NUSA (100213028)

Page 33: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

Gambar 10. Tampilan 2 ; LED 2, LED 7 dan LED 8 Menyala.

FOTO HASIL PERCOBAAN

Gambar 9. Tampilan 1 ; LED 2, LED 4, LED 6 dan LED 8 Menyala.

-25-

TEMY NUSA (100213028)

Page 34: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

Gambar 12. Tampilan 4 ; LED 1, LED 2, LED 3 dan LED 4 Menyala.

Gambar 11. Tampilan 3 ; LED 5, LED 6, LED 7 dan LED 8 Menyala.

-26-

TEMY NUSA (100213028)

Page 35: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

PERCOBAAN 2 - PUSH BUTTON SEBAGAI INPUT

DAN LED SEBAGAI OUTPUT

-27-

TEMY NUSA (100213028)

Page 36: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

A. TUJUAN

[1] Menyalakan LED yang tehubung pada Port Digital I/O Arduino sebagai output dengan Push Button sebagai input.

B. ALAT

1. Satu unit personal komuter.

2. Arduino UNO Board R3.

3. Rangkaian LED

4. Rangkaian Push Button

C. PROSEDUR PERCOBAAN

1. Hubungkan rangkaian LED dan Push Button dengan Port I/O digital arduino dengan menggunakan kabel jumper sesuai dengan hubungan pin pada tabel berikut :

Tabel 3. Hubungan Pin Arduino dengan rangkaian LED dan Push Button

Arduino Pin digital I/O Rangkaian LED Rangkaian Push

Button

GND GND GND

5V - VCC

D2 LED1 -

D3 LED2 -

D4 LED3 -

D5 LED4 -

D6 LED5 -

D7 LED6 -

D8 LED7 -

D9 LED8 -

D10 - Push Button 1

D11 - Push Button 2

-28-

TEMY NUSA (100213028)

Page 37: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

2. Buka arduino IDE untuk memulai membuat program.

D. LISTING PROGRAM

Pada pecobaan ini, Push Button berfungsi sebagai Input dan LED sebagai output. Listing program berikut ini bertujuan untuk mengswitch nyala LED genap dan ganjil, LED yang hidup adalah LED 2, 4, 6, 8 ketika start dan akan berganti menyalakan LED ganjil atau LED 1, 3, 5, 7 ketika Push Button ditekan , begitu seterusnya.

//deklarasi Variabel int buttonPin1 =10; // Pin input Push Button 1 int led[] = {2,3,4,5,6,7,8,9}; int buttonState1 = 0; // Kondisi Awal int lastButtonState1 = 0; // Kondisi terakhir int buttonPushCounter1 = 0; // Kounter Push Button

// pengaturan pin I/O sebagai output atau sebagai input void setup() { pinMode(buttonPin1, INPUT); for(int i = 0; i < 8; i++) { pinMode(led[i],OUTPUT); } }

// Perintah program yang akan diproses secara berulang-ulang oleh mikrokontroler. void loop() { buttonState1 = digitalRead(buttonPin1); // membaca nilai tombol tekan (sensor digital) if (buttonState1 != lastButtonState1) { // jika nilai sekarang tidak sama dengan nilai terakhir

if (buttonState1 == HIGH) { buttonPushCounter1++; } }

lastButtonState1 = buttonState1; if (buttonPushCounter1 % 2 == 0) { digitalWrite (led[0], 0); digitalWrite (led[1], 1); digitalWrite (led[2], 0); digitalWrite (led[3], 1); digitalWrite (led[4], 0); digitalWrite (led[5], 1); digitalWrite (led[6], 0); digitalWrite (led[7], 1); } else {

-29-

TEMY NUSA (100213028)

Page 38: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

digitalWrite (led[0], 1); digitalWrite (led[1], 0); digitalWrite (led[2], 1); digitalWrite (led[3], 0); digitalWrite (led[4], 1); digitalWrite (led[5], 0); digitalWrite (led[6], 1); digitalWrite (led[7], 0); } }

-30-

TEMY NUSA (100213028)

Page 39: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

FOTO HASIL PERCOBAAN

Gambar 14. Tampilan ketika rangkaian ON, sebelum switch di tekan

Gambar 13. Tampilan ketika switch di tekan

-31-

TEMY NUSA (100213028)

Page 40: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

PERCOBAAN 3 - FUNGSI DELAY

-32-

TEMY NUSA (100213028)

Page 41: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

A. TUJUAN

[1] Menyalakan LED yang tehubung pada Port Digital I/O Arduino sebagai output dengan tampilan bervariasi menggunakan fungsi Delay.

B. ALAT

1. Satu unit personal komuter.

2. Arduino UNO Board R3.

3. Rangkaian LED

C. PROSEDUR PERCOBAAN

1. Hubungkan rangkaian LED dan Push Button dengan Port I/O digital arduino dengan menggunakan kabel jumper sesuai dengan hubungan pin pada tabel berikut :

Tabel 4. Hubungan Pin Arduino dengan Rangkaian LED

Arduino Pin digital I/O Rangkaian LED

GND GND

D2 LED1

D3 LED2

D4 LED3

D5 LED4

D6 LED5

D7 LED6

D8 LED7

D9 LED8

2. Buka arduino IDE untuk memulai membuat program.

-33-

TEMY NUSA (100213028)

Page 42: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

D. LISTING PROGRAM

Berikut ini listing program untuk menyalakan LED dengan fungsi delay sehingga output dengan tampilan LED menyala secara bergantian, tujuan listing program berikut ini adalah untuk membuat ED menyala secara bergantian atau menjadi running LED dengan delay Time 300 ms.

// deklarasi variabel int led[] = {2,3,4,5,6,7,8,9}; int delaytime = 300;

// pengaturan pin I/O sebagai output atau sebagai input void setup()

{ for(int i = 0; i < 8; i++) { pinMode(led[i],OUTPUT); } }

// Perintah program yang akan diproses secara berulang-ulang oleh mikrokontroler. void loop()

{ digitalWrite (led[0], 1); digitalWrite (led[1], 0); digitalWrite (led[2], 0); digitalWrite (led[3], 0); digitalWrite (led[4], 0); digitalWrite (led[5], 0); digitalWrite (led[6], 0); digitalWrite (led[7], 1); delay (delaytime); //----------------------- digitalWrite (led[0], 1); digitalWrite (led[1], 1); digitalWrite (led[2], 0); digitalWrite (led[3], 0); digitalWrite (led[4], 0); digitalWrite (led[5], 0); digitalWrite (led[6], 1); digitalWrite (led[7], 1); delay (delaytime); //----------------------- digitalWrite (led[0], 1); digitalWrite (led[1], 1); digitalWrite (led[2], 1); digitalWrite (led[3], 0); digitalWrite (led[4], 0); digitalWrite (led[5], 1); digitalWrite (led[6], 1); digitalWrite (led[7], 1); delay (delaytime); //----------------------- digitalWrite (led[0], 1); digitalWrite (led[1], 1);

-34-

TEMY NUSA (100213028)

Page 43: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

digitalWrite (led[2], 1); digitalWrite (led[3], 1); digitalWrite (led[4], 1); digitalWrite (led[5], 1); digitalWrite (led[6], 1); digitalWrite (led[7], 1); delay (delaytime); //----------------------- digitalWrite (led[0], 1); digitalWrite (led[1], 1); digitalWrite (led[2], 1); digitalWrite (led[3], 0); digitalWrite (led[4], 0); digitalWrite (led[5], 1); digitalWrite (led[6], 1); digitalWrite (led[7], 1); delay (delaytime); //----------------------- digitalWrite (led[0], 1); digitalWrite (led[1], 1); digitalWrite (led[2], 0); digitalWrite (led[3], 0); digitalWrite (led[4], 0); digitalWrite (led[5], 0); digitalWrite (led[6], 1); digitalWrite (led[7], 1); delay (delaytime); //----------------------- digitalWrite (led[0], 1); digitalWrite (led[1], 0); digitalWrite (led[2], 0); digitalWrite (led[3], 0); digitalWrite (led[4], 0); digitalWrite (led[5], 0); digitalWrite (led[6], 0); digitalWrite (led[7], 1); delay (delaytime); //----------------------- digitalWrite (led[0], 0); digitalWrite (led[1], 0); digitalWrite (led[2], 0); digitalWrite (led[3], 0); digitalWrite (led[4], 0); digitalWrite (led[5], 0); digitalWrite (led[6], 0); digitalWrite (led[7], 0); delay (delaytime); }

-35-

TEMY NUSA (100213028)

Page 44: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

FOTO HASIL PERCOBAAN

Gambar 15. Tampilan Running LED dengan fusi Delay

-36-

TEMY NUSA (100213028)

Page 45: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

PERCOBAAN 4 - SEVEN SEGMENT SEBAGAI OUTPUT

-37-

TEMY NUSA (100213028)

Page 46: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

A. TUJUAN

[1] Menyalakan sebuah seven segment yang tehubung pada Port Digital I/O Arduino sebagai output .

B. ALAT

1. Satu unit personal komuter.

2. Arduino UNO Board R3.

3. Rangkaian seven segment Common Anoda.

C. PROSEDUR PERCOBAAN

1. Hubungkan rangkaian seven segment dengan Port I/O digital arduino dengan menggunakan kabel jumper sesuai dengan hubungan pin pada tabel berikut :

Tabel 5. Hubungan Pin Arduino dengan Rangkaian LED

Arduino Pin digital I/O Rangkaian LED

VCC VCC

D2 a

D3 b

D4 c

D5 d

D6 e

D7 f

D8 g

D9 h

2. Buka arduino IDE untuk memulai membuat program.

3. Masukkan kode program dengan logika output sesuai dengan tabel berikut ini :

Tabel 6. Logika Output untuk tampilan angka pada Seven segmen.

Tampilan LED Seven Segment

a b c d e f g

0 0 0 0 0 0 1 0

1 1 0 0 1 1 1 1

2 0 1 1 0 0 1 1

3 0 0 0 0 1 0 1

4 1 0 0 1 1 0 0

5 0 1 0 0 1 0 0

-38-

TEMY NUSA (100213028)

Page 47: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

D. LISTING PROGRAM

Berikut ini listing program untuk menampilkan dan menghitung maju angka nol sampai angka sembilan dengan delay satu detik.

//Deklarasi Variabel int led[] = {2,3,4,5,6,7,8}; int delaytime = 1000;

// pengaturan pin I/O sebagai output atau sebagai input void setup() { for(int i = 0; i < 7; i++) { pinMode(led[i],OUTPUT); } }

// Perintah yang akan dilakukan oleh secara berulang. void loop() {

//Menampilkan angka 0 digitalWrite (led[0], 0); digitalWrite (led[1], 0); digitalWrite (led[2], 0); digitalWrite (led[3], 0); digitalWrite (led[4], 0); digitalWrite (led[5], 1); digitalWrite (led[6], 0); delay (delaytime);

//Menampilkan angka 1 digitalWrite (led[0], 1); digitalWrite (led[1], 0); digitalWrite (led[2], 0); digitalWrite (led[3], 1); digitalWrite (led[4], 1); digitalWrite (led[5], 1); digitalWrite (led[6], 1); delay (delaytime);

//Menampilkan angka 2 digitalWrite (led[0], 0); digitalWrite (led[1], 0); digitalWrite (led[2], 1);

6 0 1 0 0 0 0 0

7 0 0 0 1 1 1 1

8 0 0 0 0 0 0 0

9 0 0 0 0 1 0 0

-39-

TEMY NUSA (100213028)

Page 48: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

digitalWrite (led[3], 0); digitalWrite (led[4], 0); digitalWrite (led[5], 0); digitalWrite (led[6], 1); delay (delaytime);

//Menampilkan angka 3 digitalWrite (led[0], 0); digitalWrite (led[1], 0); digitalWrite (led[2], 0); digitalWrite (led[3], 0); digitalWrite (led[4], 1); digitalWrite (led[5], 0); digitalWrite (led[6], 1); delay (delaytime);

//Menampilkan angka 4 digitalWrite (led[0], 1); digitalWrite (led[1], 0); digitalWrite (led[2], 0); digitalWrite (led[3], 1); digitalWrite (led[4], 1); digitalWrite (led[5], 0); digitalWrite (led[6], 0); delay (delaytime);

//Menampilkan angka 5 digitalWrite (led[0], 0); digitalWrite (led[1], 1); digitalWrite (led[2], 0); digitalWrite (led[3], 0); digitalWrite (led[4], 1); digitalWrite (led[5], 0); digitalWrite (led[6], 0); delay (delaytime);

//Menampilkan angka 6 digitalWrite (led[0], 0); digitalWrite (led[1], 1); digitalWrite (led[2], 0); digitalWrite (led[3], 0); digitalWrite (led[4], 0); digitalWrite (led[5], 0); digitalWrite (led[6], 0); delay (delaytime);

//Menampilkan angka 7 digitalWrite (led[0], 0); digitalWrite (led[1], 0); digitalWrite (led[2], 0); digitalWrite (led[3], 1); digitalWrite (led[4], 1); digitalWrite (led[5], 1); digitalWrite (led[6], 1); delay (delaytime);

//Menampilkan angka 8 digitalWrite (led[0], 0); digitalWrite (led[1], 0);

-40-

TEMY NUSA (100213028)

Page 49: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

digitalWrite (led[2], 0); digitalWrite (led[3], 0); digitalWrite (led[4], 0); digitalWrite (led[5], 0); digitalWrite (led[6], 0); delay (delaytime);

//Menampilkan angka 9 digitalWrite (led[0], 0); digitalWrite (led[1], 0); digitalWrite (led[2], 0); digitalWrite (led[3], 0); digitalWrite (led[4], 1); digitalWrite (led[5], 0); digitalWrite (led[6], 0); delay (delaytime); }

-41-

TEMY NUSA (100213028)

Page 50: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

FOTO HASIL PERCOBAAN

Gambar 16 . Tampilan angka 0 di Seven Segment

Gambar 17. Menampilkan Angka 1 di seven segmen

-42-

TEMY NUSA (100213028)

Page 51: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

Gambar 18. Tampilan angka 2 di Seven segmen.

Gambar 19. Tampilan angka 3 di Seven segmen.

-43-

TEMY NUSA (100213028)

Page 52: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

Gambar 21. Tampilan angka 4 di Seven segmen.

Gambar 20. Tampilan angka 5 di Seven segmen.

-44-

TEMY NUSA (100213028)

Page 53: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

Gambar 23. Tampilan angka 6 di Seven segmen.

Gambar 22. Tampilan angka 6 di Seven segmen.

Gambar 24. Tampilan angka 2 di Seven segmen.

-45-

TEMY NUSA (100213028)

Page 54: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

Gambar 25. Tampilan angka 8 di Seven segmen.

Gambar 26. Tampilan angka 9 di Seven segmen.

-46-

TEMY NUSA (100213028)

Page 55: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

KESIMPULAN

Dari percobaan yang telah dilakukan, beberapa hal yang dapat dipelajari adalah sebagai berikut :

[1] Prinsip dasar dari ATmega 328 dalam Board Arduino. [2] Pemprograman dasar Arduino. [3] Hal – hal dasar mengenai LED, Seven Segment, Fungsi Delay, dan Push Button dalam

pemprograman arduino.

-47-

TEMY NUSA (100213028)

Page 56: Laporan Praktikum 3

LAPORAN PRAKTIKUM TEKNIK ELEKTRONIKA III PERIFERAL ANTARMUKA

DAFTAR PUSTAKA

[1] Winanda , Mukti ., Beginners Guide To The Arduino. [2] Djuandi, Feri., Pengenalan Arduino. www.tokobuku.com. 2011 [3] Evans, Brian B., Arduino Programming Notebook. Creative Commons. 2007 [4] http://www.arduino.cc/

-48-

TEMY NUSA (100213028)