- Componente necesare:
- Cum functioneaza:
- Explicația circuitului:
- Cum se execută codul în Raspberry Pi:
- Explicație de programare:
Raspberry Pi este o placă de dezvoltare populară bazată pe cortexul ARM, concepută pentru inginerii electronici și hobbyiștii. Este un singur computer de bord care funcționează la putere redusă, cu o viteză de procesare și o memorie foarte bune. Raspberry Pi poate fi folosit pentru a efectua diferite funcții la un moment dat, cum ar fi un PC normal, și, prin urmare, este numit Mini Computer în palma ta.
Am creat o serie de tutoriale Raspberry Pi, în care am acoperit interfațarea Raspberry Pi cu toate componentele de bază, precum și câteva proiecte simple Raspberry Pi pentru a începe.
Aici vom construi o mașină de vot electronic folosind placa Raspberry Pi. Cu toții suntem conștienți de aparatul electronic de vot (EVM) care este folosit pentru a vota în alegeri, prin apăsarea unui simplu buton. Am acoperit deja mașina de vot electronic folosind diferite microcontrolere, cum ar fi EVM cu microcontroler AVR și EVM cu Arduino. De asemenea, am construit o mașină de vot în care alegătorul este autentificat prin etichetă RFID, astfel încât să poată fi numărate doar voturile autentificate.
Această mașină de vot electronic care folosește Raspberry Pi este mai simplă și mai ușoară, în comparație cu proiectele noastre anterioare de mașină de vot.
Componente necesare:
- Raspberry Pi - 1
- LCD 16x2 - 1
- Apăsați butonul - 5
- Pană de pâine - 1
- Conectarea firelor
- 1K rezistor - 1
- Rezistor 10K - 5
- GHID 10K - 1
- LED-uri - 5
Cum functioneaza:
În acest proiect am folosit patru butoane pentru a vota pentru patru candidați sau partide. Putem crește numărul de candidați, dar pentru o mai bună înțelegere am folosit doar patru aici. Când un alegător apasă oricare dintre cele patru butoane, atunci „numărul de voturi” pentru partidul respectat sau candidat, este mărit cu unul de fiecare dată. În același timp, LED-ul clipește și buzzer-ul sună o secundă, pentru a indica faptul că votul a fost dat. După finalizarea votului, avem un buton „Rezultat”, pentru a afișa rezultatele votului. Când apăsăm acest buton, ecranul LCD afișează numele Partidului câștigător cu nr. de voturi acordate fiecărui partid.
Explicația circuitului:
Diagrama circuitului acestui EVM folosind Raspberry Pi este prezentată mai jos. Raspberry Pi controlează întregul proces, cum ar fi Citirea butonului, creșterea numărului de voturi, generarea rezultatului și afișarea tuturor lucrurilor pe ecranul LCD.
Aici am folosit placa Raspberry Pi 3 pentru a efectua toate operațiunile din proiect și am folosit wiringPi Library pentru selectarea și controlul pinilor GPIO ai Raspberry Pi. Putem folosi și Raspberry Pi 2 aici. Aici am folosit cinci butoane, în care patru au fost folosite pentru a vota pentru patru candidați / partide diferite și un buton este utilizat pentru afișarea rezultatului pe ecranul LCD. Aceste cinci butoane sunt conectate direct la pinii GPIO 21-25 din RPI3, în raport cu solul, cu rezistență de tracțiune de 10K pentru fiecare. Un ecran LCD de 16x2 este conectat cu Raspberry Pi. Pinii de control RS, RW și En sunt conectați la pinul GPIO 11, GND și 10. Și pinul de date D4-D7 este conectat la pinii GPIO 6, 5, 4 și 1 din RPI. Un buzzereste, de asemenea, utilizat pentru bip atunci când oricare dintre butoane este apăsat de către alegător. Aici am folosit un LED verde (D5) pentru a indica faptul că sistemul este gata și alegătorul își poate trimite votul în mașină, apăsând butonul. O oală de 10k este utilizată pentru controlul luminozității ecranului LCD.
Cum se execută codul în Raspberry Pi:
1. În primul rând, conectați-vă la Raspberry Pi utilizând SSH cu numele de utilizator implicit: „pi” și parola: „zmeură”. Aici am folosit clientul SSH „Putty for Windows” pentru conectarea cu Pi prin Windows. Dacă sunteți pe Linux, vă puteți conecta direct la Pi folosind SSH. Există multe tutoriale pe Internet despre „Conectarea la Raspberry Pi folosind SSH”, așa că aici nu trecem în detalii. De asemenea, ar trebui să verificați Cum să începeți cu Raspberry Pi pentru a afla mai multe despre Pi, instalarea sistemului de operare (Raspbian Jessie) și cerințele sale hardware și software.
2. Acum executați comanda de mai jos pentru a deschide un nou fișier numit vote.c și lipiți codul (dat în secțiunea de cod de mai jos) în fișier, utilizați tasta „Shift + insert” pentru a lipi codul.
sudo nano vote.c
3. După ce ați scris codul, apăsați ctrl + x și apoi apăsați y pentru a salva codul și apăsați Enter.
4. Acum faceți codul executabil folosind comanda dată:
cc -o votare votare.c -lwiringPi -std = c99
5. Rulați în cele din urmă codul utilizând comanda dată
sudo./votare
Explicație de programare:
Aici am folosit un limbaj C familiar pentru utilizatori pentru a scrie codul și codarea mult asemănătoare cu codificarea Arduino. De asemenea, putem folosi limbajul Python pentru a construi acest proiect.
În primul rând includem fișiere antet și definim pini pentru LCD; fișierul antet wiringPi.h este utilizat pentru controlul pinilor GPIO ai Pi. Apoi inițializați câteva variabile și pini pentru preluarea votului și a indicațiilor LED.
#include
După aceasta, am dat direcția tuturor GPIO-urilor utilizate în funcția de configurare nulă () .
void setup () {if (wiringPiSetup () == - 1) printf ("EROARE"); pinMode (led1, OUTPUT); pinMode (led2, OUTPUT); pinMode (led3, OUTPUT); pinMode (led4, OUTPUT); pinMode (led5, OUTPUT); pinMode (buzz, OUTPUT); pinMode (RS, OUTPUT);……………….
În cod, am folosit funcția digitalRead în void main () pentru a citi butonul apăsat.
if (digitalRead (in1) == 0) {vot1 ++; spectacol(); digitalWrite (led1, HIGH); buzzer (); digitalWrite (led1, LOW); aștepta(); }
funcția void show () este utilizată pentru afișarea informațiilor de vot pe ecranul LCD cu numele partidului candidat.
void show () {setCursor (0,0); print („BJP Cong AAP Ex”); setCursor (1,1); sprintf (vot, "% d", vot1); tipar (vot); setCursor (6,1); sprintf (vot, "% d", vot2);………………..
Iată câteva funcții utilizate în acest proiect:
void buzzer () fuction este folosit pentru a semnaliza buzzerul ca indicație care a fost acordată. Și funcția de așteptare nulă () pentru LED-ul D5 (LED verde în hardware), care arată că sistemul este pregătit pentru vot, când LED-ul este aprins.
void buzzer () {digitalWrite (buzz, HIGH); întârziere (1000); digitalWrite (buzz, LOW); } void wait () {digitalWrite (led5, LOW); întârziere (3000); }
funcția void comapare () este utilizată, pentru a compara numărul total de voturi ale fiecăruia dintre candidați, pentru obținerea rezultatului și afișarea stării rezultatului pe ecranul LCD.
void compare () {clear (); print („Vă rugăm să așteptați….”); aștepta(); if (vot1> vot2 && vot1> vot3 && vot1> vot4) {digitalWrite (led1, HIGH); pentru (i = 0; i <2; i ++) {clear (); setCursor (0,0); print („Felicitări…….”); setCursor (0,1); print („Alegerea câștigată de BJP”);…………………
Verificați codul complet de mai jos.