MIKROKONTROLER LANJUT
Disusun Oleh :
Ilham Mutaqin 1315010072
Putri Hapsari 1315010021
Ilham Mutaqin
Putri Hapsari
ABSTRAK
Peralatan elektronik hampir tidak pernah lepas dari kehidupan manusia untuk
meningkatkan kemudahan dan kenyamanan dalam pemenuhan kebutuhannya.Pada
saat ini, penghitungan hasil pemilihan umum di Politeknik Negeri Jakarta masih
menggunakan metode manual. Bahkan pemilihan beberapa calon masih dilakukan
dengan cara disuarakan. Alat penghitung surat suara adalah salah satu solusinya.
Penelitian ini membahas tentang proses penghitungan surat suara dan hasil dari
pemilihan umum berbasis Arduino Uno dengan keluaran berupa suara yang
dikeluarkan oleh speaker dan ditampilkan pada LCD dengan memanfaatkan metode
optocoupler dimana LED sebagai transmitter dan sensor Photodioda sebagai receiver.
Pengunaan ISD 2560 pada alat ini sebagai penyimpan suara untuk dikeluarkan oleh
speaker.
Kata kunci : Arduino Uno, LED, Sensor Photodioda, LCD, ISD 2560, Speaker,
Optocoupler.
BAB I
PENDAHULUAN
2.3. LCD
LCD atau Liquid Cystal Display adalah sebuah peralatan elektronik yang
berfungsi untuk menampilkan output sebuah sistem dengan cara membentuk suatu
citra atau gambaran pada sebuah layar. Secara garis besar komponen penyusun LCD
terdiri dari kristal cair (liquid crystal) yang diapit oleh 2 buah elektroda transparan
dan 2 buah filter polarisasi (polarizing filter).
Sebuah citra dibentuk dengan mengombinasikan kondisi nyala dan mati dari
pixel-pixel yang menyusun layar sebuah LCD. Pada umumnya LCD yang dijual di
pasaran sudah memiliki integrated circuit tersendiri sehingga para pemakai dapat
mengontrol tampilan LCD dengan mudah dengan menggunakan mikrokontroler
untuk mengirimkan data melalui pin-pin input yang sudah tersedia.
LCD yang ada dipasaran dikategorikan menurut jumlah baris yang dapat
digunakan pada LCD yaitu 1 baris, 2 baris, dan 4 baris yang dapat digunakan hingga
80 karakter. Umumnya LCD yang digunakan adalah LCD dengan 1 controller yang
memiliki 14 pin (Anonim, 2013).
2.4. LED
Light Emitting Diode atau sering disingkat dengan LED adalah komponen
elektronika yang dapat memancarkan cahaya monokromatik ketika diberikan
tegangan maju. LED merupakan keluarga Dioda yang terbuat dari bahan
semikonduktor. Warna-warna Cahaya yang dipancarkan oleh LED tergantung pada
jenis bahan semikonduktor yang dipergunakannya. LED juga dapat memancarkan
sinar inframerah yang tidak tampak oleh mata seperti yang sering kita jumpai pada
Remote Control TV ataupun Remote Control perangkat elektronik lainnya.
Bentuk LED mirip dengan sebuah bohlam (bola lampu) yang kecil dan dapat
dipasangkan dengan mudah ke dalam berbagai perangkat elektronika.Berbeda dengan
Lampu Pijar, LED tidak memerlukan pembakaran filamen sehingga tidak
menimbulkan panas dalam menghasilkan cahaya.Oleh karena itu, saat ini LED (Light
Emitting Diode) yang bentuknya kecil telah banyak digunakan sebagai lampu
penerang dalam LCD TV yang mengganti lampu tube.
2.5. Sensor LDR (Light Dependent Resistor)
Light Dependent Resistor atau disingkat dengan LDR adalah jenis Resistor
yang nilai hambatan atau nilai resistansinya tergantung pada intensitas cahaya yang
diterimanya. Nilai Hambatan LDR akan menurun pada saat cahaya terang dan nilai
Hambatannya akan menjadi tinggi jika dalam kondisi gelap. Dengan kata lain, fungsi
LDR (Light Dependent Resistor) adalah untuk menghantarkan arus listrik jika
menerima sejumlah intensitas cahaya (Kondisi Terang) dan menghambat arus listrik
dalam kondisi gelap.
Naik turunnya nilai Hambatan akan sebanding dengan jumlah cahaya yang
diterimanya. Pada umumnya, Nilai Hambatan LDR akan mencapai 200 Kilo Ohm
(k) pada kondisi gelap dan menurun menjadi 500 Ohm () pada Kondisi Cahaya
Terang.LDR (Light Dependent Resistor) yang merupakan Komponen Elektronika
peka cahaya ini sering digunakan atau diaplikasikan dalam Rangkaian Elektronika
sebagai sensor pada Lampu Penerang Jalan, Lampu Kamar Tidur, Rangkaian Anti
Maling, Shutter Kamera, Alarm dan lain sebagainya.
3.1.2. Spesifikasi alat penghitung jumlah suara yang dirancang sebagai berikut :
a. Menggunakan sebuah kotak untuk menscan surat suara Box Scan
dengan ukuran sebagai berikut :
Dimensi : 17x13x15 cm
Bahan : Kayu
b. Sumber tegangan yang digunakan yaitu baterai DC 5 volt
c. Sensor yang digunakan untuk mendeteksi cahaya adalah sensor LDR
(Light Dependent Resistor)
d. Keluaran dari alat ini berupa suara yang ditampilkan melalui speaker.
e. Keluaran teks ditampilkan melalui LCD 20x4
f. Mikrokontroler yang digunakan adalah Arduino Uno
g. Modul mp3 yang digunakan adalah modul UART MP3 Musik
PlayerCatalex YX5300
3.2. Diagram Blok
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#include <SoftwareSerial.h>
void setup() {
mySerial.begin(9600);
delay(500); //Wait chip initialization is complete
sendCommand(CMD_SEL_DEV, DEV_TF); //memilih kartu TF
digitalWrite(pinButton, HIGH);
digitalWrite(btnreset, HIGH);
}
void loop() {
if(digitalRead(btnreset) == LOW){ //kondisi saat push button reset = 0
tidaksah = 0; //nilai pada variabel tidaksah = 0
paslon1 = 0; //nilai pada variabel paslon1 = 0
paslon2 = 0; //nilai pada variabel paslon2 = 0
paslon3 = 0; //nilai pada variabel paslon3 = 0
jumlahsuara = 0; //nilai pada variabel Jumlahsuara = 0
if((nilaiLDR1>840)&&(nilaiLDR2>840)&&(nilaiLDR3>840)&&(digitalRead(pi
nButton) == LOW)){ //GOLPUT 000
digitalWrite(pinLED, HIGH);
lcd.setCursor(13,0); //set pada pixel baris 0 kolom 13
tidaksah+=1; //nilai tidaksah bertambah 1
lcd.print(tidaksah); //menampilkan nilai Tidaksah pada LCD
lcd.setCursor(13,1); //set pada pixel baris 1 kolom 13
jumlahsuara+=1; //nilai jumlahsuara bertambah 1
lcd.print(jumlahsuara); //menampilkan nilai Jumlah pada LCD
delay(1000); //delay waktu 1 detik
sendCommand(CMD_PLAY_W_VOL,0X1E04); //Memutar suara
delay(3000); //delay waktu 3 detik
}
else
if((nilaiLDR1<840)&&(nilaiLDR2<840)&&(nilaiLDR3>840)&&(digitalRead(pi
nButton) == LOW)){//GOLPUT 110
digitalWrite(pinLED, HIGH);
lcd.setCursor(13,0); //set pada pixel baris 0 kolom 13
tidaksah+=1; //nilai tidaksah bertambah 1
lcd.print(tidaksah); //menampilkan nilai Tidaksah pada LCD
lcd.setCursor(13,1); //set pada pixel baris 1 kolom 13
jumlahsuara+=1; //nilai jumlahsuara bertambah 1
lcd.print(jumlahsuara); //menampilkan nilai Jumlahsuara pada LCD
delay(1000); //delay waktu 1 detik
sendCommand(CMD_PLAY_W_VOL,0X1E04); //Memutar suara
delay(3000); //delay waktu 3 detik
}
elseif((nilaiLDR1<840)&&(nilaiLDR2>840)&&(nilaiLDR3<840)&&(digitalRea
d(pinButton) == LOW)){ //GOLPUT 101
digitalWrite(pinLED, HIGH);
lcd.setCursor(13,0); //set pada pixel baris 0 kolom 13
tidaksah+=1; //nilai tidaksah bertambah 1
lcd.print(tidaksah); //menampilkan nilai tidaksah pada LCD
lcd.setCursor(13,1); //set pada pixel baris 1 kolom 13
jumlahsuara+=1; //nilai jumlahsuara bertambah 1
lcd.print(jumlahsuara); //menampilkan nilai Jumlahsuara pada LCD
delay(1000); //delay waktu 1 detik
sendCommand(CMD_PLAY_W_VOL,0X1E04); //Memutar suara
delay(3000); //delay waktu 3 detik
}
elseif((nilaiLDR1<840)&&(nilaiLDR2<840)&&(nilaiLDR3<840)&&(digitalRea
d(pinButton) == LOW)){ //GOLPUT 111
digitalWrite(pinLED, HIGH);
lcd.setCursor(13,0); //set pada pixel baris 0 kolom 13
tidaksah+=1; //nilai tidaksah bertambah 1
lcd.print(tidaksah); //menampilkan nilai Tidaksah pada LCD
lcd.setCursor(13,1); //set pada pixel baris 1 kolom 13
jumlahsuara+=1; //nilai jumlahsuara bertambah 1
lcd.print(jumlahsuara); //menampilkan nilai Jumlahsuara pada LCD
delay(1000); //delay waktu 1 detik
sendCommand(CMD_PLAY_W_VOL,0X1E04); //Memutar suara
delay(3000); //delay waktu 3 detik
}
else
if((nilaiLDR1<840)&&(nilaiLDR2>840)&&(nilaiLDR3>840)&&(digitalRead(pi
nButton) == LOW)){ //PASLON 1
digitalWrite(pinLED, HIGH);
lcd.setCursor(3,0); //set pada pixel baris 0 kolom 13
paslon1+=1; //nilai Paslon1 bertambah 1
lcd.print(paslon1); //menampilkan nilai Paslon1 pada LCD
lcd.setCursor(13,1); //set pada pixel baris 1 kolom 13
jumlahsuara+=1; //nilai Jumlahsuara bertambah 1
lcd.print(jumlahsuara); //menampilkan nilai Jumlah suara pada LCD
delay(1000); //delay waktu 1 detik
sendCommand(CMD_PLAY_W_VOL,0X1E01); //Memutar suara
delay(3000); //delay waktu 3 detik
}
else
if((nilaiLDR1>840)&&(nilaiLDR2<840)&&(nilaiLDR3>840)&&(digitalRead(pi
nButton) == LOW)){//PASLON 2
digitalWrite(pinLED, HIGH);
lcd.setCursor(3,1); //set pada pixel baris 1 kolom 3
paslon2+=1; //nilai Paslon2 bertambah 1
lcd.print(paslon2); //menampilkan nilai Paslon2 pada LCD
lcd.setCursor(13,1); //set pada pixel baris 1 kolom 13
jumlahsuara+=1; //nilai Jumlahsuara bertambah 1
lcd.print(jumlahsuara); //menampilkan nilai Jumlah suara pada LCD
delay(1000); //delay waktu 1 detik
sendCommand(CMD_PLAY_W_VOL,0X1E02); //Memutar suara
delay(3000); //delay waktu 3 detik
}
else
if((nilaiLDR1>840)&&(nilaiLDR2>840)&&(nilaiLDR3<840)&&(digitalRead(pi
nButton) == LOW)){//PASLON 3
digitalWrite(pinLED, HIGH);
lcd.setCursor(3,2); //set pada pixel baris 2 kolom 3
paslon3+=1; //nilai Paslon3 bertambah 1
lcd.print(paslon3); //menampilkan nilai Paslon3 pada LCD
lcd.setCursor(13,1); //set pada pixel baris 1 kolom 13
jumlahsuara+=1; //nilai Jumlahsuara bertambah 1
lcd.print(jumlahsuara); //menampilkan nilai Jumlah suara pada LCD
delay(1000); //delay waktu 1 detik
sendCommand(CMD_PLAY_W_VOL,0X1E03); //Memutar suara
delay(3000); //delay waktu 3 detik
}
else
if((nilaiLDR1>840)&&(nilaiLDR2<840)&&(nilaiLDR3<840)&&(digitalRead(pi
nButton) == LOW)){ //GOLPUT 011
digitalWrite(pinLED, HIGH);
lcd.setCursor(13,0); //set pada pixel baris 0 kolom 13
tidaksah+=1; //nilai Tidaksah bertambah 1
lcd.print(tidaksah); //menampilkan nilai Tidaksah pada LCD
lcd.setCursor(13,1); //set pada pixel baris 1 kolom 13
jumlahsuara+=1; //nilai Jumlahsuara bertambah 1
lcd.print(jumlahsuara); //menampilkan nilai Jumlah suara pada LCD
delay(1000); //delay waktu 1 detik
sendCommand(CMD_PLAY_W_VOL,0X1E04); //Memutar suara
delay(3000); //delay waktu 3 detik
}
#include <mega8535.h>
#include <delay.h>
#include <alcd.h>
#include <stdio.h>
#define tom PINC.0
int i;
void main(void)
{
PORTA=0x00;
DDRA=0xFF;
PORTC=0x00;
DDRC=0x00;
lcd_init(16);
while (1)
{
lcd_gotoxy(0,0); //menset penampilan karakter pada 0,0
sprintf(buff,"jml S.Suara= %d",i); //menampilkan jml S.suara dan nilai
variabel i pada lcd
lcd_puts(buff);
if(!tom){while(!tom);
delay_ms(200);i++;}
}
}
PORT POWER
- PORT.0 free
- PORT.5v free
- PORT.Res free
- PORT.3,3v free
- PORT.5v Terhubung ke Protoboard
- PORT.GND Terhubung ke Protoboard
- PORT.GND free
- PORT.Vin free
PORT ANALOG
- PORT.A0 Terhubung ke LDR pertama
- PORT.A1 Terhubung ke LDR kedua
- PORT.A2 Terhubung ke LDR ketiga
- PORT.A3 free
- PORT.A4 free
- PORT.A5 free
4. 1. KESIMPULAN
4. 1.1. Kotak Scan
1. Pendeteksian cahaya yang masuk melalu celah kertas oleh sensor LDR
membuat data yang ditampilkan oleh LCD bertambah 1 dan Speaker
mengeluarkan suara sesuai dengan LDR mana yang menerima cahaya.
2. Membuat sekat pada LDR dilapisi dengan kertas mengilap meningkatkan
cahaya yang tidak jatuh langsung pada LDR.
[1] Niko, Okta. (2011). Rancangan Aplikasi Parallel Port Printer Untuk Menghitung
Jumlah Pemilih Pada Pemilu. Proyek Akhir, hlm 3.
[2] Datasheet Modul MP3 WTV020, Dari http://vcc2gnd.com/sku/WTV020
[3] Whisker. (2011). Crystal Vacum Tube Base LED. IEEE Trans on PWRD.
Vol.1.p.109
[4] Depari, Ganti 1992, Teori Rangkaian Elektronika, CV. Sinar Baru, Bandung.