- Potrebne komponente:
- Kako radi:
- Objašnjenje sklopa:
- Kako pokrenuti kôd u Raspberry Pi:
- Objašnjenje programiranja:
Raspberry Pi je popularna razvojna ploča temeljena na ARM korteksu dizajnirana za elektroničke inženjere i hobiste. To je računalo s jednom pločom koje radi na malo napajanja, s vrlo dobrom brzinom obrade i memorijom. Raspberry Pi može se istovremeno koristiti za obavljanje različitih funkcija, poput uobičajenog računala, pa se stoga na vašem dlanu naziva Mini računalo.
Stvorili smo niz tutorijala za Raspberry Pi u kojima smo za početak pokrili Sučeljavanje Raspberry Pi-a sa svim osnovnim komponentama, kao i neke jednostavne projekte Raspberry Pi.
Ovdje ćemo izgraditi elektronički glasovni uređaj pomoću Raspberry Pi ploče. Svi smo svjesni elektroničkog glasačkog stroja (EVM) koji se koristi za glasanje na izborima pritiskom na jednostavan gumb. Već smo pokrili elektronički glasovni uređaj koristeći različite mikrokontrolere poput EVM-a s AVR mikrokontrolerom i EVM-a s Arduinom. Također smo izgradili Voting Machine u kojem je glasač ovjeren RFID oznakom, tako da se mogu brojati samo ovjereni glasovi.
Ovaj elektronički glasovni uređaj koji koristi Raspberry Pi jednostavniji je i lakši u usporedbi s našim prethodnim projektima glasovnog uređaja.
Potrebne komponente:
- Raspberry Pi - 1
- LCD 16x2 - 1
- Pritisni gumb - 5
- Daska za kruh - 1
- Spajanje žica
- 1K otpornik - 1
- 10K otpornik - 5
- LONČAK 10K - 1
- LED diode - 5
Kako radi:
U ovom smo projektu koristili četiri gumba za glasanje za četiri kandidata ili stranke. Možemo povećati broj kandidata, ali za bolje razumijevanje ovdje smo koristili samo četiri. Kad birač pritisne bilo koji od četiri gumba, tada se 'broj glasova' za uvaženu stranku ili kandidata svaki put povećava za jedan. Istodobno LED trepće i zujalica se oglašava na sekundu, pokazujući da je glasovanje dato. Nakon završetka glasanja, imamo gumb „Rezultat“, da prikažemo rezultate glasovanja. Kada pritisnemo ovu tipku, LCD zaslon prikazuje ime pobjedničke stranke s br. glasova danih svakoj stranci.

Objašnjenje sklopa:
Kružni dijagram ovog EVM-a koji koristi Raspberry Pi dat je u nastavku. Raspberry Pi kontrolira cijeli postupak poput čitanja gumba, povećavanja broja glasova, generiranja rezultata i prikazivanja svih stvari na LCD-u.

Ovdje smo koristili ploču Raspberry Pi 3 za obavljanje svih operacija u projektu, a knjižnicu wiringPi koristili smo za odabir i kontrolu GPIO pinova Raspberry Pi. Ovdje također možemo koristiti Raspberry Pi 2. Ovdje smo koristili Pet gumba, u kojima su četiri korištena za glasanje za četiri različita kandidata / stranke, a jedan gumb služi za prikaz rezultata na LCD-u. Ovih pet gumba izravno je povezano s GPIO pinovima 21 do 25 RPI3, s obzirom na masu s 10K povlačnim otpornikom za svaki. LCD dimenzija 16x2 povezan je s Raspberry Pi. Upravljački pin RS, RW i En povezani su na GPIO pin 11, GND i 10. A podatkovni pin D4-D7 povezan je s GPIO pinovima 6, 5, 4 i 1 RPI. zujalicase koristi i za zvučni signal kada birač pritisne bilo koju tipku. Ovdje smo upotrijebili zelenu LED (D5) za pokazivanje da je sustav spreman i da birač može predati svoj glas u stroju, pritiskom na gumb. Za upravljanje svjetlinom LCD-a koristi se posuda od 10 k.
Kako pokrenuti kôd u Raspberry Pi:
1. Prvo se prijavite na Raspberry Pi koristeći SSH sa zadanim korisničkim imenom: 'pi' i lozinkom: 'malina'. Ovdje smo koristili SSH klijent “Putty for Windows” za povezivanje s Pi putem Windowsa. Ako ste na Linuxu, možete se izravno povezati s Pi koristeći SSH. Na internetu postoji puno tutorijala o "Povezivanju s Raspberry Pi pomoću SSH-a", tako da ovdje nećemo ulaziti u detalje. Također biste trebali provjeriti Kako započeti s Raspberry Pi kako biste saznali više o Pi, instalaciji OS-a (Raspbian Jessie) i njegovim hardverskim i softverskim zahtjevima.

2. Sada pokrenite donju naredbu da biste otvorili novu datoteku nazvanu vote.c i zalijepite kôd (naveden u odjeljku koda dolje) u datoteku, upotrijebite tipku "shift + insert" da biste zalijepili kôd.
sudo nano glasanje.c


3. Nakon pisanja koda pritisnite ctrl + x, a zatim pritisnite y za spremanje koda i pritisnite enter.
4. Sada napravite izvršni kod pomoću zadane naredbe:
cc -o glasovanje s glasanjem.c -lwiringPi -std = c99
5. Napokon pokrenite kod pomoću zadane naredbe
sudo./glasanje

Objašnjenje programiranja:
Ovdje smo za pisanje koda i kodiranja slični Arduino kodiranju koristili jezik poznat C jeziku. Za izgradnju ovog projekta također možemo koristiti jezik Python.
Prije svega uključujemo datoteke zaglavlja i definiramo igle za LCD; Datoteka zaglavlja wiringPi.h koristi se za upravljanje GPIO pinovima Pi. Zatim inicijalizirajte neke varijable i igle za uzimanje glasačkih unosa i LED indikacije.
#include
Nakon njega dali smo smjer svim korištenim GPIO-ima u void setup () funkciji .
void setup () {if (wiringPiSetup () == - 1) printf ("ERROR"); pinMode (led1, IZLAZ); pinMode (led2, IZLAZ); pinMode (led3, IZLAZ); pinMode (led4, IZLAZ); pinMode (led5, IZLAZ); pinMode (zujanje, IZLAZ); pinMode (RS, IZLAZ);……………….
U kodu smo koristili funkciju digitalRead u void main () za čitanje pritisnutog gumba.
if (digitalRead (in1) == 0) {vote1 ++; pokazati(); digitalWrite (led1, HIGH); zujalica (); digitalWrite (led1, LOW); čekati(); }
funkcija void show () koristi se za prikaz podataka o glasovanju na LCD-u s imenom kandidata.
void show () {setCursor (0,0); ispis ("BJP Cong AAP Ex"); setCursor (1,1); sprintf (glas, "% d", glas1); ispis (glasovanje); setCursor (6,1); sprintf (glas, "% d", glas2);………………..
Evo još nekih funkcija korištenih u ovom projektu:
fukcija void buzzer () koristi se za zvučni signal kao znak da je dano glasanje. I void wait () fukcija za LED D5 (zelena LED u hardveru), što pokazuje da je sustav spreman za Vote, kada se LED uključi.
void zujalica () {digitalWrite (zujanje, VISOKO); kašnjenje (1000); digitalWrite (zujanje, LOW); } void wait () {digitalWrite (led5, LOW); kašnjenje (3000); }
koristi se funkcija void comapare () za usporedbu ukupnog broja glasova svakog od kandidata za dobivanje rezultata i prikaz statusa rezultata na LCD-u.
void compare () {clear (); ispis ("Molimo pričekajte…."); čekati(); if (glas1> glas2 && glas1> glas3 && glas1> glas4) {digitalWrite (led1, HIGH); za (i = 0; i <2; i ++) {clear (); setCursor (0,0); ispis ("Čestitamo……."); setCursor (0,1); ispis ("BJP je pobijedio na izborima");…………………
Potpuni kod provjerite u nastavku.
