Anda di halaman 1dari 29

MIKROKONTROLLER

Perbedaan Mikrokontroler dan Mikroprosesor

 Ditinjau dari segi arsitekturnya, MIKROPROSESSOR Adalah sebuah single chip yang hanya
berisi CPU ( Central Processing Unit ). Untuk membentuk sebuah minimum sistem
mikrokomputer dari sebuah mikroprosessor masih dibutuhkan peralatan pendukung: RAM ( Random
Acces Memory ), ROM (Read Only Memory ), I/O ( Unit Input / Output ).

Blok Diagram MIKROPROSESSOR

MIKROKONTROLLER Adalah sebuah single chip dalam IC-nya selain CPU juga terdapat device lain
yang memungkinkan mikrokontroler berfungsi sebagai suatu single chip computer. Dalam sebuah IC
mikrokontroler telah terdapat ROM, RAM, EPROM, serial interface dan paralel interface, timer, interrupt
controller, konverter Anlog ke Digital, dan lainnya (tergantung feature yang melengkapi mikrokontroler
tersebut).

Blok Diagram MIKROKONTROLLER

 Sedangkan dari segi aplikasinya, mikroprosessor hanya berfungsi sebagai Central Processing Unit
yang menjadi otak komputer, sedangkan mikrokontroller, dalam bentuknya yang mungil, pada
umumnya ditujukan untuk melakukan tugas–tugas yang berorientasi kontrol pada rangkaian yang
membutuhkan jumlah komponen minimum dan biaya rendah (low cost).
SEJARAH MIKROKONTROLLER

Mikrokontroler adalah suatu alat elektronika digital yang mempunyai masukan dan keluaran serta
kendali dengan program yang bisa ditulis dan dihapus dengan cara khusus, cara kerja mikrokontroler
sebenarnya membaca dan menulis data. Mikrokontroler merupakan komputer didalam chip yang
digunakan untuk mengontrol peralatan elektronik, yang menekankan efisiensi dan efektifitas biaya.
Secara harfiahnya bisa disebut “pengendali kecil” dimana sebuah sistem elektronik yang sebelumnya
banyak memerlukan komponen-komponen pendukung seperti IC TTL dan CMOS dapat
direduksi/diperkecil dan akhirnya terpusat serta dikendalikan oleh mikrokontroler ini. (http://www.kelas-
mikrokontrol).

Mikrokonktroler digunakan dalam produk dan alat yang dikendalikan secara automatis, seperti sistem
kontrol mesin, remote kontrol, mesin kantor, peralatan rumah tangga, alat berat, dan mainan. Dengan
mengurangi ukuran, biaya, dan konsumsi tenaga dibandingkan dengan mendesain menggunakan
mikroprosesor memori, dan alat input output yang terpisah, kehadiran mikrokontroler membuat kontrol
elektrik untuk berbagai proses menjadi lebih ekonomis. Dengan penggunaan mikrokontroler ini maka :

• Sistem elektronik akan menjadi lebih ringkas

• Rancang bangun sistem elektronik akan lebih cepat karena sebagian besar dari sistem adalah
perangkat lunak yang mudah dimodifikasi

• Pencarian gangguan lebih mudah ditelusuri karena sistemnya yang kompak

Namun demikian tidak sepenuhnya mikrokontroler bisa mereduksi komponen IC TTL dan CMOS yang
seringkali masih diperlukan untuk aplikasi kecepatan tinggi atau sekedar menambah jumlah saluran
masukan dan keluaran (I/O). Dengan kata lain, mikrokontroler adalah versi mini atau mikro dari sebuah
komputer karena mikrokontroler sudah mengandung beberapa periferal yang langsung bisa
dimanfaatkan, misalnya port paralel, port serial, komparator, konversi digital ke analog (DAC), konversi
analog ke digital (ADC) dan sebagainya hanya menggunakan sistem minimum yang tidak rumit atau
kompleks.

Agar sebuah mikrokontroler dapat berfungsi, maka mikrokontroler tersebut memerlukan komponen
eksternal yang kemudian disebut dengan sistem minimum. Untuk membuat sistem minimal paling tidak
dibutuhkan sistem clock dan reset, walaupun pada beberapa mikrokontroler sudah menyediakan
sistem clock internal, sehingga tanpa rangkaian eksternal pun mikrokontroler sudah beroperasi.

Untuk merancang sebuah sistem berbasis mikrokontroler, kita memerlukan perangkat keras dan
perangkat lunak, yaitu:

1. Sistem minimal mikrokontroler


2. Software pemrograman dan kompiler, serta downloader
Yang dimaksud dengan sistem minimal adalah sebuah rangkaian mikrokontroler yang sudah dapat
digunakan untuk menjalankan sebuah aplikasi yang minimal terdiri dari 4 bagian, yaitu :

1. Prosesor, yaitu mikrokontroler itu sendiri


2. Rangkaian reset agar mikrokontroler dapat menjalankan program mulai dari awal
3. Rangkaian clock, yang digunakan untuk memberi detak pada CPU
4. Rangkaian catu daya, yang digunakan untuk memberi sumber daya

Pada mikrokontroler jenis tertentu (AVR misalnya), poin2 pada no 2 ,3 sudah tersedia didalam
mikrokontroler tersebut dengan frekuensi yang sudah diseting dari vendornya (biasanya
1MHz,2MHz,4MHz,8MHz), sehingga pengguna tidak perlu memerlukan rangkaian tambahan, namun
bila ingin merancang sistem dengan spesifikasi tertentu (misal ingin komunikasi dengan PC atau
handphone), maka pengguna harus menggunakan rangkaian clock yang sesuai dengan karakteristik
PC atau HP tersebut, biasanya menggunakan kristal 11,0592 MHz, untuk menghasilkan komunikasi
yang sesuai dengan baud rate PC atau HP tersebut.

Mikrokontroler pertama kali dikenalkan oleh Texas Instrument dengan seri TMS 1000 pada tahun 1974
yang merupakan mikrokontroler 4 bit pertama. Mikrokontroler ini mulai dibuat sejak 1971. Merupakan
mikrokomputer dalam sebuah chip, lengkap dengan RAM dan ROM. Kemudian, pada tahun 1976 Intel
mengeluarkan mikrokontroler yang kelak menjadi populer dengan nama 8748 yang merupakan
mikrokontroler 8 bit, yang merupakan mikrokontroler dari keluarga MCS 48. Sekarang di pasaran
banyak sekali ditemui mikrokontroler mulai dari 8 bit sampai dengan 64 bit, sehingga perbedaan antara
mikrokontroler dan mikroprosesor sangat tipis. Masing2 vendor mengeluarkan mikrokontroler dengan
dilengkapi fasilitas2 yang cenderung memudahkan user untuk merancang sebuah sistem dengan
komponen luar yang relatif lebih sedikit.

Saat ini mikrokontroler yang banyak beredar dipasaran adalah mikrokontroler 8 bit varian keluarga
MCS51(CISC) yang dikeluarkan oleh Atmel dengan seri AT89Sxx, dan mikrokontroler AVR yang
merupakan mikrokontroler RISC dengan seri ATMEGA8535 (walaupun varian dari mikrokontroler AVR
sangatlah banyak, dengan masing-masing memiliki fitur yang berbeda-beda). Dengan mikrokontroler
tersebut pengguna (pemula) sudah bisa membuat sebuah sistem untuk keperluan sehari-hari, seperti
pengendali peralatan rumah tangga jarak jauh yang menggunakan remote control televisi, radio
frekuensi, maupun menggunakan ponsel, membuat jam digital, termometer digital dan sebagainya..

Jenis-jenis Mikrokontroller
6805,6809, 68705, 68HCxx Buatan Motorola
8048,8748,8035 Buatan Intel
Z86L06, Z86L29, Z86 Buatan Zilog Inc.
MCS 8951 (Family)
Atmega
PIC

APLIKASI MIKROKONTROLER
Karena kemampuannya yang tinggi, bentuknya yang kecil, konsumsi dayanya yang rendah, dan harga
yang murah maka mikrokontroler begitu banyak digunakan di dunia. Mikrokontroler digunakan mulai dari
mainan anak-anak, perangkat elektronik rumah tangga, perangkat pendukung otomotif, peralatan industri,
peralatan telekomunikasi, peralatan medis dan kedokteran, sampai dengan pengendali robot serta
persenjataan militer.
Terdapat beberapa keunggulan yang diharapkan dari alat-alat yang berbasis mikrokontroler
(microcontroller-based solutions) :
 Kehandalan tinggi (high reliability) dan kemudahan integrasi dengan komponen lain (high degree of
integration)
 Ukuran yang semakin dapat diperkecil (reduced in size)
 Jumlah Penggunaan komponen dapat dikurangi (reduced component count) yang juga akan
menyebabkan biaya produksi dapat semakin ditekan (lower manufacturing cost)

 Waktu pembuatan lebih singkat (shorter development time) sehingga lebih cepat pula dijual ke pasar
sesuai kebutuhan (shorter time to market)
 Konsumsi daya yang rendah (lower power consumption)

Perkembangan Mikrokontroler :

Secara teknis hanya ada 2 yaitu RISC dan CISC dan masing-masing mempunyai keturunan/keluarga
sendiri-sendiri :
a. RISC kependekan dari Reduced Instruction Set Computer : instruksi terbatas tapi memiliki fasilitas
yang lebih banyak
b. CISC kependekan dari Complex Instruction Set Computer : instruksi bisa dikatakan lebih lengkap
tapi dengan fasilitas secukupnya.

Tentang jenisnya banyak sekali ada keluarga Motorola dengan seri 68xx, keluarga MCS51 yang diproduksi
Atmel, Philip, Dallas, keluarga PIC dari Microchip, Renesas, Zilog. Masing-masing keluarga juga masih
terbagi lagi dalam beberapa tipe. Karena kebutuhan yang tinggi terhadap “chip-chip pintar” dengan
berbagai fasilitasnya, maka berbagai vendor juga berlomba untuk menawarkan produk-produk
mikrokontrolernya. Hal tersebut terjadi semenjak tahun 1970-an. Motorola mengeluarkan seri
mikrokontroler 6800 yang terus dikembangkan hingga sekarang menjadi 68HC05, 68HC08, 68HC11,
68HC12, dan 68HC16. Zilog juga mengeluarkan seri mikroprosesor Z80-nya yang terkenal dan terus
dikembangkan hingga kini menjadi Z180 dan kemudian diadopsi juga oleh mikroprosesor Rabbit. Intel
mengeluarkan mikrokontrolernya yang populer di dunia yaitu 8051, yang karena begitu populernya maka
arsitektur 8051 tersebut kemudian diadopsi oleh vendor lain seperti Phillips, Siemens, Atmel, dan vendor-
vendor lain dalam produk mikrokontroler mereka. Selain itu masih ada mikrokontroler populer lainnya
seperti Basic Stamps, PIC dari Microchip, MSP 430 dari Texas Instrument dan masih banyak lagi.

Mikrokontroler dengan arsitektur MCS-51 merupakan salah satu jenis arsitektur mikrokontroler
yang paling lama, paling populer dan paling banyak digunakan di dunia. Arsitektur ini dikeluarkan pertama
kali oleh Intel dan kemudian menjadi banyak dipakai dan dipelajari di seluruh dunia. Berbagai seri
mikrokontroler berarsitektur MCS-51 telah diproduksi oleh berbagai vendor dan digunakan di dunia
sebagai mikrokontroler yang bersifat low cost dan high performance. Di Indonesia, mikrokontroler MCS-51
banyak dipakai karena telah lama populer, mudah untuk didapatkan, dan harganya yang murah.
Antar seri mikrokontroler berarsitektur MCS-51 memiliki beragam tipe dan fasilitas, namun
kesemuanya memiliki arsitektur yang sama, dan juga set instruksi yang relatif tidak berbeda. Berikut tabel
perbandingan beberapa seri mikrokontroler MCS-51 buatan Atmel.

Keterangan :
 Flash adalah suatu jenis Read Only Memory yang biasanya diisi dengan program hasil buatan
manusia yang harus dijalankan oleh mikrokontroler
 RAM (Random Acces Memory) merupakan memori yang membantu CPU untuk penyimpanan data
sementara dan pengolahan data ketika program sedang running
 EEPROM (Electrically Erasable Programmable Read Only Memory) adalah memori untuk
penyimpanan data secara permanen oleh program yang sedang running
 Pin I/O adalah kaki untuk jalur keluar atau masuk sinyal sebagai hasil keluaran ataupun masukan
bagi program
 Timer adalah modul dalam hardware yang bekerja untuk menghitung waktu/pulsa
 UART (Universal Asynchronous Receive Transmit) adalah jalur komunikasi data khusus secara
serial asynchronous
 SPI (Serial Peripheral Interface) adalah jalur komunikasi data khusus secara serial secara serial
synchronous
 ISP (In System Programming) adalah kemampuan khusus mikrokontroler untuk dapat diprogram
langsung dalam sistem rangkaiannya dengan membutuhkan jumlah pin yang minimal

Seiring dengan perkembangan teknologi solid state dan perangkat lunak komputer secara umum, saat ini
pemrograman sistem microcontroler dirasakan relatif mudah dilakukan, terutama dengan digunakannya
metode pemrograman ISP (In system Programming). Dengan menggunakan metode ini kita dapat
memprogram sistem microcontroller sekaligus mengujinya pada sistem minimum atau papan pengembang
(development board) secara langsung tanpa perlu lagi perangkat “pembakar“ program atau emulator
secara terpisah. Selain itu, ditinjau dari aspek perangkat lunak pemrogramannya, dewasa ini banyak
alternatif bahasa aras tinggi dari pihak ke-tiga, baik gratis maupun komersil yang dapat digunakan.
Penggunaan bahasa aras tinggi ini (seperti Pascal, C, basic dan sebagainya) selain akan menghemat
waktu pengembangan, kode program yang disusun juga akan bersifat lebih modular dan terstruktur.

Blok sistem mikrokontroler MCS-51 adalah sebagai berikut.


Arsitektur Mikrokontroler MCS-51
Arsitektur mikrokontroler MCS-51 diotaki oleh CPU 8 bit yang terhubung melalui satu jalur
bus dengan memori penyimpanan berupa RAM dan ROM serta jalur I/O berupa port bit I/O dan port serial.
Selain itu terdapat fasilitas timer/counter internal dan jalur interface address dan data ke memori eksternal.
Salah satu tipe mikrokontroler arsitektur MCS-51 yang banyak digunakan saat ini adalah tipe Atmel
89S51. Tipe ini banyak digunakan karena memiliki fasilitas on-chip flash memory dan In System
Programming. Berikut adalah feature-feature untuk mikrokontroler tipe 89S51 buatan Atmel.
 4K bytes Flash ROM
 128 bytes RAM
 4 port @ 8-bit I/O (Input/Output) port
 2 buah 16 bit timer
 Interface komunikasi serial
 64K pengalamatan code (program) memori
 64K pengalamatan data memori
 Prosesor Boolean (satu bit – satu bit)
 210 lokasi bit-addressable
 Fasilitas In System Programming (ISP)
Penjelasan Fungsi Pin mikrokontroler MCS51
IC mikrokontroler dikemas (packaging) dalam bentuk yang berbeda. Namun pada dasarnya fungsi
kaki yang ada pada IC memiliki persamaan. Gambar salah satu bentuk IC seri mikrokontroler MCS-51
dapat dilihat berikut.

Berikut adalah penjelasan fungsi tiap kaki yang biasa ada pada seri mikrokontroler MCS-51.
A. Port 0
Merupakan dual-purpose port (port yang memiliki dua kegunaan). Pada desain yang minimum (sederhana)
digunakan sebagai port I/O (Input/Output). Pada desain lebih lanjut pada perancangan dengan memori
eksternal digunakan sebagai data dan address yang di-multiplex. Port 0 terdapat pada pin 32-39.
B. Port 1
Merupakan port yang hanya berfungsi sebagai port I/O, kecuali pada IC 89S52 yang menggunakan P1.0
dan P1.1 sebagai input eksternal untuk timer ketiga (T3). Port 1 terdapat pada pin 1-8.
C. Port 2
Merupakan dual-purpose port. Pada desain minimum digunakan sebagai port I/O. Pada desain lebih lanjut
digunakan sebagai high byte dari address. Port 2 terdapat pada pin 21-28.
D. Port 3
Merupakan dual-purpose port. Selain sebagai port I/O juga mempunyai fungsi khusus yang ditunjukkan
pada tabel berikut.
E. PSEN (Program Store Enable)
PSEN adalah kontrol sinyal yang mengijinkan untuk mengakses program (code) memori eksternal. Pin ini
dihubungkan ke pin OE (Output Enable) dari EPROM. Sinyal PSEN akan 0 pada tahap fetch
(penjemputan) instruksi. PSEN akan selalu bernilai 0 pada pembacaan program memori internal. PSEN
terdapat pada pin 29.

F. ALE (Address Latch Enable)


ALE digunakan untuk men-demultiplex address dan data bus. Ketika menggunakan program memori
eksternal port 0 akan berfungsi sebagai address dan data bus. Pada setengah paruh pertama memory
cycle ALE akan bernilai 1 sehingga mengijinkan penulisan alamat pada register eksternal dan pada
setengah paruh berikutnya akan bernilai satu sehingga port 0 dapat digunakan sebagai data bus. ALE
terdapat pada pin 30.

G. EA (External Access)
Jika EA diberi masukan 1 maka mikrokontroler menjalankan program memori internal saja. Jika EA diberi
masukan 0 (ground) maka mikrokontroler hanya akan menjalankan program memori eksternal (PSEN akan
bernilai 0). EA terdapat pada pin 31.

H. RST (Reset)
RST pada pin 9 merupakan pin reset. Jika pada pin ini diberi masukan 1 selama minimal 2 machine cycle
maka system akan di-reset dan register-register internal akan berisi nilai default tertentu dan program
kembali mengeksekusi dari alamat paling awal.

I. On-Chip Oscillator
Mikrokontroler MCS-51 telah memiliki on-chip oscillator yang dapat bekerja jika di-drive menggunakan
kristal. Tambahan kapasitor diperlukan untuk menstabilkan sistem.Nilai kristal yang biasa digunakan pada
89S51/89S52 adalah sekitar 12 MHz, dan maksimum sampai 24 MHz. On-chip oscillator tidak hanya dapat
di-drive dengan menggunakan kristal, tapi juga dapat digunakan TTL oscillator.

J. Koneksi Power
Mikrokontroler biasanya beroperasi pada tegangan 3.3 volt atau 5 volt (tergantung serinya). Pin Vcc
terdapat pada pin 40 sedangkan Vss (ground) terdapat pada pin 20.
Memory Map mikrokontroler MCS51

Rangkaian Sistem Minimum Atmel 89S51


Sistem minimum (sismin) mikrokontroler adalah rangkaian elektronik minimum yang
diperlukan untuk beroperasinya IC mikrokontroler. Sismin ini kemudian bisa dihubungkan dengan
rangkaian lain untuk menjalankan fungsi tertentu. Suatu sismin bisa saja ditambahkan dengan rangkaian
pelengkap lainnya sehingga menjadi suatu sistem yang lebih lengkap dan memiliki fungsi lebih banyak.
Untuk membuat rangkaian sismin Atmel 89S diperlukan beberapa komponen yaitu:
 IC mikrokontroler AT89S
 1 XTAL 12 MHz atau 11.0592 MHz
 2 kapasitor kertas 33 pF
 1 kapasitor elektrolit 10 uF
 1 resistor 10 Kohm

Selain itu tentunya diperlukan power suply yang bisa memberikan tegangan 5V DC
Gambar rangkaiannya adalah sebagai berikut.
Gambar rangkaian Aplikasi LED :
Gambar Rangkaian Aplikasi Seven Segment :
MICROCONTROLLER AVR

Secara histories microcontroller seri AVR pertama kali diperkenalkan ke pasaran sekitar tahun 1997
oleh perusahaan Atmel, yaitu sebuah perusahaan yang sangat terkenal dengan produk microcontroller seri
AT89S51/52-nya yang sampai sekarang masih banyak digunakan di lapangan. Tidak seperti
microcontroller seri AT89S51/52 yang masih mempertahankan arsitektur dan set instruksi dasar
microcontroller 8031 dari perusahaan INTEL. Microcontroller AVR ini diklaim memiliki arsitektur dan set
instruksi yang benar-benar baru dan berbeda dengan arsitektur microcontroller sebelumnya yang
diproduksi oleh perusahaan tersebut. Tetapi walaupun demikian, bagi para programmer yang sebelumnya
telah terbiasa dengan microcontroller seri AT89S51/52, dan berencana untuk beralih ke microcontroller
AVR, maka secara teknis tidak akan banyak kesulitan yang berarti, hal ini dikarenakan selain konsep dan
istilah-istilah dasarnya hampir sama, pemrograman level assembler-nya pun relative tidak jauh berbeda.

Berdasarkan arsitekturnya, AVR merupakan microcontroller RISC (Reduce Instruction Set


Computer) dengan lebar bus data 8 bit. Berbeda dengan sistem AT89S51/52 yang memiliki frekuensi kerja
seperduabelas kali frekuensi oscilator, frekuensi kerja microcontroller AVR ini pada dasarnya sama dengan
frekuensi oscilator, sehingga hal tersebut menyebabkan kecepatan kerja AVR untuk frekuensi oscilator
yang sama, akan dua belas kali lebih cepat dibandingkan dengan microcontroller keluarga AT89S51/52.
Dengan instruksi yang sangat variatif (mirip dengan sistem CISC-Complex Instruction Set Computer) serta
jumlah register serbaguna (general Purpose Register) sebanyak 32 buah yang semuanya terhubung
secara langsung ke ALU (Arithmetic Logic Unit), kecepatan operasi microcontroller AVR ini dapat mencapai
16 MIPS (enam belas juta instruksi per detik) sebuah kecepatan yang sangat tinggi untuk ukuran
microcontroller 8 bit yang ada di pasaran sampai saat ini.

Untuk memenuhi kebutuhan dan aplikasi industri yang sangat beragam, microcontroller keluarga AVR ini
muncul di pasaran dengan tiga seri utama: tinyAVR, ClasicAVR (AVR), megaAVR. Berikut ini beberapa seri
yang dapat kita jumpai di pasaran:

-ATtiny13 AT90S2313 ATmega103

-ATtiny22 AT90S2323 ATmega128

-ATtiny22L AT90S2333 ATmega16

-ATtiny2313 AT90S4414 ATmega162

-ATtiny2313V AT90S4433 ATmega168

-ATtiny26 AT90S8515 ATmega8535

Keseluruhan seri AVR ini pada dasarnya memiliki organisasi memori dan set instruksi yang sama
(sehingga dengan demikian jika kita telah mahir menggunakan salah satu seri AVR, untuk beralih ke seri
yang lain akan relative mudah). Perbedaan antara tinyAVR, AVR dan megaAVR pada kenyataannya hanya
merefleksikan tambahan-tambahan fitur yang ditawarkannya saja (misal adanya tambahan ADC internal
pada seri AVR tertentu, jumlah Port I/O serta memori yang berbeda, dan sebagainya). Diantara ketiganya,
megaAVR umumnya memiliki fitur yang paling lengkap, disusul oleh AVR, dan terakhir tinyAVR.

Untuk memberi gambaran yang lebih jelas, tabel 1.1 berikut memperlihatkan perbedaan ketiga seri AVR
ditinjau dari jumlah memori yang dimilikinya.

Table 1.1. Perbedaan seri AVR berdasarkan jumlah memori

Seperti terlihat pada tabel tersebut, Semua jenis AVR ini telah dilengkapi dengan memori flash
sebagai memori program. Tergantung serinya, kapasitas memori flash yang dimiliki bervariasi dari 1K
sampai 128 KB. Secara teknis, memori jenis ini dapat diprogram melalui saluran antarmuka yang dikenal
dengan nama Serial Peripheral Interface (SPI) yang terdapat pada setiap seri AVR tersebut. Dengan
menggunakan perangkat lunak programmer(downloader) yang tepat, pengisian memori Flash dengan
menggunakan saluran SPI ini dapat dilakukan bahkan ketika chip AVR telah terpasang pada sistem akhir
(end system), sehingga dengan demikian pemrogramannya sangat fleksibel dan tidak merepotkan
pengguna (Secara praktis metoda ini dikenal dengan istilah ISP-In System Programming -sedangkan
perangkat lunaknya dinamakan In System Programmer).

Untuk penyimpanan data, microcontroller AVR menyediakan dua jenis memori yang berbeda:
EEPROM (Electrically Erasable Programmable Read Only Memory) dan SRAM (Static Random Access
memory). EEPROM umumnya digunakan untuk menyimpan data-data program yang bersifat permanen,
sedangkan SRAM digunakan untuk menyimpan data variabel yang dimungkinkan berubah setiap saatnya.
Kapasitas simpan data kedua memori ini bervariasi tergantung pada jenis AVR-nya (lihat tabel 1). Untuk
seri AVR yang tidak memiliki SRAM, penyimpanan data variabel dapat dilakukan pada register serbaguna
yang terdapat pada CPU microcontroller tersebut.

Selain seri-seri diatas yang sifatnya lebih umum, Perusahaan Atmel juga memproduksi beberapa jenis
microcontroller AVR untuk tujuan yang lebih khusus dan terbatas, seperti seri AT86RF401 yang khusus
digunakan untuk aplikasi wireless remote control dengan menggunakan gelombang radio (RF), seri
AT90SC yang khusus digunakan untuk peralatan sistem-sistem keamanan kartu SIM GSM, pembayaran
via internet, dan lain sebagainya.

Mikrokontroler AVR ATMEGA 8535

ATMEGA8535 mempunya fitur – fitur :


1. Sistem mikrokontroler 8 bit berbasis RISC dengan kecepatan maksimal 16 MHz.
2. Memiliki memori flash 8 KB, SRAM sebesar 512 byte dan EEPROM (Electrically Erasable
Programmable Read Only Memory) sebesar 512 byte.
3. Memiliki ADC (Analog Digital Converter) internal dengan ketelitian 10 bit sebanyak 8 saluran.
4. Memiliki PWM (Pulse Wide Modulation) internal sebanyak 4 saluran.
5. Portal komunikasi serial (USART) dengan kecepatan maksimal 2,5 Mbps.
6. Enam pilihan mode sleep, untuk menghemat penggunaan daya listrik.

Arsitektur ATMega8535
Bagian – bagian ATMEGA8535 :

1. Saluran I/O sebanyak 32 buah, yaitu port A, port B, port C, dan port D
2. CPU yang memiliki 32 buah register
3. SRAM sebesar 512 byte
4. Flash memory sebesar 8kb yang memiliki kemampuan Read While Write
5. EEPROM sebesar 512 byte dapat diprogram selama beroperasi
6. Tiga buah timer/counter dengan kemampuan pembanding
7. Two wire serial Interface
8. Port antarmuka SPI
9. Unit interupsi internal dan eksternal
10. Port USART untuk komunikasi serial
11. ADC 10 bit sebanyak 8 saluran
12. Watchdog Timer dengan osilator internal

Konfigurasi Pin ATMEGA8535 :

1. VCC untuk tegangan pencatu daya positif.


2. GND untuk tegangan pencatu daya negatif.
3. PortA (PA0 – PA7) sebagai port Input/Output dan memiliki kemampuan lain yaitu sebagai input untuk
ADC
4. PortB (PB0 – PB7) sebagai port Input/Output dan juga memiliki kemampuan yang lain.
5. PortC (PC0 – PC7) sebagai port Input/Output untuk ATMega8535.
6. PortD (PD0 – PD7) sebagai port Input/Output dan juga memiliki kemampuan yang lain.
7. RESET untuk melakukan reset program dalam mikrokontroler.
8. XTAL1 dan XTAL2 untuk input pembangkit sinyal clock.
9. AVCC untuk pin masukan tegangan pencatu daya untuk ADC.
10. AREF untuk pin tegangan referensi ADC.
PIN Mikrokotroler ATMega8535
Rangkaian Sistem Minimum Atmega 8535

Peta Memori
ATMega8535 memiliki ruang pengalamatan memori data dan memori program yang terpisah. Memori data
terbagi menjadi 3 bagian yaitu : 32 buah register umum, 64 buah register I/O, dan 512 byte SRAM internal.

Register untuk keperluan umum menempati space data pada alamat terbawah yaitu $00 sampai $1F.
Sementara itu register khusus untuk menangani I/O dan kontrol terhadap mikrokontroler menempati 64
alamat berikutnya, yaitu mulai dari $20 sampai $5F. Register tersebut merupakan register yang khusus
digunakan untuk mengatur fungsi terhadap berbagai peripheral mikrokontroler, seperti kontrol register,
timer/counter, fungsi fungsi I/O, dan sebagainya. Register khusus alamat memori secara lengkap dapat
dilihat pada tabel dibawah . Alamat memori berikutnya digunakan untuk SRAM 512 byte, yaitu pada lokasi
$60 sampai dengan $25F.

Memori data AVR ATMega8535


Mikrokontroler Arduino Uno

Arduino
Arduino merupakan rangkaian elektronik yang bersifat open source, serta memiliki perangkat keras dan
lunak yang mudah untuk digunakan. Arduino dapat mengenali lingkungan sekitarnya melalui berbagai jenis
sensor dan dapat mengendalikan lampu, motor, dan berbagai jenis aktuator lainnya. Arduino mempunyai
banyak jenis, di antaranya Arduino Uno, Arduino Mega 2560, Arduino Fio, dan lainnya. (www.arduino.cc)

Arduino Uno
Arduino adalah sebuah board mikrokontroller yang berbasis ATmega328. Arduino memiliki 14 pin
input/output yang mana 6 pin dapat digunakan sebagai output PWM, 6 analog input, crystal osilator 16
MHz, koneksi USB, jack power, kepala ICSP, dan tombol reset. Arduino mampu men-
support mikrokontroller; dapat dikoneksikan dengan komputer menggunakan kabel USB..(FeriDjuandi,
2011)

Gambar 2.3. Board Arduino Uno

(http://www.arduino.cc)
Apakah arduino?, Menurut (FeriDjuandi, 2011) Arduino adalah merupakan sebuah board minimum
system mikrokontroler yang bersifat open source. Didalam rangkaian board arduino terdapat
mikrokontroler AVR seri ATMega 328 yang merupakan produk dari Atmel.

Arduino memiliki kelebihan tersendiri dibanding board mikrokontroler yang lain selain bersifat open
source, arduino juga mempunyai bahasa pemrogramanya sendiri yang berupa bahasa C. Selain itu
dalam board arduino sendiri sudah terdapat loader yang berupa USB sehingga memudahkan kita ketika
kita memprogram mikrokontroler didalam arduino. Sedangkan pada kebanyakan board mikrokontroler
yang lain yang masih membutuhkan rangkaian loader terpisah untuk memasukkan program ketika kita
memprogram mikrokontroler. Port USB tersebut selain untuk loader ketika memprogram, bisa juga
difungsikan sebagai port komunikasi serial.

Arduino menyediakan 20 pin I/O, yang terdiri dari 6 pin input analog dan 14 pin digital input/output.
Untuk 6 pin analog sendiri bisa juga difungsikan sebagai output digital jika diperlukan output digital
tambahan selain 14 pin yang sudah tersedia. Untuk mengubah pin analog menjadi digital cukup mengubah
konfigurasi pin pada program. Dalam board kita bisa lihat pin digital diberi keterangan 0-13, jadi untuk
menggunakan pin analog menjadi output digital, pin analog yang pada keterangan board 0-5 kita ubah
menjadi pin 14-19. dengan kata lain pin analog 0-5 berfungsi juga sebagi pin output digital 14-16.

Sifat open source arduino juga banyak memberikan keuntungan tersendiri untuk kita dalam
menggunakan board ini, karena dengan sifat open source komponen yang kita pakai tidak hanya
tergantung pada satu merek, namun memungkinkan kita bisa memakai semua komponen yang ada
dipasaran.

Bahasa pemrograman arduino merupakan bahasa C yang sudah disederhanakan syntax bahasa
pemrogramannya sehingga mempermudah kita dalam mempelajari dan mendalami mikrokontroller.

Deskripsi Arduio UNO:

Tabel Deskripsi Arduino Uno


(Sumber: http://www.arduino.cc)

 Power
Arduino dapat diberikan power melalui koneksi USB atau power supply. Powernya diselek secara
otomatis. Power supply dapat menggunakan adaptor DC atau baterai. Adaptor dapat dikoneksikan dengan
mencolok jack adaptor pada koneksi port input supply. Board arduino dapat dioperasikan
menggunakan supply dari luar sebesar 6 - 20 volt. Jika supplykurang dari 7V, kadangkala pin 5V akan
menyuplai kurang dari 5 volt dan board bisa menjadi tidak stabil. Jika menggunakan lebih dari 12 V,
tegangan di regulator bisa menjadi sangat panas dan menyebabkan kerusakan pada board. Rekomendasi
tegangan ada pada 7 sampai 12 volt.

Penjelasan pada pin power adalah sebagai berikut :


 Vin
Tegangan input ke board arduino ketika menggunakan tegangan dari luar (seperti yang disebutkan 5 volt
dari koneksi USB atau tegangan yang diregulasikan). Pengguna dapat memberikan tegangan melalui pin
ini, atau jika tegangan suplai menggunakan power jack, aksesnya menggunakan pin ini.

 5V
Regulasi power supply digunakan untuk power mikrokontroller dan komponen lainnya pada board. 5V
dapat melalui Vin menggunakan regulator pada board, atau supply oleh USB atau supply regulasi 5V
lainnya.

 3V3

Suplai 3.3 volt didapat oleh FTDI chip yang ada di board. Arus maximumnya adalah 50mA
 Pin Ground
berfungsi sebagai jalur ground pada arduino
 Memori
ATmega328 memiliki 32 KB flash memori untuk menyimpan kode, juga 2 KB yang digunakan untuk
bootloader. ATmega328 memiliki 2 KB untuk SRAM dan 1 KB untuk EEPROM.

Input & Output


Setiap 14 pin digital pada arduino dapat digunakan sebagai input atau output, menggunakan fungsi
pinMode(), digitalWrite(), dan digitalRead(). Input/output dioperasikan pada 5 volt. Setiap pin dapat
menghasilkan atau menerima maximum 40 mA dan memiliki internal pull-up resistor (disconnected oleh
default) 20-50K Ohm.

Beberapa pin memiliki fungsi sebagai berikut :

 Serial : 0 (RX) dan 1 (TX). Digunakan untuk menerima (RX) dan mengirim (TX) TTL data serial. Pin ini
terhubung pada pin yang koresponding dari USB ke TTL chip serial.

 Interupt eksternal : 2 dan 3. Pin ini dapat dikonfigurasikan untuk trigger sebuah interap pada low value,
rising atau falling edge, atau perubahan nilai.

 PWM : 3, 5, 6, 9, 10, dan 11. Mendukung 8-bit output PWM dengan fungsi analogWrite().

 SPI : 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Pin ini mensuport komunikasi SPI, yang mana masih
mendukung hardware, yang tidak termasuk pada bahasa arduino.
 LED : 13. Ini adalah dibuat untuk koneksi LED ke digital pin 13. Ketika pin bernilai HIGH, LED hidup,
ketika pin LOW, LED mati.

Komunikasi
Arduino Uno memiliki sejumlah fasilitas untuk berkomunikasi dengan komputer, Arduino lain, atau
mikrokontroler lain. ATmega328 ini menyediakan UART TTL (5V) komunikasi serial, yang tersedia pada pin
digital 0 (RX) dan 1 (TX). Firmware Arduino menggunakan USB driver standar COM, dan tidak
ada driver eksternal yang dibutuhkan. Namun, pada Windows, file. Ini diperlukan. Perangkat lunak Arduino
termasuk monitor serial yang memungkinkan data sederhana yang akan dikirim ke board Arduino. RX dan
TX LED di board akan berkedip ketika data sedang dikirim melalui chip USB-to-serial dan koneksi USB ke
komputer.

MICROCONTROLLER AVR DAN BAHASA C

Dewasa ini penggunaan bahasa pemrograman tingkat tinggi (seperti C, Basic, Pascal, Forth dan
sebagainya) semakin populer dan banyak digunakan untuk memprogram sistem microcontroller.
Berdasarkan sifatnya yang sangat fleksibel dalam hal keleluasaan pemrogram untuk mengakses
perangkat keras, Bahasa C merupakan bahasa pemrograman yang paling cocok dibandingkan bahasa-
bahasa pemrograman tingkat tinggi lainnya.

Dikembangkan pertama kali oleh Dennis Ritchie dan Ken Thomson pada tahun 1972, Bahasa C
merupakan salah satu bahasa pemrograman yang paling populer untuk pengembangan program-program
aplikasi yang berjalan pada sistem microprocessor (komputer). Karena kepopulerannya, vendor-vendor
perangkat lunak kemudian mengembangkan compiler C sehingga menjadi beberapa varian berikut: Turbo
C, Borland C, Microsoft C, Power C, Zortech C dan lain sebagainya. Untuk menjaga portabilitas, compiler-
compiler C tersebut menerapkan ANSI C (ANSI: American National Standards Institute) sebagai standar
bakunya.

Perbedaan antara compiler-compiler tersebut umumnya hanya terletak pada pengembangan


fungsi-fungsi library serta fasilitas IDE (Integrated Development Environment)–nya saja.

Relatif dibandingkan dengan bahasa tingkat tinggi lain, bahasa C merupakan bahasa pemrograman yang
sangat fleksibel dan tidak terlalu terikat dengan berbagai aturan yang sifatnya kaku. Satu-satunya hal yang
membatasi penggunaan bahasa C dalam sebuah aplikasi adalah semata-mata kemampuan imaginasi
programmer-nya saja. Sebagai ilustrasi, dalam program C kita dapat saja secara bebas menjumlahkan
karakter huruf (misal ‘A’) dengan sebuah bilangan bulat (misal ‘2’), dimana hal yang sama tidak mungkin
dapat dilakukan dengan menggunakan bahasa tingkat tinggi lainnya. Karena sifatnya ini, seringkali bahasa
C dikatagorikan sebagai bahasa tingkat menengah (mid level language).

Dalam kaitannya dengan pemrograman microcontroller, Tak pelak lagi bahasa C saat ini mulai
menggeser penggunaan bahasa tingkat rendah assembler. Penggunaan bahasa C akan sangat efisien
terutama untuk program microcontroller yang berukuran relatif besar. Dibandingkan dengan bahasa
assembler, penggunaan bahasa C dalam pemrograman memiliki beberapa kelebihan berikut:
Mempercepat waktu pengembangan, bersifat modular dan terstruktur, sedangkan kelemahannya adalah
kode program hasil kompilasi akan relative lebih besar (dan sebagai konsekuensinya hal ini terkadang
akan mengurangi kecepatan eksekusi).
Khusus pada microcontroller AVR, untuk mereduksi konsekuensi negative diatas, Perusahaan Atmel
merancang sedemikian sehingga arsitektur AVR ini efisien dalam mendekode serta mengeksekusi
instruksi-instruksi yang umum dibangkitkan oleh compiler C (Dalam kenyataannya, pengembangan
arsitektur AVR ini tidak dilakukan sendiri oleh perusahaan Atmel tetapi ada kerja sama dengan salah satu
vendor pemasok compiler C untuk microcontroller tersebut, yaitu IAR C)

Table 1.2. Beberapa Compiler C untuk microcontroller AVR

Seperti halnya compiler C untuk sistem microprocessor, di pasaran ada beberapa varian compiler C untuk
memprogram sistem microcontroller AVR yang dapat dijumpai (lihat tabel 1.2).

Dengan beberapa kelebihan yang dimilikinya, saat ini CodeVisionAVR produk Perusahaan Pavel Haiduc
merupakan compiler C yang relative banyak digunakan dibandingkan compiler-compiler C lainnya.

PERANGKAT LUNAK CODEVISION AVR

CodeVision AVR pada dasarnya merupakan perangkat lunak pemrograman microcontroller


keluarga AVR berbasis bahasa C. Ada tiga komponen penting yang telah diintegrasikan dalam perangkat
lunak ini: Compiler C, IDE dan Program generator. Berdasarkan spesifikasi yang dikeluarkan oleh
perusahaan pengembangnya, Compiler C yang digunakan hampir mengimplementasikan semua
komponen standar yang ada pada bahasa C standar ANSI (seperti struktur program, jenis tipe data, jenis
operator, dan library fungsi standar-berikut penamaannya). Tetapi walaupun demikian, dibandingkan
bahasa C untuk aplikasi komputer, compiler C untuk microcontroller ini memiliki sedikit perbedaan yang
disesuaikan dengan arsitektur AVR tempat program C tersebut ditanamkan (embedded).

Khusus untuk library fungsi, disamping library standar (seperti fungsi-fungsi matematik, manipulasi
String, pengaksesan memori dan sebagainya), CodeVisionAVR juga menyediakan fungsi-fungsi tambahan
yang sangat bermanfaat dalam pemrograman antarmuka AVR dengan perangkat luar yang umum
digunakan dalam aplikasi kontrol. Beberapa fungsi library yang penting diantaranya adalah fungsi-fungsi
untuk pengaksesan LCD, komunikasi I2C, IC RTC (Real time Clock), sensor suhu LM75, SPI (Serial
Peripheral Interface) dan lain sebagainya.

Untuk memudahkan pengembangan program aplikasi, CodeVisionAVR juga dilengkapi IDE yang sangat
user friendly (lihat gambar 1.1). Selain menu-menu pilihan yang umum dijumpai pada setiap perangkat
lunak berbasis Windows, CodeVisionAVR ini telah mengintegrasikan perangkat lunak downloader (in
system programmer) yang dapat digunakan untuk mentransfer kode mesin hasil kompilasi kedalam sistem
memori microcontroller AVR yang sedang diprogram

Gambar 1.1. IDE perangkat lunak CodeVisionAVR

Selain itu, CodeVisionAVR juga menyediakan sebuah tool yang dinamakan dengan Code Generator atau
CodeWizardAVR (lihat gambar 1.2). Secara praktis, tool ini sangat bermanfaat membentuk sebuah
kerangka program (template), dan juga memberi kemudahan bagi programmer dalam peng-inisialisasian
register-register yang terdapat pada microcontroller AVR yang sedang diprogram. Dinamakan Code
Generator, karena perangkat lunak CodeVision ini akan membangkitkan kode-kode program secara
otomatis setelah fase inisialisasi pada jendela CodeWizardAVR selesai dilakukan. Gambar 1.3 berikut
memperlihatkan beberapa penggal baris kode program yang dibangkitkan secara otomatis oleh
CodeWizardAVR. Secara teknis, penggunaan tool ini pada dasarnya hampir sama dengan application
wizard pada bahasa-bahasa pemrograman Visual untuk komputer (seperti Visual C, Borland Delphi, dan
sebagainya)
Gambar 1.2. Code Generator yang dapat digunakan untuk menginisialisasi register-register pada microcontroller
AVR.

Disamping versi yang komersil, Perusahaan Pavel Haiduc juga mengeluarkan CodeVisionAVR versi Demo
yang dapat didownload dari internet secara gratis (lihat alamat URL: http://www.hpinfotech.ro) Dalam versi
ini, memori flash yang dapat diprogram dibatasi maksimal 2K, selain itu tidak semua fungsi library yang
tersedia dapat dipanggil secara bebas.
Gambar 1.3. Kode-kode program yang dibangkitkan otomatis oleh code generator

PEMROGRAMAN MICROCONTROLLER AVR

Seperti halnya belajar pemrograman komputer, agar mendapatkan pemahaman yang kuat dalam
pemrograman microcontroller AVR, anda sebaiknya mencoba langsung membuat aplikasi program pada
microcontroller tersebut. Untuk tujuan latihan, perangkat lunak CodevisionAVR versi demo pada dasarnya
adalah sarana yang cocok dan telah cukup memenuhi kebutuhan minimal anda. Gambar 1.4. berikut
memperlihatkan diagram blok yang mengilustrasikan alur pemrograman microcontroller AVR dengan
CodevisionAVR yang dapat anda lakukan :

Software Arduino
Arduino Uno dapat diprogram dengan perangkat lunak Arduino . Pada ATMega 328 di Arduino
terdapat bootloader yang memungkinkan Anda untuk meng-upload kode baru untuk itu tanpa
menggunakan programmer hardware eksternal.

IDE Arduino adalah software yang sangat canggih ditulis dengan menggunakan Java. IDE
Arduino terdiri dari:

1. Editor program, sebuah windows yang memungkinkan pengguna menulis dan mengedit program dalam
bahasa Processing.

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

3. Uploader, sebuah modul yang memuat kode biner dari komputer ke dalam memory didalam papan
Arduino.
Sebuah kode program Arduino umumnya disebut dengan istilah sketch. Kata“sketch” digunakan secara
bergantian dengan “kode program” dimana keduanya memiliki arti yang sama. (http://www.arduino.cc)
STRUKTUR PEMROGRAMAN ARDUINO

Pemrograman dasar Arduino sangat sederhana karena hanya dibangun oleh 2 fungsi, yaitu void setup ()
dan void loop (). Struktur pemrograman diperlihatkan sebagai berikut:

void setup ()
{
//blok pernyataan
}
void loop ()
{
//blok pernyataan
}

Fungsi setup adalah fungsi persiapan yang dieksekusi sekali saja, fungsi dipanggil ketika sketch mulai
bekerja dan berguna untuk menginisialisasi arah pin(input atau output),deklarasi pustaka, mulai
komunikasi serial dll. Sedangkan fungsi loop() untuk menuliskan semua perintah dalam suatu
mikrokontroller.

SETUP()
Contoh penggunaan fungsi void() untuk menyalakan sebuah led pada port 13

Int lampuled = 13;


Void setup ()
{
pinMode (lampuLed, OUTPUT);
}

void loop ()
{
//blok pernyataan
}

LOOP()

Fungsi loop akan mengeksekusi perintah berulang-ulang.

Contoh

int lampuled = 13;


void setup ()
{
//atur port 13 sebagai output
pinMode (lampuLed, OUTPUT);
}

Void loop ()
{
//nyalakan port ‘lampuLed’
digitalWrite ( lampuLed,HIGH);
}

KOMENTAR

// ini adalah satu baris komentar


/* untuk komentar lebih dari satu baris (blok komentar), gunakanlah tanda ini. Selama
diapit oleh tanda ini, maka akan di anggap sebagai komentar */
KURUNG KURAWAL

‘’{}” menyatakan awal dan akhir dari suatu fungsi dan pernyataan.

Contoh :

Tipe fungsi ()
{
Pernyataan
}

TANDA TITIK KOMA

Tanda titik koma,’’ ; ’’ digunakan untuk mengakhiri sebuah deklarasi variable, pernyataan (statement), atau
memisahkan elemen-elemen dalam program.

// akhiri deklarasi dengan “ ; “


int ledPin;

//pisahkan tiap elemen dalam for


for (ledpin = 2 ; ledpin < 7; ledpin ++)
{
//akhiri pernyataan dengan ‘’ ; ‘’
digitalWrite ( ledpin, HIGH );
delay (1000);
digitalWrite (ledPin, LOW);
}

Untuk yang lain baca di Reference pada bagian Help di IDE Arduino

Adapun untuk komunikasi antara Arduino dengan komputer, menggunakan:

Serial.begin(9600); // untuk komunikasi Arduino dengan komputer

Semua kode program yang ada di void loop akan dibaca setelah void setup dan akan dibaca terus
menerus oleh Arduino. Isinya berupa kode-kode perintah kepada pin INPUT dan OUTPUT pada Arduino.
Contoh kodenya seperti:

digitalWrite(13, HIGH); //untuk memberikan 5V (nyala) kepada pin 13.


digitalWrite(13, LOW); //untuk memberikan 0V (mati) kepada pin 13.
analogWrite(3, 225); //untuk memberikan nilai 225 (setara dengan 5V) kepada pin 3.

Adapun untuk menampilkan nilai pada sebuah sensor di Serial Monitor, bisa menggunakan:

Serial.print(namasensor); //menampilkan nilai sensor yang disimpan di variabel nama sensor

Untuk menampilkan teks, bis menggunakan:

Serial.print("Selamat Datang"); //menampilkan teks Selamat Datang pada Serial Monitor


contoh program

// Pin 13 dihubungkan ke LED pada kebanyakan Arduino board.


// pin 13 diberi nama led:
int led = 13;

// setup routine dijalankan sekali saat arduino direset :


void setup() {
// inisialisasi pin digital 13 sbg output.
pinMode(led, OUTPUT);
}

// loop melakukan elsekusi berulang:


void loop() {
digitalWrite(led, HIGH); //LED on
delay(1000);
digitalWrite(led, LOW); // LED off
delay(1000);
}

Kesepadanan Fungsi Arduino dan Matlab

Arduino MATLAB
pinMode configureDigitalPin
configureAnalogPin
digitalWrite writeDigitalPin
playTone
digitalRead readDigitalPin
analogWrite writePWMDutyCycle
writePWMVoltage
analogRead readVoltage
Pustaka servo servo
Pustaka I2C i2cdev
Pustaka SPI spidev
Contoh program Arduino pada Matlab

>> % Membuat led menyala


>> writeDigitalPin(a,13,1)
>> % Membuat led padam
>> writeDigitalPin(a,13,0)

Menyala dan memadamkan led secara bergantian sebanyak 10 dengan selang waktu 0.5 detik

for i= 0:10
writeDigitalPin(a,13,1);
pause(0.5);
writeDigitalPin(a,13,0);
pause(0.5);
end

Anda mungkin juga menyukai