Kadarkoli gremo voliti volitve, si ogledamo elektronske glasovalne stroje. V tem projektu bomo zasnovali in razvili preprost glasovalni stroj z uporabo mikrokrmilnika ATmega32A. Čeprav lahko uporabimo krmilnik, da dobimo več kot 32 glasovalnih avtomatov, bomo za poenostavitev izdelali sistem glasovanja za velikost štirih ljudi. Imeli bomo štiri gumbe za štiri osebe in vsakič, ko pritisnete gumb, glas pripada ustrezni osebi in število glasov vsake osebe se prikaže na LCD-prikazovalniku.
Potrebne komponente
Strojna oprema:
ATMEGA32
Napajanje (5v)
PROGRAMER AVR-ISP
JHD_162ALCD (16x2 LCD)
100nF kondenzator (pet kosov), 100uF kondenzator (priključen na napajalnik)
gumb (pet kosov), 10KΩ upor (pet kosov).
Programska oprema:
Atmel studio 6.1
progisp ali flash magija.
Shema vezja in delovna razlaga
Kot je prikazano v zgornjem vezju elektronskega glasovalnega stroja, je PORTA mikrokrmilnika ATMEGA32 priključena na podatkovna vrata 16x2 LCD. Tukaj ne pozabite onemogočiti komunikacije JTAG v PORTC-ju ATMEGA s spreminjanjem bajtov varovalk, če želite uporabljati PORTC kot običajna komunikacijska vrata. V 16x2 LCD-ju je 16 zatičev, če obstaja osvetlitev ozadja, če ni osvetlitve ozadja, bo 14 zatičev. Lahko napajate ali pustite zatiče zadnje luči. Sedaj v 14 zatiči obstaja 8 podatkovnih zatiči (7-14 ali D0-D7), 2 Mrežni zatiči (1 & 2 ali VSS in VDD ali gnd in +5), 3 rd pin za nadzor kontrasta (vee-kontrole kako debela mora biti znake prikazano), 3 krmilne nožice (RS & RW & E).
V vezju lahko opazite, da sem vzel le dva krmilna zatiča, saj to daje prožnost za boljše razumevanje. Kontrastni bit in READ / WRITE se ne uporabljata pogosto, zato jih je mogoče kratko skleniti na tla. To LCD zaslon postavi v najvišji kontrast in način branja. Samo nadzorovati moramo ENABLE in RS pin, da ustrezno pošljemo znake in podatke.
Povezave za LCD so podane spodaj:
PIN1 ali VSS - ozemljitev
PIN2 ali VDD ali VCC - + 5v moči
PIN3 ali VEE - ozemljitev (daje največji kontrast najboljši za začetnike)
PIN4 ali RS (izbira registra) - PD6 uC
PIN5 ali RW (branje / pisanje) - ozemljitev (LCD v načinu branja olajša komunikacijo za uporabnika)
PIN6 ali E (Omogoči) - PD5 uC
PIN7 ali D0 - PA0 uC
PIN8 ali D1 - PA1 uC
PIN9 ali D2 - PA2 uC
PIN10 ali D3 - PA3 uC
PIN11 ali D4 - PA4 uC
PIN12 ali D5 - PA5 uC
PIN13 ali D6 - PA6 od uC
PIN14 ali D7 - PA7 uC
V vezju lahko vidite, da smo uporabili 8-bitno komunikacijo (D0-D7), vendar to ni obvezno. Lahko uporabimo 4-bitno komunikacijo (D4-D7), vendar s 4-bitnim komunikacijskim programom postane nekoliko zapleten, zato sem pravkar uporabil 8-bitno komunikacijo.
Torej iz zgolj opazovanja zgornje tabele povežemo 10 zatičev LCD na krmilnik, v katerem so 8 zatiči podatkovni zatiči in 2 zatiči za nadzor. Tu je prisotnih pet gumbov, štirje za povečanje glasov kandidatov in peti za ponastavitev glasov kandidatov na nič.
Tukaj prisotni kondenzatorji izničijo odskočni učinek gumbov. Če jih odstranite, lahko krmilnik vsakič, ko pritisnete gumb, šteje več kot eno. Upori, priključeni na nožice, so namenjeni omejevanju toka, ko pritisnete gumb, da zatič potegnete navzdol na tla.
Vsakič, ko pritisnete gumb, se ustrezni zatič krmilnika potegne navzdol in tako krmilnik prepozna, da je pritisnjen določen gumb in je treba izvesti ustrezno dejanje, lahko poveča glasove kandidatov ali ponastavi glasove, odvisno od pritisnjenega gumba.
Ko pritisnete gumb, ki predstavlja ustrezno osebo, jo krmilnik izbere in v njenem pomnilniku poveča številko ustrezne osebe, potem ko na zaslonu LCD prikaže rezultat ustreznih oseb.
Delovanje tega elektronskega glasovalnega stroja na osnovi mikrokrmilnika je razloženo v korakih po korakih spodaj,