Kapan pun kita pergi untuk memilih pemilihan, kita datang untuk melihat mesin pemilihan elektronik. Dalam proyek ini kita akan merancang dan mengembangkan mesin voting sederhana dengan menggunakan mikrokontroler ATmega32A. Meskipun kita dapat menggunakan pengontrol untuk mendapatkan lebih dari 32 orang mesin pemungutan suara, untuk membuat semuanya sederhana kita akan membuat sistem pemungutan suara untuk ukuran empat orang. Kita akan memiliki empat tombol untuk empat orang dan setiap kali tombol ditekan, a suara berlaku untuk orang yang bersangkutan dan jumlah suara setiap orang akan ditampilkan di LCD.
Komponen Diperlukan
Perangkat keras:
ATMEGA32
Catu daya (5v)
AVR-ISP PROGRAMMER
JHD_162ALCD (LCD 16x2)
Kapasitor 100nF (lima buah), kapasitor 100uF (terhubung melintasi catu daya)
tombol (lima buah), Resistor 10KΩ (lima buah).
Perangkat lunak:
Atmel studio 6.1.2
progisp atau flash magic.
Diagram Sirkuit dan Penjelasan Kerja
Seperti terlihat pada rangkaian mesin pemungutan suara elektronik di atas , PORTA mikrokontroler ATMEGA32 terhubung ke port data LCD 16x2. Di sini orang harus ingat untuk menonaktifkan komunikasi JTAG di PORTC ATMEGA dengan mengubah byte sekering, jika seseorang ingin menggunakan PORTC sebagai port komunikasi normal. Pada LCD 16x2 terdapat 16 pin seluruhnya jika ada lampu belakang, jika tidak ada lampu belakang akan ada 14 pin. Satu dapat memberi daya atau meninggalkan pin lampu belakang. Sekarang di 14 pin ada 8 data pin (7-14 atau D0-D7), 2 pin power supply (1 & 2 atau VSS & Vdd atau gnd & + 5V), 3 rd pin untuk kontrol kontras (VEE-kontrol seberapa tebal karakter harus ditampilkan), 3 pin kontrol (RS & RW & E).
Di sirkuit, Anda dapat mengamati bahwa saya hanya mengambil dua pin kontrol karena ini memberikan fleksibilitas pemahaman yang lebih baik. Bit kontras dan BACA / TULIS tidak sering digunakan sehingga dapat disingkat menjadi ground. Ini menempatkan LCD dalam kontras tertinggi dan mode baca. Kita hanya perlu mengontrol pin ENABLE dan RS untuk mengirim karakter dan data yang sesuai.
Koneksi yang dilakukan untuk LCD diberikan di bawah ini:
PIN1 atau VSS - ground
PIN2 atau VDD atau VCC - daya + 5v
PIN3 atau VEE - ground (memberikan kontras maksimum yang terbaik untuk pemula)
PIN4 atau RS (Pilihan Register) - PD6 dari UC
PIN5 atau RW (Baca / Tulis) - ground (menempatkan LCD dalam mode baca memudahkan komunikasi untuk pengguna)
PIN6 atau E (Aktif) - PD5 dari UC
PIN7 atau D0 - PA0 dari UC
PIN8 atau D1 - PA1 dari UC
PIN9 atau D2 - PA2 dari UC
PIN10 atau D3 - PA3 dari UC
PIN11 atau D4 - PA4 dari UC
PIN12 atau D5 - PA5 dari UC
PIN13 atau D6 - PA6 dari UC
PIN14 atau D7-- PA7 dari UC
Di sirkuit Anda dapat melihat kami telah menggunakan komunikasi 8bit (D0-D7) namun ini tidak wajib. Kita bisa menggunakan komunikasi 4bit (D4-D7) tetapi dengan program komunikasi 4 bit menjadi agak rumit jadi saya hanya menggunakan komunikasi 8 bit.
Jadi dari pengamatan tabel di atas kita menghubungkan 10 pin LCD ke controller dimana 8 pin adalah pin data dan 2 pin untuk kontrol. Ada lima tombol di sini, empat untuk menaikkan suara calon dan kelima untuk mengatur ulang suara calon ke nol.
Kapasitor yang ada di sini adalah untuk meniadakan efek pantulan tombol. Jika mereka dilepaskan, pengontrol mungkin menghitung lebih dari satu setiap kali tombol ditekan. Resistor yang dihubungkan ke pin digunakan untuk membatasi arus, ketika tombol ditekan untuk menarik pin ke tanah.
Setiap kali tombol ditekan, pin pengontrol yang sesuai ditarik ke bawah dan dengan demikian pengontrol mengenali bahwa tombol tertentu ditekan dan tindakan terkait yang harus diambil, itu mungkin menambah suara kandidat atau mengatur ulang suara tergantung pada tombol yang ditekan.
Ketika tombol yang mewakili orang yang sesuai ditekan, pengontrol mengambilnya dan menambah nomor orang yang sesuai di dalam memorinya setelah kenaikan itu menunjukkan skor orang yang sesuai pada layar LCD 16x2.
Cara kerja mesin pemungutan suara elektronik berbasis mikrokontroler ini dijelaskan langkah demi langkah kode C di bawah ini,