- Nepieciešamās sastāvdaļas:
- Kā tas strādā:
- Ķēdes skaidrojums:
- Kā palaist kodu Raspberry Pi:
- Programmēšanas skaidrojums:
Raspberry Pi ir ARM garozā balstīta populāra izstrādes plāksne, kas paredzēta elektronikas inženieriem un hobijiem. Tas ir viens borta dators, kas strādā ar mazu jaudu, ar ļoti labu apstrādes ātrumu un atmiņu. Aveņu Pi var izmantot, lai vienlaikus veiktu dažādas funkcijas, piemēram, parastu datoru, un tāpēc to plaukstā sauc par Mini Computer.
Mēs esam izveidojuši Raspberry Pi apmācību sēriju, kurā mēs iesākumā esam aplūkojuši Raspberry Pi saskarni ar visiem pamatkomponentiem, kā arī dažus vienkāršus Raspberry Pi projektus.
Šeit mēs izveidosim elektronisko balsošanas mašīnu, izmantojot Raspberry Pi Board. Mēs visi zinām par elektronisko balsošanas mašīnu (EVM), ko izmanto balsošanai vēlēšanās, nospiežot vienkāršu pogu. Mēs jau esam apskatījuši elektronisko balsošanas mašīnu, izmantojot dažādus mikrokontrollerus, piemēram, EVM ar AVR mikrokontrolleru un EVM ar Arduino. Mēs esam izveidojuši arī balsošanas mašīnu, kurā vēlētājs tiek autentificēts ar RFID tagu, lai varētu saskaitīt tikai autentificētas balsis.
Šī elektroniskā balsošanas mašīna, kurā tiek izmantots Raspberry Pi, ir vienkāršāka un vienkāršāka, salīdzinot ar mūsu iepriekšējiem balsošanas automāta projektiem.
Nepieciešamās sastāvdaļas:
- Aveņu Pi - 1
- 16x2 LCD - 1
- Spiedpoga - 5
- Maizes dēlis - 1
- Savienojošie vadi
- 1K rezistors - 1
- 10K rezistors - 5
- 10K POT - 1
- LED - 5
Kā tas strādā:
Šajā projektā mēs izmantojām četras pogas, lai balsotu par četriem kandidātiem vai partijām. Mēs varam palielināt kandidātu skaitu, taču labākai izpratnei šeit esam izmantojuši tikai četrus. Kad vēlētājs nospiež jebkuru no četrām pogām, cienījamās partijas vai kandidāta balsu skaits katru reizi tiek palielināts par vienu. Tajā pašā laikā gaismas diode mirgo un skaņas signāls brīdina, lai norādītu, ka balss ir dota. Pēc balsošanas pabeigšanas mums ir poga “Rezultāts”, lai parādītu balsošanas rezultātus. Nospiežot šo pogu, LCD ekrānā tiek parādīts uzvarējušās puses nosaukums ar nr. katrai partijai piešķirto balsu.
Ķēdes skaidrojums:
Šī EVM shēma, izmantojot Raspberry Pi, ir dota zemāk. Aveņu Pi kontrolē visu procesu, piemēram, pogas lasīšana, balsu skaita palielināšana, rezultātu ģenerēšana un visu lietu parādīšana LCD ekrānā.
Šeit mēs izmantojām Raspberry Pi 3 dēli, lai veiktu visas projekta darbības, un izmantojām wiringPi bibliotēku, lai atlasītu un kontrolētu Raspberry Pi GPIO tapas. Šeit mēs varam izmantot arī Raspberry Pi 2. Šeit mēs izmantojām piecas pogas, kurās četras ir izmantotas, lai balsotu par četriem dažādiem kandidātiem / partijām, un viena poga tiek izmantota, lai parādītu rezultātu LCD. Šīs piecas pogas ir tieši savienotas ar GPIO tapām no RPI3 no 21 līdz 25 attiecībā pret zemi ar katrai no tām 10K pievilkšanas rezistoru. Ar Raspberry Pi ir savienots 16x2 LCD. Vadības tapa RS, RW un En ir savienota ar GPIO 11., GND un 10. kontaktu. Un datu tapa D4-D7 ir savienota ar RPI GPIO tapām 6, 5, 4 un 1. svilpetiek izmantots arī pīkstienam, kad vēlētājs nospiež kādu no pogām. Šeit mēs izmantojām zaļo gaismas diode (D5), lai norādītu, ka sistēma ir gatava un vēlētājs var iesniegt savu balsi mašīnā, nospiežot pogu. LCD spilgtuma kontrolei tiek izmantots 10k pot.
Kā palaist kodu Raspberry Pi:
1. Pirmkārt, piesakieties savā Raspberry Pi, izmantojot SSH ar noklusējuma lietotāja vārdu: 'pi' un paroli: 'avene'. Šeit mēs izmantojām SSH klientu “Putty for Windows”, lai izveidotu savienojumu ar Pi caur Windows. Ja izmantojat Linux, varat tieši izveidot savienojumu ar Pi, izmantojot SSH. Internetā ir daudz apmācību par saiti ar Raspberry Pi, izmantojot SSH, tāpēc šeit mēs neieviesīsim sīkāku informāciju. Jums arī jāpārbauda Kā sākt ar Raspberry Pi, lai uzzinātu vairāk par Pi, OS instalēšanu (Raspbian Jessie) un tās aparatūras un programmatūras prasībām.
2. Tagad izpildiet zemāk esošo komandu, lai atvērtu jaunu failu ar nosaukumu balsojums.c un ielīmējiet kodu (norādīts zemāk esošajā koda sadaļā) failā, izmantojiet taustiņu “shift + insert”, lai ielīmētu kodu.
sudo nano balsošana. c
3. Pēc koda ierakstīšanas nospiediet ctrl + x un pēc tam nospiediet y, lai saglabātu kodu, un nospiediet enter.
4. Tagad izveidojiet kodu izpildāmu, izmantojot norādīto komandu:
cc -o balsošanas balsojums. c -lwiringPi -std = c99
5. Visbeidzot palaidiet kodu, izmantojot doto komandu
sudo./balsošana
Programmēšanas skaidrojums:
Šeit mēs esam izmantojuši daudz lietotājiem pazīstamu C valodu, lai uzrakstītu kodu un kodu, kas ir ļoti līdzīgs Arduino kodēšanai. Šī projekta izveidošanai mēs varam izmantot arī Python valodu.
Vispirms mēs iekļaujam galvenes failus un definējam tapas LCD; wiringPi.h galvenes failu izmanto, lai kontrolētu GP GPIO tapas. Pēc tam inicializējiet dažus mainīgos un tapas balsošanas ievades un LED indikāciju iegūšanai.
# iekļaut
Pēc tam mēs esam devuši norādījumus visiem izmantotajiem GPIO void setup () funkcijā .
void setup () {if (wiringPiSetup () == - 1) printf ("KĻŪDA"); pinMode (led1, OUTPUT); pinMode (led2, OUTPUT); pinMode (led3, OUTPUT); pinMode (led4, OUTPUT); pinMode (led5, OUTPUT); pinMode (buzz, OUTPUT); pinMode (RS, OUTPUT);……………….
Kodā mēs esam izmantojuši digitalRead funkciju void main (), lai lasītu nospiesto pogu.
if (digitalRead (in1) == 0) {balsojums1 ++; izrāde (); digitalWrite (led1, HIGH); skaņas signāls (); digitalWrite (led1, LOW); pagaidiet (); }
funkcija void show () tiek izmantota, lai LCD parādītu balsošanas informāciju ar kandidātvalsts vārdu.
void show () {setCursor (0,0); drukāt ("BJP Cong AAP Ex"); setCursor (1,1); sprintf (balsojums, "% d", balsojums1); drukāt (balsojums); setCursor (6,1); sprintf (balsojums, "% d", balsojums2);………………..
Šeit ir vēl dažas funkcijas, kas izmantotas šajā projektā:
void buzzer () fuction tiek izmantots, lai pīkstētu skaņas signālu kā norādi, ka balss ir dota. Un spēkā nav gaidīšanas () gaismas diodes D5 (zaļa LED aparatūrā), kas parāda, ka sistēma ir gatava balsošanai, kad LED ir ieslēgts.
void buzzer () {digitalWrite (buzz, HIGH); kavēšanās (1000); digitalWrite (buzz, LOW); } void wait () {digitalWrite (led5, LOW); kavēšanās (3000); }
Funkcija void comapare () tiek izmantota, lai salīdzinātu katra kandidāta kopējo balsu skaitu, lai iegūtu rezultātu un parādītu rezultāta statusu LCD.
void salīdzināt () {skaidrs (); izdrukāt ("Lūdzu, uzgaidiet…."); pagaidiet (); ja (balsojums1> balsojums2 && balsojums1> balsojums3 && balsojums1> balsojums4) {digitalWrite (vadīja1, AUGSTS); par (i = 0; i <2; i ++) {skaidrs (); setCursor (0,0); drukāt ("Apsveicu……."); setCursor (0,1); drukāt ("BJP uzvarēja vēlēšanās");…………………
Pārbaudiet pilnu kodu zemāk.