Kdykoli jdeme hlasovat pro volby, přijdeme se podívat na elektronické hlasovací automaty. V tomto projektu se chystáme navrhnout a vyvinout jednoduchý hlasovací stroj pomocí mikrokontroléru ATmega32A. I když můžeme ovladač použít k získání hlasovacího zařízení pro více než 32 lidí, pro zjednodušení všeho uděláme hlasovací systém pro velikost čtyř lidí. Budeme mít čtyři tlačítka pro čtyři lidi a kdykoli stisknete tlačítko, hlas jde pro odpovídající osobu a počet hlasů, které každá osoba dostane, se zobrazí na LCD.
Požadované komponenty
Hardware:
ATMEGA32
Napájení (5 V)
PROGRAMÁTOR AVR-ISP
JHD_162ALCD (16x2 LCD)
100nF kondenzátor (pět kusů), 100uF kondenzátor (připojený přes napájecí zdroj)
knoflík (pět kusů), 10KΩ rezistor (pět kusů).
Software:
Atmel studio 6.1
progisp nebo flash magie.
Schéma zapojení a pracovní vysvětlení
Jak ukazuje výše uvedený obvod elektronického hlasovacího zařízení, PORTA mikrokontroléru ATMEGA32 je připojena k datovému portu 16x2 LCD. Zde je třeba pamatovat na zakázání komunikace JTAG v PORTC ATMEGA změnou bajtů pojistek, pokud chcete použít PORTC jako normální komunikační port. Na 16x2 LCD je 16 kolíků, pokud existuje podsvícení, pokud není podsvícení, bude 14 kolíků. Jeden může napájet nebo nechat kolíky podsvícení. Nyní ve 14 kolíky jsou 8 datových kolíky (7-14 nebo D0-D7), 2 napájecí kolíky elektrárny (1 & 2 nebo VSS a VDD nebo GND a + 5 V), 3 rd kolík pro řízení kontrastu (VEE-určuje, jak silná znaky musí být na obrázku), 3 ovládací kolíky (RS & RW & E).
V obvodu můžete pozorovat, že jsem vzal pouze dva kontrolní piny, protože to dává flexibilitu lepšího porozumění. Kontrastní bit a READ / WRITE se často nepoužívají, aby mohly být zkratovány na zem. LCD se tak dostane do režimu nejvyššího kontrastu a čtení. Abychom mohli odpovídajícím způsobem odesílat znaky a data, musíme pouze ovládat piny ENABLE a RS.
Připojení, která se provádí pro LCD, jsou uvedena níže:
PIN1 nebo VSS - zem
PIN2 nebo VDD nebo VCC - napájení + 5 V.
PIN3 nebo VEE - země (poskytuje maximální kontrast nejlepší pro začátečníky)
PIN4 nebo RS (výběr registru) - PD6 uC
PIN5 nebo RW (čtení / zápis) - uzemnění (přepne LCD do režimu čtení, což uživateli usnadní komunikaci)
PIN6 nebo E (povolit) - PD5 uC
PIN7 nebo D0 - PA0 uC
PIN8 nebo D1 - PA1 uC
PIN9 nebo D2 - PA2 uC
PIN10 nebo D3 - PA3 uC
PIN11 nebo D4 - PA4 uC
PIN12 nebo D5 - PA5 uC
PIN13 nebo D6 - PA6 uC
PIN14 nebo D7 - PA7 uC
V obvodu, který vidíte, jsme použili 8bitovou komunikaci (D0-D7), není to však povinné. Můžeme použít 4bitovou komunikaci (D4-D7), ale se 4bitovým komunikačním programem se stává trochu složitější, takže jsem právě šel s 8bitovou komunikací.
Takže z pouhého pozorování výše uvedené tabulky připojujeme 10 pinů LCD k řadiči, ve kterém 8 pinů jsou datové piny a 2 piny pro ovládání. Je zde pět tlačítek, čtyři pro zvyšování hlasů kandidátů a pátá pro resetování hlasů kandidáta na nulu.
Kondenzátory, které jsou zde k dispozici, slouží ke zrušení odrazového efektu tlačítek. Pokud jsou odstraněny, řadič může počítat více než jeden při každém stisknutí tlačítka. Rezistory připojené pro kolíky slouží k omezení proudu, když je stisknuto tlačítko, aby se kolík stáhl na zem.
Kdykoli je stisknuto tlačítko, odpovídající kolík ovladače se stáhne dolů na zem, a tak ovladač rozpozná, že je stisknuto určité tlačítko a je třeba provést odpovídající akci, může se jednat o zvyšování kandidátských hlasů nebo resetování hlasů v závislosti na stisknutém tlačítku.
Když je stisknuto tlačítko představující odpovídající osobu, ovladač ji vybere a zvýší číslo odpovídající osoby do své paměti po zvýšení zobrazí odpovídající skóre osob na LCD displeji 16x2.
Fungování tohoto mikroprocesoru založený elektronické hlasovací zařízení je vysvětlen krok za krokem kódu C dole,