LCD
19.05
A. Arduino
Arduino adalah pengendali mikro single-board yang bersifat open-source, diturunkan dari Wiring platform, dirancang untuk memudahkan penggunaan elektronik dalam berbagai bidang. Hardwarenya memiliki prosesor Atmel AVR dan softwarenya memiliki bahasa pemrograman sendiri. Saat ini Arduino sangat populer di seluruh dunia. Banyak pemula yang belajar mengenal robotika dan elektronika lewat Arduino karena mudah dipelajari. Tapi tidak hanya pemula, para hobbyist atau profesional pun ikut senang mengembangkan aplikasi elektronik menggunakan Arduino. Bahasa yang dipakai dalam Arduino bukan assembler yang relatif sulit, tetapi bahasa C yang disederhanakan dengan bantuan pustaka-pustaka (libraries) Arduino. Arduino juga menyederhanakan proses bekerja dengan mikrokontroler, sekaligus menawarkan berbagai macam kelebihan antara lain:
* Murah – Papan (perangkat keras) Arduino biasanya dijual relatif murah (antara 125ribu hingga 400ribuan rupiah saja) dibandingkan dengan platform mikrokontroler pro lainnya. Jika ingin lebih murah lagi, tentu bisa dibuat sendiri dan itu sangat mungkin sekali karena semua sumber daya untuk membuat sendiri Arduino tersedia lengkap di website Arduino bahkan di website-website komunitas Arduino lainnya. Tidak hanya cocok untuk Windows, namun juga cocok bekerja di Linux.
* Sederhana dan mudah pemrogramannya – Perlu diketahui bahwa lingkungan pemrograman di Arduino mudah digunakan untuk pemula, dan cukup fleksibel bagi mereka yang sudah tingkat lanjut. Untuk guru/dosen, Arduino berbasis pada lingkungan pemrograman Processing, sehingga jika mahasiswa atau murid-murid terbiasa menggunakan Processing tentu saja akan mudah menggunakan Arduino.
* Perangkat lunaknya Open Source – Perangkat lunak Arduino IDE dipublikasikan sebagai Open Source, tersedia bagi para pemrogram berpengalaman untuk pengembangan lebih lanjut. Bahasanya bisa dikembangkan lebih lanjut melalui pustaka-pustaka C++ yang berbasis pada Bahasa C untuk AVR.
* Perangkat kerasnya Open Source – Perangkat keras Arduino berbasis mikrokontroler ATMEGA8, ATMEGA168, ATMEGA328 dan ATMEGA1280 (yang terbaru ATMEGA2560). Dengan demikian siapa saja bisa membuatnya (dan kemudian bisa menjualnya) perangkat keras Arduino ini, apalagi bootloader tersedia langsung dari perangkat lunak Arduino IDE-nya. Bisa juga menggunakan breadoard untuk membuat perangkat Arduino beserta periferal-periferal lain yang dibutuhkan.
Arduino adalah pengendali mikro single-board yang bersifat open-source, diturunkan dari Wiring platform, dirancang untuk memudahkan penggunaan elektronik dalam berbagai bidang. Hardwarenya memiliki prosesor Atmel AVR dan softwarenya memiliki bahasa pemrograman sendiri. Saat ini Arduino sangat populer di seluruh dunia. Banyak pemula yang belajar mengenal robotika dan elektronika lewat Arduino karena mudah dipelajari. Tapi tidak hanya pemula, para hobbyist atau profesional pun ikut senang mengembangkan aplikasi elektronik menggunakan Arduino. Bahasa yang dipakai dalam Arduino bukan assembler yang relatif sulit, tetapi bahasa C yang disederhanakan dengan bantuan pustaka-pustaka (libraries) Arduino. Arduino juga menyederhanakan proses bekerja dengan mikrokontroler, sekaligus menawarkan berbagai macam kelebihan antara lain:
* Murah – Papan (perangkat keras) Arduino biasanya dijual relatif murah (antara 125ribu hingga 400ribuan rupiah saja) dibandingkan dengan platform mikrokontroler pro lainnya. Jika ingin lebih murah lagi, tentu bisa dibuat sendiri dan itu sangat mungkin sekali karena semua sumber daya untuk membuat sendiri Arduino tersedia lengkap di website Arduino bahkan di website-website komunitas Arduino lainnya. Tidak hanya cocok untuk Windows, namun juga cocok bekerja di Linux.
* Sederhana dan mudah pemrogramannya – Perlu diketahui bahwa lingkungan pemrograman di Arduino mudah digunakan untuk pemula, dan cukup fleksibel bagi mereka yang sudah tingkat lanjut. Untuk guru/dosen, Arduino berbasis pada lingkungan pemrograman Processing, sehingga jika mahasiswa atau murid-murid terbiasa menggunakan Processing tentu saja akan mudah menggunakan Arduino.
* Perangkat lunaknya Open Source – Perangkat lunak Arduino IDE dipublikasikan sebagai Open Source, tersedia bagi para pemrogram berpengalaman untuk pengembangan lebih lanjut. Bahasanya bisa dikembangkan lebih lanjut melalui pustaka-pustaka C++ yang berbasis pada Bahasa C untuk AVR.
* Perangkat kerasnya Open Source – Perangkat keras Arduino berbasis mikrokontroler ATMEGA8, ATMEGA168, ATMEGA328 dan ATMEGA1280 (yang terbaru ATMEGA2560). Dengan demikian siapa saja bisa membuatnya (dan kemudian bisa menjualnya) perangkat keras Arduino ini, apalagi bootloader tersedia langsung dari perangkat lunak Arduino IDE-nya. Bisa juga menggunakan breadoard untuk membuat perangkat Arduino beserta periferal-periferal lain yang dibutuhkan.
C. LCD
Material LCD (Liquid Cristal Display)
LCD adalah lapisan dari campuran organik
antara lapisan kaca bening dengan elektroda transparan indium oksida
dalam bentuk tampilan seven-segment dan lapisan elektroda pada kaca
belakang. Ketika elektroda diaktifkan dengan medan listrik (tegangan),
molekul organik yang panjang dan silindris menyesuaikan diri dengan
elektroda dari segmen. Lapisan sandwich memiliki polarizer cahaya
vertikal depan dan polarizer cahaya horisontal belakang yang diikuti
dengan lapisan reflektor. Cahaya yang dipantulkan tidak dapat melewati
molekul-molekul yang telah menyesuaikan diri dan segmen yang diaktifkan
terlihat menjadi gelap dan membentuk karakter data yang ingin
ditampilkan.
Pengendali / Kontroler LCD (Liquid Cristal Display)
Dalam modul LCD (Liquid Cristal Display) terdapat microcontroller yang berfungsi sebagai pengendali tampilan karakter LCD (Liquid Cristal Display). Microntroller pada suatu LCD (Liquid Cristal Display) dilengkapi dengan memori dan register. Memori yang digunakan microcontroler internal LCD adalah :
- DDRAM (Display Data Random Access Memory) merupakan memori tempat karakter yang akan ditampilkan berada.
- CGRAM (Character Generator Random Access Memory) merupakan memori untuk menggambarkan pola sebuah karakter dimana bentuk dari karakter dapat diubah-ubah sesuai dengan keinginan.
- CGROM (Character Generator Read Only Memory) merupakan memori untuk menggambarkan pola sebuah karakter dimana pola tersebut merupakan karakter dasar yang sudah ditentukan secara permanen oleh pabrikan pembuat LCD (Liquid Cristal Display) tersebut sehingga pengguna tinggal mangambilnya sesuai alamat memorinya dan tidak dapat merubah karakter dasar yang ada dalam CGROM.
Register control yang terdapat dalam suatu LCD diantaranya adalah.
- Register perintah yaitu register yang berisi perintah-perintah dari mikrokontroler ke panel LCD (Liquid Cristal Display) pada saat proses penulisan data atau tempat status dari panel LCD (Liquid Cristal Display) dapat dibaca pada saat pembacaan data.
- Register data yaitu register untuk menuliskan atau membaca data dari atau keDDRAM. Penulisan data pada register akan menempatkan data tersebut keDDRAM sesuai dengan alamat yang telah diatur sebelumnya.
Pin, kaki atau jalur input dan kontrol dalam suatu LCD (Liquid Cristal Display) diantaranya adalah :
- Pin data adalah jalur untuk memberikan data karakter yang ingin ditampilkan menggunakan LCD (Liquid Cristal Display) dapat dihubungkan dengan bus data dari rangkaian lain seperti mikrokontroler dengan lebar data 8 bit.
- Pin RS (Register Select) berfungsi sebagai indikator atau yang menentukan jenis data yang masuk, apakah data atau perintah. Logika low menunjukan yang masuk adalah perintah, sedangkan logika high menunjukan data.
- Pin R/W (Read Write) berfungsi sebagai instruksi pada modul jika low tulis data, sedangkan high baca data.
- Pin E (Enable) digunakan untuk memegang data baik masuk atau keluar.
- Pin VLCD berfungsi mengatur kecerahan tampilan (kontras) dimana pin ini dihubungkan dengan trimpot 5 Kohm, jika tidak digunakan dihubungkan ke ground, sedangkan tegangan catu daya ke LCD sebesar 5 Volt.
Seven Segmen Bascom AVR
18.021. Rangkaian Simulasi [kembali]
2. Flowchart [kembali]
3. Listing Program [kembali]
$regfile = "m8535.dat" 'library Atmega 8535
$regfile = 16000000 'clocl ATmega 8535
Ddra = &B11111111 'port A sebagai output
Porta = &B00000000 'keadaan awal port a mati
Ddrb = &B00000000 'port B sebagai input
Portb = &B00000000 'keadaan awal port B mati
Do 'fungsi utama
If Pinb.0 = 1 Then 'pemilihan keadaan pada port B
Porta = &B0000110 'output pada port A
Waitms 100 'delay selama 100 ms
Elseif Pinb.1 = 1 Then
Porta = &B1011011
Waitms 100
Elseif Pinb.2 = 1 Then
Porta = &B1001111
Waitms 100
Elseif Pinb.3 = 1 Then
Porta = &B1100110
Waitms 100
Elseif Pinb.4 = 1 Then
Porta = &B1101101
Waitms 100
Elseif Pinb.5 = 1 Then
Porta = &B1111101
Waitms 100
Elseif Pinb.6 = 1 Then
Porta = &B0000111
Waitms 100
Elseif Pinb.7 = 1 Then
Porta = &B1111111
Waitms 100
Else 'pemilihan keadaan terakhir
Porta = &B0000000
Waitms 100
End If 'pemilihan keadaan selesai
Loop 'program berulang
End 'program selesai
4. Video [kembali]
Link download HTML Download here
Link download video simulasi Download here
Link download rangkaian simulasi Download here
Link download listing program Download here
Link download video simulasi Download here
Link download rangkaian simulasi Download here
Link download listing program Download here
Seven Segmen 8086
17.001. Rangkaian Simulasi [kembali]
2. Flowchart [kembali]
3. Listing Program [kembali]
#make_bin#
; BIN is plain binary format similar to .com format, but not limited to 1 segment;
; All values between # are directives, these values are saved into a separate .binf file.
; Before loading .bin file emulator reads .binf file with the same file name.
; All directives are optional, if you don't need them, delete them.
; set loading address, .bin file will be loaded to this address:
#LOAD_SEGMENT=0500h#
#LOAD_OFFSET=0000h#
; set entry point:
#CS=0500h# ; same as loading segment
#IP=0000h# ; same as loading offset
; set segment registers
#DS=0500h# ; same as loading segment
#ES=0500h# ; same as loading segment
; set stack
#SS=0500h# ; same as loading segment
#SP=FFFEh# ; set to top of loading segment
; set general registers (optional)
#AX=0000h#
#BX=0000h#
#CX=0000h#
#DX=0000h#
#SI=0000h#
#DI=0000h#
#BP=0000h#
;initialisasi PA=PB=Out;
mov dx,206h
mov al,89h
out dx,al
lagi:
mov dx,200h
mov al,0FBh
out dx,al
mov dx,202h
mov al,4Fh
out dx,al
jmp lagi
HLT ; halt!
4. Video [kembali]
File HTML -download
File Proteus - downloadFile Program - Download
Video Rangkaian - Download
Seven Segmen
16.26
Mikrokontroller 8086 dan Mikrokontroller
Bascom AVR.
a. Mikrokontroller 8086 dan Mikrokontroller Bascom AVR
b. LED
c. SWICTH
d. Jumper
A. Mikroprosesor 8086
B. Mikrokontroller Bascom Avr
Intel 8086
mikroprosesor seperti pada Gambar 01 di atas adalah anggota pertama dari
keluarga prosesor x86 . Diiklankan sebagai " source-code kompatibel "
dengan Intel 8080 dan Intel 8085 prosesor , 8086 tidak kode objek kompatibel
dengan mereka . 8086 memiliki arsitektur 16 - bit lengkap - 16 - bit register
internal , 16 - bit data bus , dan alamat 20 - bit bus ( 1 MB memori fisik ) .
Karena prosesor memiliki register indeks 16 -bit dan pointer memori , secara
efektif dapat mengatasi hanya 64 KB memori . Untuk mengatasi memori luar 64 KB
CPU menggunakan register segmen – register ini menentukan lokasi memori untuk
kode , stack , dan data tambahan 64 KB segmen . Segmen dapat diposisikan di
mana saja di memori, dan , jika perlu , program pengguna dapat mengubah posisi
mereka . Metode ini memiliki satu
keuntungan besar sangat mudah untuk menulis kode memori independen ketika
ukuran kode , stack dan data yang lebih kecil masing-masing dari 64 KB.
Kompleksitas kode dan pemrograman meningkat , kadang-kadang secara signifikan ,
ketika ukuran stack, data dan , atau kode lebih besar dari 64 KB . Untuk
mendukung berbagai variasi memori canggung menangani skema ini banyak kompiler
8086 termasuk 6 model memori yang berbeda : kecil , kecil , kompak , menengah,
besar dan besar . Keterbatasan pengalamatan 64 KB langsung telah dieliminasi
dengan pengenalan modus terproteksi 32-bit dalam prosesor Intel 80386 .
Set
instruksi intel 8086 termasuk instruksi string yang sedikit sangat kuat .
Ketika instruksi ini diawali oleh REP ( ulangi ) instruksi , CPU akan melakukan
operasi blok - memindahkan blok data , membandingkan blok data , kumpulan data
blok untuk nilai tertentu , dan lain-lain, yang satu 8086 senar instruksi
dengan awalan REP bisa melakukan banyak sebagai instruksi lingkaran 4-5 pada
beberapa prosesor lainnya . Agar adil , Zilog Z80 termasuk langkah dan
instruksi blok pencarian , dan Motorola 68000 bisa menjalankan operasi blok hanya
menggunakan dua instruksi.
8086
mikroprosesor menyediakan dukungan untuk Intel 8087 numerik co - processor .
CPU mengakui semua Floating- Titik ( FP ) instruksi . Ketika instruksi FP
referensi memori , CPU menghitung alamat memori dan melakukan membaca memori .
Alamat dihitung , dan mungkin membaca data , ditangkap oleh FPU . Setelah itu
hasil CPU ke instruksi berikutnya , sedangkan FPU mengeksekusi instruksi
floating-point . Dengan demikian, baik instruksi integer dan floating-point dapat
dijalankan secara bersamaan.
Intel 8086 CPU yang asli diproduksi
menggunakan teknologi HMOS . Kemudian Intel memperkenalkan 80C86 dan 80C86A -
versi CHMOS CPU. Mikroprosesor ini
memiliki konsumsi daya yang jauh lebih rendah dan menampilkan modus siaga .
B. Mikrokontroller Bascom Avr
Bahasa
pemrograman basic terkenal didunia sebagai bahasa pemrograman yang handal.
Sangat bertolak belakang dari namanya basic, bahasa ini sebenarnya bahasa yang
memiliki kemampuan tingkat tinggi. Bahkan banyak para programer terkenal dunia
memakai bahasa pemrograman ini sebagai senjata ampuhnya. Bahasa pemrograman
basic banyak digunakan untuk aplikasi mikrokontroler karena kompatibel oleh
mikrokontroler jenis AVR dan didukung dengan compiler pemrograman berupa
software BASCOM AVR. Bahasa basic memiliki penulisan program yang mudah
dimengerti walaupun untuk orang awam sekalipun, karena itu bahasa ini dinamakan
bahasa basic. Jenis perintah programnya seperti do, loop, if, then, dan
sebagainya masih banyak lagi.
BASCOM AVR
sendiri adalah salah satu tool untuk pengembangan / pembuatan program untuk
kemudian ditanamkan dan dijalankan pada mikrokontroler terutama mikrokontroler
keluarga AVR . BASCOM
AVR juga bisa disebut sebagai IDE (Integrated Development Environment) yaitu
lingkungan kerja yang terintegrasi, karena disamping tugas utamanya
meng-compile kode program menjadi file hex / bahasa mesin, BASCOM AVR juga
memiliki kemampuan / fitur lain yang berguna sekali seperti monitoring
komunikasi serial dan untuk menanamkan program yang sudah di compile ke
mikrokontroler
BASCOM AVR
menyediakan pilihan yang dapat mensimulasikan
program. Program simulasi ini bertujuan untuk menguji suatu aplikasi
yang dibuat dengan pergerakan LED yang ada pada layar simulasi dan dapat juga
langsung dilihat pada LCD, jika kita membuat aplikasi yang berhubungan dengan
LCD. Intruksi yang dapat digunakan pada editor BASCOM AVR relatif cukup banyak
dan tergantung dari tipe dan jenis AVR yang digunakan. Berikut ini adalah beberapa
perintah intruksi-intruksi dasar yang digunakan pada BASCOM AVR.
Tabel intruksi dasar bascom avr
Intruksi
|
keterangan
|
DO....LOOP
|
Perulangan
|
GOSUB
|
Memaggil prosedur
|
IF....THEN
|
Percabangan
|
FOR.....NEXT
|
Perulangan
|
WAIT
|
Waktu tanda detik
|
WAITMS
|
Waktu tanda mili detik
|
WAITUS
|
Waktu tanda micro detik
|
GOTO
|
Loncat ke alamat memori
|
SELECT....CASE
|
Percabangan
|
Kontruksi bahasa BASIC pada BASCOM AVR
Setiap bahasa
pemprograman mempunyai standar penulisan program. Konstruksi dari program
bahasa BASIC harus mengikuti aturan sebagai berikut:
$regfile =
“header”
’inisialisasi
’deklarasi
variabel
’deklarasi
konstanta
Do
’pernyataan-pernyataan
Loop
end
Pengarah preprosesor
$regfile =
“m16def.dat” merupakan pengarah pengarah preprosesor bahasa BASIC yang memerintahkan
untuk meyisipkan file lain, dalam hal ini adalah file m16def.dat yang berisi
deklarasi register dari mikrokonroller ATmega 16, pengarah preprosesor lainnya
yang sering digunakan ialah sebagai berikut:
$crystal =
12000000 ‘menggunakan crystal clock 12 MHz
$baud =
9600
‘komunikasi serial dengan baudrate 9600
$eeprom
’menggunakan
fasilitas eeprom
Operator
Operator Penugasan
Operator
Penugasan (Assignment operator) dalam Bahasa Basic berupa “=”.
Operator Aritmatika
* :
untuk perkalian
/
: untuk pembagian
+ :
untuk pertambahan
-
: untuk pengurangan
% : untuk
sisa pembagian (modulus)
Operator Hubungan (Perbandingan)
Operator hubungan
digunakan untuk membandingkan hubungan dua buah operand atau sebuah nilai /
variable, misalnya :
=
’Equality X = Y
<
’Less than X < Y
>
’Greater than X > Y
<=
’Less than or equal to X <= Y
>=
’Greater than or equal to X >= Y
Operator Logika
Operator logika
digunakan untuk membandingkan logika hasil dari operator-operator hubungan.
Operator logika ada empat macam, yaitu :
NOT
‘Logical complement
AND
‘Conjunction
OR
‘Disjunction
XOR
‘Exclusive or
Operator Bitwise
Operator bitwise
digunakan untuk memanipulasi bit dari data yang ada di memori. Operator bitwise
dalam Bahasa Basic :
Shift A, Left, 2
: Pergeseran bit ke kiri
Shift A, Right, 2
: Pergeseran bit ke kanan
Rotate A, Left, 2
: Putar bit ke kiri
Rotate A, right,
2 : Putar bit ke kanan
Pernyataan Kondisional (IF-THEN – END IF)
Pernyataan ini
digunakan untuk melakukan pengambilan keputusan terhadap dua buah bahkan lebih
kemungkinan untuk melakukan suatu blok pernyataan atau tidak. Konstruksi penulisan
pernyatan IF-THEN-ELSE-END IF pada bahasa BASIC ialah sebagai berikut:
IF
pernyataan kondisi 1 THEN
‘blok pernyataan
1 yang dikerjakan bila kondisi 1 terpenuhi
IF pernyataan
kondisi 2 THEN
‘blok pernyataan
2 yang dikerjakan bila kondisi 2 terpenuhi
IF pernyataan
kondisi 3 THEN
‘blok pernyataan
3 yang dikerjakan bila kondisi 3 terpenuhi
Setiap penggunaan
pernyataan IF-THEN harus diakhiri dengan perintah END IF sebagai akhir dari
pernyatan kondisional.C. Seven Segmen
Seven Segment Display (7 Segment Display) dalam bahasa Indonesia disebut dengan Layar Tujuh Segmen adalah komponen Elektronika yang dapat menampilkan angka desimal melalui kombinasi-kombinasi segmennya. Seven Segment Display pada umumnya dipakai pada Jam Digital, Kalkulator, Penghitung atau Counter Digital, Multimeter Digital dan juga Panel Display Digital seperti pada Microwave Oven ataupun Pengatur Suhu Digital . Seven Segment Display pertama diperkenalkan dan dipatenkan pada tahun 1908 oleh Frank. W. Wood dan mulai dikenal luas pada tahun 1970-an setelah aplikasinya pada LED (Light Emitting Diode).
Seven Segment Display memiliki 7 Segmen dimana setiap segmen dikendalikan secara ON dan OFF untuk menampilkan angka yang diinginkan. Angka-angka dari 0 (nol) sampai 9 (Sembilan) dapat ditampilkan dengan menggunakan beberapa kombinasi Segmen. Selain 0 – 9, Seven Segment Display juga dapat menampilkan Huruf Hexadecimal dari A sampai F. Segmen atau elemen-elemen pada Seven Segment Display diatur menjadi bentuk angka “8” yang agak miring ke kanan dengan tujuan untuk mempermudah pembacaannya. Pada beberapa jenis Seven Segment Display, terdapat juga penambahan “titik” yang menunjukan angka koma decimal. Terdapat beberapa jenis Seven Segment Display, diantaranya adalah Incandescent bulbs, Fluorescent lamps (FL), Liquid Crystal Display (LCD) dan Light Emitting Diode (LED).
LED 7 Segmen Tipe Common Cathode (Katoda)
Pada LED 7 Segmen jenis Common Cathode (Katoda), Kaki Katoda pada semua segmen LED adalah terhubung menjadi 1 Pin, sedangkan Kaki Anoda akan menjadi Input untuk masing-masing Segmen LED. Kaki Katoda yang terhubung menjadi 1 Pin ini merupakan Terminal Negatif (-) atau Ground sedangkan Signal Kendali (Control Signal) akan diberikan kepada masing-masing Kaki Anoda Segmen LED.LED 7 Segmen Tipe Common Anode (Anoda)
Pada LED 7 Segmen jenis Common Anode (Anoda), Kaki Anoda pada semua segmen LED adalah terhubung menjadi 1 Pin, sedangkan kaki Katoda akan menjadi Input untuk masing-masing Segmen LED. Kaki Anoda yang terhubung menjadi 1 Pin ini akan diberikan Tegangan Positif (+) dan Signal Kendali (control signal) akan diberikan kepada masing-masing Kaki Katoda Segmen LED.LED Atmega
09.181. Rangkaian Simulasi [kembali]
2. Flowchart [kembali]
3. Listing Program [kembali]
#Include <mega128.H> // mengaktifkan library atmega 128
#Include <delay.H> // mengaktifkan library delay
Void main(void) // fungsi utama
{
PORTE=0XFF; // untuk mendeklarasikan kondisi awal porte dalam keadaan hidup
DDRE=0X00; // data direction( mendeklarasikan portesebagai INPUT)
PORTC=0XFF; // untuk mendeklarasikan kondisi awal PORTE dalam keadaan hidup
DDRC=0XFF; // data direction( mendeklarasikan PORTE sebagai OUTPUT)
While(1) // fungsi perulangan
{
if (PINE.1== 1) // Jika PINE.1==1 maka
{
PORTC=0x81; // led (D0,D7) hidup
Delay_ms(100); // delay 100ms
PORTC=0x42; // led (D1,D6) hidup
Delay_ms(100); // delay 100 ms
PORTC=0x24; // Led (D2,D5) hidup
Delay_ms(100); // delay 100 ms
PORTC=0x18; // Led (D3,D4) hidup
Delay_ms(100); // delay 100 ms
}
Else // Jika tidak
{
PORTC=0x00; // (D0-D7) mati
Delay_ms(100)
}} } //// Penutup kurung
4. Video [kembali]
LED Arduino
07.111. Rangkaian Simulasi [kembali]
2. Flowchart [kembali]
3. Listing Program [kembali]
int tekan = A4; //menyatakan variabel tekan untuk pin A4 pada arduino
int reading = 0;
int led [ ] = {13,12,11,10,9,8,7,6}; //menyatakan penggunaan pin 6-13 pada arduino dengan variabel led dalam bentuk array
void setup() //semua kode yang disini akan dibaca sekali
{
for (int i=0;i<=8;i++) //melakukan perulangan yang dimulai dari 0 dengan nilai batas kecil dari 8, INCREASE
{
pinMode (led[i],OUTPUT); //menyatakan pin-pin arduino yang digunakan sebagai OUTPUT
}
pinMode (tekan,INPUT); //menyatakan variabel tekan sebagai INPUT
}
void loop() //semua kode yang ada disini akan dibaca berulang kali (terus menerus)
{
reading = digitalRead (tekan); //menyatakan nilai reading adalah nilai pembacaan secara digital pada tekan
if (reading == HIGH) //kondisi if, dimana nilai reading sama dengan kondisi HIGH
{
for(int hidup =0;hidup<=8;hidup++) //melakukan perulangan yang dimulai dari 0 dengan nilai batas kecil dari 8 untuk LED hidup, INCREASE
{
digitalWrite(led[hidup],HIGH); //memberikan 5V (Nyala) kepada pin-pin led
}
delay(100); //menunggu waktu selama 100 ms (0,1 s)
for (int mati =0;mati<=8;mati++) //melakukan perulangan yang dimulai dari 0 dengan nilai batas kecil dari 8 untuk LED mati, INCREASE
{
digitalWrite(led[mati],LOW); //memberikan 0V (Mati) kepada pin-pin led
}
delay(100); //menunggu waktu selama 100 ms (0,1 s)
}
} //akhir program (end)
4. Video [kembali]