Anda di halaman 1dari 28

LAPORANPRAKTIK PEMOGRAMAN

MIKROKONTROLER LANJUT

RANCANG BANGUN ALAT PENGHITUNG SURAT SUARA DAN JUMLAH


SUARA OTOMATIS DENGAN ARDUINO UNO DAN OUTPUT KELUARAN
SUARA DAN LCD

Disusun Oleh :
Ilham Mutaqin 1315010072
Putri Hapsari 1315010021

PROGRAM STUDI TEKNIK ELEKTRONIKA INDUSTRI


JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI JAKARTA
2017
RANCANG BANGUN ALAT PENGHITUNG SURAT SUARA DAN JUMLAH
SUARA OTOMATIS DENGAN ARDUINO UNO DAN OUTPUT KELUARAN
SUARA DAN LCD

Ilham Mutaqin
Putri Hapsari

Jurusan Teknik Elektro

Program Studi Teknik Elektronika Industri

Politeknik Negeri Jakarta

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

1.1. Latar Belakang


Indonesia merupakan negara Demokrasi, dimana dalam setiap warga
negaranya mempunyai aspirasi langsung dalam hal pemilihan umum.Contohnya di
Politeknik Negeri Jakarta dalam pemilihan ketua BEM. Penyelenggaran Pemilu
(pemilihan umum) di Politeknik Negeri Jakarta dilakukan minimal 1 tahun sekali
dengan aturan yang sama dengan pemilihan umum yang diselenggarakan oleh
pemerintah. Tidak jarang berbagai masalah terjadi dalam proses pemilu, baik karena
kesalahan manusia ataupun kesalahan perangkat.
Pemilihan ketua BEM di Politeknik Negeri Jakarta menggunakan cara manual
dimana hasil dari pemilihan umum ditulis dan disuarakan. Dalam pelaksaan
pemilihan sudah banyak dilakukan berbagai metode untuk lebih menjamin ketepatan
pemilihan umum dan lebih efesien, tetapi masih banyak pula masalah yang terjadi
setelah itu seperti banyak pemilihan umum yang hasilnya berupa penggelembungan
suara yang menyebabkan kerugian untuk berbagai pihak.
Kemajuan teknologi diberbagai bidang khususnya elektronika mendorong
untuk berinisiatif untuk merancang suatu alat yang bisa mengawasi penghitungan
surat suara. Dengan alat ini diharapkan bisa mengawasi langsung ,mengetahui jumlah
pemilih langsung secara otomatis dalam tiap orangnya dan menghitung hasil dari
ekapitulasi suara. Alat ini mempunyai dua bagian yang terpisah yaitu kotak suara
untuk menghitung jumlah surat suara yang masuk yang mewakili jumlah emilih dan
alat penghitung hasil ekapitulasi suara. Alat ini kami sebut dengan Alat Penghitung
Suara Otomatis
1.2. Pembahasan Singkat
1. Menginstalasi sensor, Arduino Uno, Mikro Kontroller AVR, Modul UART
MP3 Player, LCD dan Speaker
2. Mengkomunikasikan Arduino uno dengan sensor, Modul Uart MP3
Player, speaker dan LCD. Serta mengkomunikasikan mikon AVR dengan
sensor dan LCD
3. Memprogram pendeteksian terhadap bolongan pada objek kerta yang
dicoblos dengan sensor
4. Memprogram pendeteksian objek berupa kertas dengan sensor

1.3. Tujuan dan Fungsi Alat


Tujuan kami membuat alat ini adalah untuk:
1. Mendukung kesuksesan penyelenggaraan pemilu di Indonesia.
2. Meminimalisasi kecurangan pemilihan umum dalam hal manipulasi jumlah
suara.
3. Mempermudah pengawasan jumlah suara yang masuk agar sesuai dengan
jumlah realnya.
4. Untuk mempermudah dalam mengitung jumlah surat suara dan hasil
ekapitulasi suara
BAB II
LANDASAN TEORI

2.1. Arduino Uno


Uno Arduino adalah board berbasis mikrokontroler pada ATmega328. Board
ini memiliki 14 digital input / output pin (dimana 6 pin dapat digunakan sebagai
output PWM), 6 input analog, 16 MHz osilator kristal, koneksi USB, jack listrik
tombol reset. Pin-pin ini berisi semua yang diperlukan untuk mendukung
mikrokontroler, hanya terhubung ke komputer dengan kabel USB atau sumber
tegangan bisa didapat dari adaptor AC-DC atau baterai untuk menggunakannya.[5]
Board Arduino Uno memiliki fitur-fitur baru sebagai berikut : - 1,0 pinout: tambah
SDA dan SCL pin yang dekat ke pin aref dan dua pin baru lainnya ditempatkan dekat
ke pin RESET, dengan IO REF yang memungkinkan sebagai buffer untuk beradaptasi
dengan tegangan yang disediakan dari board sistem. Pengembangannya, sistem akan
lebih kompatibe dengan Prosesor yang menggunakan AVR, yang beroperasi dengan
5V dan dengan Arduin Karena yang beroperasi dengan 3.3V. Yang kedua adalah pin
tidak terhubung, yang disediaka untuk tujuan pengembangannya.

Gambar 2.1. Arduino Uno


2.1.1. Deskripsi Arduino Uno

Tabel 2.1. Deskripsi Arduino Uno

2.2. Mikrokontroler AVR


ATMega8535 adalah mikrokontroler CMOS 8 bit daya rendah berbasis
arsitektur RISC. Instruksi dikerjakan pada satu siklus clock, ATMega8535
mempunyai throughputmendekati 1 MIPS per MHz, hal ini membuat ATMega8535
dapat bekerja dengan kecepatan tinggi walaupun dengan penggunaan daya
rendah.Mikrokontroler ATmega8535 memiliki beberapa fitur atau spesifikasi yang
menjadikannya sebuah solusi pengendali yang efektif untuk berbagai keperluan.
Fitur-fitur tersebut antara lain:

1. Saluran I/O sebanyak 32 buah, yang terdiri atas Port A, B, C dan D


2. ADC (Analog to Digital Converter)
3. Tiga buah Timer/Counter dengan kemampuan perbandingan
4. CPU yang terdiri atas 32 register
5. Watchdog Timer dengan osilator internal
6. SRAM sebesar 512 byte
7. Memori Flash sebesar 8kb dengan kemampuan read while write
8. Unit Interupsi Internal dan External
9. Port antarmuka SPI untuk men-download program ke flash
10. EEPROM sebesar 512 byte yang dapat diprogram saat operasi
11. Antarmuka komparator analog
12. Port USART untuk komunikasi serial
Gambar 2.2.Mikrokontroler AVR ATmega 8535

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).

Gambar 2.2 LCD

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.

Gambar 2.3. Bentuk dan Simbol LED

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.

Gambar 2.4.simbol dan bentuk LDR


2.6. Modul UART MP3 Music Player Catalex YX5300
UART SERIAL MP3 MUSIC PLAYER CATALEX YX5300 MODULE
adalah module microSD MP3 player yang sangat simple dalam penggunaannya,
cukup dengan komunikasi via serial TTL ke Arduino atau minsys sejenis, anda dapat
mengontrol playback file musik (MP3 & WAV) didalam microSD.
Sangat cocok untuk penambahan fitur music player atau sound player (misal project
anda mau menambahkan suara orang, suara pembacaan angka, huruf, dsj).
Output module ini adalah jack audio 3,5mm, bisa dihubungkan ke earphone atau
audio in amplifier / speaker portable.

Gambar 2.6. Modul UART MP3 Musik PlayerCatalex YX5300


Fitur dan Spesifikasi ModuleUART MP3 Musik Player Catalex YX5300
Support sampling frequency
8kHz/11.025kHz/12kHz/16kHz/22.05kHz/24kHz/32kHz/44.1kHz/48k
Hz
Support file format: MP3 / WAV
Support Micro SD card, Micro SDHC Card
30 class adjustable volume
Visit Tokoduino dot com
UART TTL serial control playback mode, baud rate is 9600bps
Power supply can be 3.2 ~ 5.2VDC
Audio output via 3,5mm audio jack
2.7. Sensor Infrared
Cahaya infra merah merupakan cahaya yang tidak tampak. Jika dilihat dengan
spektroskop cahaya maka radiasi cahaya infra merah akan terlihat pada spectrum
elektromagnet dengan panjang gelombang di atas panjang gelombang cahaya merah.
Radiasi inframerah memiliki panjang gelombang antara 700 nm sampai 1 mm dan
berada pada spektrum berwarna merah. Dengan panjang gelombang ini maka
cahayainfra merah tidak akan terlihat oleh mata namun radiasi panas yang
ditimbulkannya masih dapat dirasakan/dideteksi.
Pada pembuatan komponen yang dikhususkan untuk penerima infra merah,
lubang untuk menerima cahaya (window) sudah dibuat khusus sehingga dapat
Universitas Sumatera Utara mengurangi interferensi dari cahaya non-infra
merah.Oleh sebab itu sensor infra merah yang baik biasanya memiliki jendela
(pelapis yang terbuat dari silikon) berwarna biru tua keungu-unguan.Sensor ini
biasanya digunakan untuk aplikasi infra merah yang digunakan diluar rumah
(outdoor).Sinar infra merah yang dipancarkan oleh pemancar infra merah tentunya
mempunyai aturan tertentu agar data yang dipancarkan dapat diterima dengan baik
pada penerima. Oleh karena itu baik di pengirim infra merah maupun penerima infra
merah harus mempunyai aturan yang sama dalam mentransmisikan (bagian
pengirim)dan menerima sinyal tersebut kemudian mendekodekannya kembali
menjadi data biner (bagian penerima). Komponen yang dapat menerima infra merah
ini merupakan komponen yang peka cahaya yang dapat berupa dioda (photodioda)
atau transistor (phototransistor). Komponen ini akan merubah energi cahaya, dalam
hal ini energy cahaya infra merah, menjadi pulsa-pulsa sinyal listrik.
2.8. Spaker
Speaker adalah transduser yang mengubah sinyal elektrik ke frekuensi audio
(suara) dengan cara menggetarkan komponennya yang berbentuk selaput. Salah satu
contoh speaker ditunjukkan dalam Gambar 2.7.

Gambar 2.7 Speaker


Dalam setiap sistem penghasil suara, penentuan kualitas suara terbaik
tergantung dari speaker. Rekaman yang terbaik, dikodekan ke dalam alat
penyimpanan yang berkualitas tinggi, dan dimainkan dengan deck dan pengeras suara
kelas atas, tetap saja hasilnya suaranya akan jelek bila dikaitkan dengan speaker yang
kualitasnya rendah. Sistem pada speaker adalah suatu komponen yang membawa
sinyal elektronik, di dalam media penyimpanan yang dalam hal ini adalah ISD 2560,
lalu mengembalikannya lagi ke dalam bentuk suara aktual yang dapat kita dengar
BAB III
PEMBAHASAN

3.1. Spesifikasi Alat


3.1.1. Spesifikasi alat penghitung jumlah surat suara yang dirancang sebagai berikut:
a. Mengunakan sebuah kotak tempat untuk menaruh kertas pemilihan
dengan ukuran sebagai berikut:
Dimensi : 40x45x60 cm
Bahan : Kayu
b. Sumber tegangan yang digunakan yaitu baterai DC 9 volt
c. Sensor yang digunakan untuk mendeteksi cahaya adalah sensor Infrared
d. Keluaran teks ditampilkan melalui LCD 16x2
e. Mikrokontroler yang digunakan adalah ATMega 8535

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

Gambar 3.1. Diagram Blok Kotak Surat Suara

Gambar 3.1. Diagram Blok Kotak Scan

3.3. Cara Kerja Alat


3.3.1. Kota Scanner Surat Suara (Box Scanner)
Alat ini menggunakan sensor cahaya yaitu LDR (Light Dependent Resistor)
untuk mendeteksi cahaya led yang mengenai sensor. Prinsip kerja ini adalah jika ada
cahaya yang menembus melalui lubang pada kertas pemilihan dan mengenai sensor,
sensor akan mendeteksi cahaya tersebut. Kemudian keluaran dari sensor yang berupa
perubahan resistansi akan diubah menjadi tegangan oleh rangkaian pengondisi sinyal
yaitu pembagi tegangan agar dapat diolah oleh Arduino Uno. Rangkaian ADC yang
terdapat pada Arduino Uno akan mengubah sinyal analog menjadi sinyal digital.
Kemudian hasil konversi dari rangkaian ADC akan diproses oleh rangkaian
mikrokontroler untuk ditampilkan ke display LCD serta speaker. Suara yang
dikeluarkan berasal dari Modul UART MP3 Musik Player. Jika sensor pertama yang
mendeteksi cahaya maka tampilan LCD pada Calon nomer satu akan bertambah serta
speaker akan mengeluarkan suara yaitu Satu. Jika sensor kedua yang mendeteksi
keberadaan cahaya maka tampilan LCD pada Calon nomer dua akan bertambah serta
speaker akan mengeluarkan suara yaitu Dua. Jika sensor ketiga yang mendeteksi
keberadaan cahaya maka tampilan LCD pada Calon nomer tiga akan bertambah serta
speaker akan mengeluarkan suara yaitu Tiga. Jika ada lebih dari saru sensor yang
mendeteksi keberadaan cahaya maka speaker akan mengeluarkan suara yaitu
Golongan Putih.

3.3.2. Kota Surat Suara (Penghitung Jumlah surat suara)


Alat ini menggunakan sensor infrared untuk mendeteksi adanya surat suara
yang melewati lubang kotak suara. Prinsip kerja alat ini adalah jika ada surat suara
yang melalui lubang pada kotak suara maka sensor infrared akan mendeteksi surat
suara tersebut. Kemudian keluaran dari sensor yang sudah berupa logika 1/0 akan
diolah oleh mikrokontroler ATMega8535. Kemudian hasil pembacaan sensor yang
diolah oleh mikrokontroler ATMega8535 akan ditampilkan ke dalam LCD berupa
penambahan jumlah surat suara.
3.4. Analisa Rangkaian
3.4.1. Flowchart

Gambar 3.1.a. Flowchart Kotak suara


Gambar 3.1.a Flowchart Kotak Scan
3.4.2. Listing Program
Alat Scanner

#include <LiquidCrystal_I2C.h>
#include <Wire.h>

#include <SoftwareSerial.h>

#define ARDUINO_RX 5//should connect to TX of the Serial MP3 Player module


#define ARDUINO_TX 6//connect to RX of the module

SoftwareSerial mySerial(ARDUINO_RX, ARDUINO_TX);

static int8_t Send_buf[8] = {0} ;

#define CMD_PLAY_W_INDEX 0X03


#define CMD_SET_VOLUME 0X06
#define CMD_SEL_DEV 0X09
#define DEV_TF 0X02
#define CMD_PLAY 0X0D
#define CMD_PAUSE 0X0E
#define CMD_SINGLE_CYCLE 0X19
#define SINGLE_CYCLE_ON 0X00
#define SINGLE_CYCLE_OFF 0X01
#define CMD_PLAY_W_VOL 0X22
#define CMD_PLAY_FOLDER_FILE 0x0F

const int LDR1=A0; //Variabel LDR di pin A0


const int LDR2=A1; //Variabel LDR di pin A1
const int LDR3=A2; //Variabel LDR di pin A2
int nilaiLDR1=0; //nilai awal LDR1 0
int nilaiLDR2=0; //nilai awal LDR2 0
int nilaiLDR3=0; //nilai awal LDR3 0

const int pinButton = 2; //variabel push button scan di pin 2


const int btnreset = 4; //variabel push button reset di pin 4
const int pinLED = 8; //variabel led di pin 8

int tidaksah,paslon1,paslon2,paslon3,jumlahsuara; //inisialisasi Variabel


LiquidCrystal_I2C lcd(0x3F,20,4); //Alamat LCD 20x4 yang digunakan

void setup() {
mySerial.begin(9600);
delay(500); //Wait chip initialization is complete
sendCommand(CMD_SEL_DEV, DEV_TF); //memilih kartu TF

pinMode(LDR1,INPUT); //LDR1 sebagi input


pinMode(LDR2,INPUT); //LDR2 sebagi input
pinMode(LDR3,INPUT); //LDR3 sebagi input
pinMode(pinButton,INPUT); //tombol scan sebagi input
pinMode(btnreset,INPUT); //tombol reset sebagi input
pinMode(pinLED, OUTPUT); //LED sebagi output
// aktifkan pull-up resistor
tidaksah = 0; //inisialisasi nilai variabel tidaksah = 0
paslon1 = 0; //inisialisasi nilai variabel paslon1 = 0
paslon2 = 0; //inisialisasi nilai variabel paslon2 = 0
paslon3 = 0; //inisialisasi nilai variabel paslon3 = 0
jumlahsuara = 0; //inisialisasi nilai variabel jumlah suara = 0
lcd.init(); // initialize the lcd
lcd.init(); // Print a message to the LCD.
lcd.backlight(); //aktifkan back light LCD
Serial.begin(9600);

lcd.begin(20,4); //menggunakan LCD 20x4

lcd.setCursor(0,0); //set pada pixel baris 0 kolom 0


lcd.print("P1="); //menampilkan P1 pada LCD
lcd.setCursor(0,1); //set pada pixel baris 1 kolom 0
lcd.print("P2="); //menampilkan P2 pada LCD
lcd.setCursor(0,2); //set pada pixel baris 2 kolom 0
lcd.print("P3="); //menampilkan P3 pada LCD
lcd.setCursor(10,0); //set pada pixel baris 0 kolom 10
lcd.print("TS="); //menampilkan TS pada LCD
lcd.setCursor(10,1); //set pada pixel baris 1 kolom 10
lcd.print("JS="); //menampilkan JS pada LCD

lcd.setCursor(3,0); //set pada pixel baris 3 kolom 0


lcd.print(paslon1); //menampilkan nilai paslon1 pada LCD
lcd.setCursor(3,1); //set pada pixel baris 1 kolom 3
lcd.print(paslon2); //menampilkan nilai paslon2 pada LCD
lcd.setCursor(3,2); //set pada pixel baris 2 kolom 3
lcd.print(paslon3); //menampilkan nilai paslon3 pada LCD
lcd.setCursor(13,0); //set pada pixel baris 0 kolom 13
lcd.print(tidaksah); //menampilkan nilai tidaksah pada LCD
lcd.setCursor(13,1); //set pada pixel baris 1 kolom 13
lcd.print(jumlahsuara); //menampilkan nilai jumlah suara pada LCD

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

lcd.setCursor(3,0); //set pada pixel baris 0 kolom 3


lcd.print(paslon1); //menampilkan nilai jumlah suara pada LCD

lcd.setCursor(3,1); //set pada pixel baris 1 kolom 3


lcd.print(paslon2); //menampilkan nilai jumlah suara pada LCD

lcd.setCursor(3,2); //set pada pixel baris 2 kolom 3


lcd.print(paslon3); //menampilkan nilai jumlah suara pada LCD

lcd.setCursor(13,0); //set pada pixel baris 0 kolom 13


lcd.print(tidaksah); //menampilkan nilai jumlah suara pada LCD

lcd.setCursor(13,1); //set pada pixel baris 1 kolom 13


lcd.print(jumlahsuara); //menampilkan nilai jumlah suara pada LCD
}
nilaiLDR1= analogRead(LDR1); //membaca nilai LDR1
nilaiLDR2= analogRead(LDR2); //membaca nilai LDR2
nilaiLDR3= analogRead(LDR3); //membaca nilai LDR1

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
}

Alat Penghitung banyak surat suara

#include <mega8535.h>
#include <delay.h>
#include <alcd.h>
#include <stdio.h>
#define tom PINC.0

unsigned char buff[33];

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++;}
}
}

3.4.3. Port yang digunakan pada Arduino Uno

Dalam membuat rangkaian arduino memerlukan pemahaman mengenai sistem


minimum dari arduino uno yang akan dirancang itu diusahakan menggunakan
rangkaian yang seringkas mungkin dan dengan pengkabelan yang baik, karena
biasanya rangkaian tersebut bekerja pada frekuensi relative tinggi, sehingga peka
terhadap noise dari luar.Berikut ini akan diberikan konfigurasi dari I/O arduino uno
tiap pin yangada pada masing-masing port yang terdapat pada arduino yang ada
padaalat ini:

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

PORT GITAL PWM


- PORT.0 free
- PORT.1 free
- PORT.2 Terhubung ke Push Botton Scan
- PORT.3 free
- PORT.4 Terhubung ke Push Botton Reset
- PORT.5 Terhubung ke TX UART
- PORT.6 Terhubung ke RX UART
- PORT.7 free
- PORT.8 Terhubung ke LED
- PORT.9 free
- PORT.10 free
- PORT.11 free
- PORT.12 free
- PORT.13 free
- PORT.GND free
- PORT.AREF free
- PORT.SDA Terhubung ke Port SDA I2C
- PORT.SCL Terhubung ke Port SCL I2C

3.4.4. Port yang digunakan pada Mikrokontroler AVR ATmega8535


3.4.5 Rangkaian alat kotak scan
BAB. 4PENUTUP

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.

4. 1.2. Kotak Suara


1. Jarak infrared dengan lubang menaruh kertas suara dapat mempengaruhi
dalam pendeteksian kertas suara.
DAFTAR PUSTAKA

[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.

Anda mungkin juga menyukai