Ikreiz, kad dodamies balsot par vēlēšanām, mēs redzam elektroniskās balsošanas iekārtas. Šajā projektā mēs izstrādāsim un izstrādāsim vienkāršu balsošanas mašīnu, izmantojot mikrokontrolleru ATmega32A. Lai gan mēs varam izmantot kontrolieri, lai iegūtu vairāk nekā 32 cilvēku balsošanas mašīnu, lai viss būtu vienkāršs, mēs izveidosim balsošanas sistēmu četru cilvēku lielumam. Mums būs četras pogas četrām personām un ikreiz, kad tiek nospiesta poga, balss notiek par atbilstošo personu, un balsu skaits, ko katra persona var parādīt LCD.
Nepieciešamās sastāvdaļas
Aparatūra:
ATMEGA32
Barošanas avots (5v)
AVR-ISP PROGRAMMĒTĀJS
JHD_162ALCD (16x2 LCD)
100nF kondensators (pieci gabali), 100uF kondensators (savienots pāri barošanas avotam)
poga (pieci gabali), 10KΩ rezistors (pieci gabali).
Programmatūra:
Atmel studija 6.1
progisp vai zibspuldzes maģija.
Shēmas shēma un darba skaidrojums
Kā parādīts iepriekš minētajā elektroniskās balsošanas iekārtas ķēdē, ATMEGA32 mikrokontrollera PORTA ir savienots ar 16x2 LCD datu portu. Šeit jāatceras atspējot JTAG sakarus ATMEGA PORTC, mainot drošinātāju baitus, ja vēlaties PORTC izmantot kā parastu sakaru portu. 16x2 LCD ekrānā ir 16 tapas, ja ir aizmugures apgaismojums, ja nav aizmugures apgaismojuma, būs 14 tapas. Var darbināt vai atstāt aizmugurējās gaismas tapas. Tagad 14 tapas ir 8 datu tapas (7-14 vai D0-D7), 2 el piegādes tapas (1 un 2 vai VSS un VDD vai GND & + 5v), 3 rd pin kontrasta kontrole (Vee-kontrolē, cik biezu rakstzīmēm jābūt attēlā), 3 vadības tapas (RS & RW & E).
Ķēdē jūs varat novērot, ka esmu paņēmis tikai divus vadības tapas, jo tas ļauj labāk izprast. Kontrasta bits un READ / WRITE netiek bieži lietoti, tāpēc tos var saīsināt. Tas nodrošina LCD kontrasta un lasīšanas režīmu. Mums vienkārši jākontrolē ENABLE un RS tapas, lai atbilstoši nosūtītu rakstzīmes un datus.
LCD savienojumi ir izveidoti zemāk:
PIN1 vai VSS - zeme
PIN2 vai VDD vai VCC - + 5v jauda
PIN3 vai VEE - zeme (nodrošina maksimālu kontrastu iesācējam)
PIN4 vai RS (Register Selection) - uC PD6
PIN5 vai RW (lasīšana / rakstīšana) - zeme (LCD displejs tiek iestatīts lasīšanas režīmā, kas atvieglo saziņu lietotājam)
PIN6 vai E (iespējot) - uC PD5
PIN7 vai D0 - PA0 no uC
PIN8 vai D1 - uC PA1
PIN9 vai D2 - uC PA2
PIN10 vai D3 - uC PA3
PIN11 vai D4 - uC PA4
PIN12 vai D5 - uC PA5
PIN13 vai D6 - uC PA6
PIN14 vai D7 - uC PA7
Shēmā jūs varat redzēt, ka esam izmantojuši 8 bitu sakarus (D0-D7), taču tas nav obligāti. Mēs varam izmantot 4 bitu komunikāciju (D4-D7), bet ar 4 bitu komunikācijas programma kļūst mazliet sarežģīta, tāpēc es vienkārši devos ar 8 bitu komunikāciju.
Tātad, tikai novērojot iepriekšminēto tabulu, mēs savienojam 10 LCD tapas ar kontrolieri, kurā 8 tapas ir datu tapas un 2 tapas kontrolei. Šeit ir piecas pogas, četras - kandidātu balsu palielināšanai, bet piektā - kandidāta balsu atiestatīšanai uz nulli.
Šeit esošie kondensatori ir paredzēti pogu atlēcošās iedarbības atcelšanai. Ja tie tiek noņemti, kontrolieris katru reizi, nospiežot pogu, var saskaitīt vairāk nekā vienu. Piespraudes savienotie rezistori ir paredzēti strāvas ierobežošanai, kad tiek nospiesta poga, lai tapu nolaistu zemē.
Ikreiz, kad tiek nospiesta poga, attiecīgais kontrollera kontakts tiek novilkts uz zemes un tādējādi kontrolieris atpazīst, ka ir nospiesta noteikta poga un jāveic atbilstoša darbība, tas var palielināt kandidātu balsis vai balsu atiestatīšanu atkarībā no nospiežamās pogas.
Kad tiek nospiesta attiecīgās personas poga, kontrolieris to izvēlas un palielina attiecīgās personas numuru atmiņā pēc tam, kad tā palielina 16x2 LCD displejā.
Šīs mikrokontrolleru bāzes elektroniskās balsošanas mašīnas darbība ir izskaidrota soli pa solim ar zemāk redzamo C kodu,