Kedykoľvek ideme voliť, prídeme sa pozrieť na elektronické volebné prístroje. V tomto projekte navrhneme a vyvinieme jednoduchý hlasovací stroj pomocou mikrokontroléra ATmega32A. Aj keď môžeme ovládač použiť na získanie hlasovacieho zariadenia pre viac ako 32 ľudí, pre zjednodušenie urobíme všetko pre to, aby sme vytvorili hlasovací systém pre veľkosť štyroch ľudí. Budeme mať štyri tlačidlá pre štyri osoby a vždy, keď stlačíte tlačidlo, hlasuje pre zodpovedajúcu osobu a počet hlasov, ktoré každá osoba získa, sa zobrazuje na LCD displeji.
Súčasti sú povinné
Hardvér:
ATMEGA32
Napájanie (5v)
PROGRAMÁTOR AVR-ISP
JHD_162ALCD (16x2 LCD)
100nF kondenzátor (päť kusov), 100uF kondenzátor (pripojený cez napájací zdroj)
gombík (päť kusov), 10KΩ rezistor (päť kusov).
Softvér:
Štúdio Atmel 6.1
progisp alebo flash mágia.
Schéma zapojenia a pracovné vysvetlenie
Ako je zrejmé z vyššie uvedeného obvodu elektronického hlasovacieho zariadenia, PORTA mikrokontroléra ATMEGA32 je pripojená k dátovému portu 16x2 LCD. Tu by ste si mali pamätať, že chcete deaktivovať komunikáciu JTAG v PORTC ATMEGA zmenou bajtov poistky, ak chcete použiť PORTC ako normálny komunikačný port. Na 16x2 LCD displeji je 16 pinov, ak je podsvietenie, ak nie je podsvietenie, bude 14 pinov. Jeden môže napájať alebo nechať kolíky podsvietenia. Teraz v 14 kolíkoch je 8 dátových kolíkov (7-14 alebo D0-D7), 2 kolíky napájacieho zdroja (1 a 2 alebo VSS & VDD alebo gnd & + 5v), 3. kolík na kontrolu kontrastu (VEE - určuje, aké silné by mali byť znaky) zobrazené), 3 ovládacie kolíky (RS & RW & E).
V obvode môžete pozorovať, že som vzal iba dva ovládacie piny, pretože to dáva flexibilitu na lepšie pochopenie. Kontrastný bit a READ / WRITE sa často nepoužívajú, aby ich bolo možné skratovať na zem. Toto nastavuje LCD do najvyššieho kontrastu a režimu čítania. Potrebujeme iba ovládať piny ENABLE a RS, aby sme mohli zodpovedajúcim spôsobom odosielať znaky a údaje.
Pripojenia, ktoré sa vykonávajú pre LCD, sú uvedené nižšie:
PIN1 alebo VSS - zem
PIN2 alebo VDD alebo VCC - napájanie + 5 V.
PIN3 alebo VEE - zem (poskytuje maximálny kontrast najlepšie pre začiatočníkov)
PIN4 alebo RS (výber registra) - PD6 uC
PIN5 alebo RW (čítanie / zápis) - zem (prepnutie LCD do režimu čítania uľahčuje komunikáciu pre používateľa)
PIN6 alebo E (povoliť) - PD5 uC
PIN7 alebo D0 - PA0 uC
PIN8 alebo D1 - PA1 uC
PIN9 alebo D2 - PA2 uC
PIN10 alebo D3 - PA3 uC
PIN11 alebo D4 - PA4 uC
PIN12 alebo D5 - PA5 uC
PIN13 alebo D6 - PA6 uC
PIN14 alebo D7 - PA7 uC
V obvode, ktorý vidíte, sme použili 8-bitovú komunikáciu (D0-D7), nie je to však povinné. Môžeme použiť 4bitovú komunikáciu (D4-D7), ale so 4-bitovým komunikačným programom sa stáva trochu zložitým, takže som išiel s 8-bitovou komunikáciou.
Takže iba z pozorovania vyššie uvedenej tabuľky pripájame 10 pinov LCD k ovládaču, v ktorom 8 pinov sú dátové piny a 2 piny pre riadenie. Nachádza sa tu päť tlačidiel, štyri na zvýšenie hlasov kandidátov a piate na resetovanie hlasov kandidátov na nulu.
Kondenzátory, ktoré sú tu prítomné, slúžia na potlačenie efektu odskakovania tlačidiel. Ak sú odstránené, ovládač môže počítať viac ako jedno pri každom stlačení tlačidla. Rezistory pripojené k pinom slúžia na obmedzenie prúdu, keď je stlačené tlačidlo na stiahnutie kolíka k zemi.
Kedykoľvek je stlačené tlačidlo, zodpovedajúci kolík ovládača sa stiahne na zem, a tak ovládač rozpozná, že je stlačené určité tlačidlo a je potrebné vykonať príslušnú akciu, môže to byť zvyšovanie počtu kandidátov na hlasovanie alebo vynulovanie hlasov v závislosti od stlačeného tlačidla.
Keď je stlačené tlačidlo predstavujúce zodpovedajúcu osobu, ovládač ju vyberie a zvýši číslo zodpovedajúcej osoby vo svojej pamäti. Po prírastku zobrazí skóre zodpovedajúcich osôb na LCD displeji 16x2.
Fungovanie tohto mikroprocesora založený elektronické hlasovacie zariadenie je vysvetlený krok za krokom kódu C dole,