- Reikalingi komponentai:
- Kaip tai veikia:
- Grandinės paaiškinimas:
- Kaip paleisti kodą „Raspberry Pi“:
- Programavimo paaiškinimas:
„Raspberry Pi“ yra ARM žievės pagrindu sukurta populiari kūrimo lenta, skirta elektronikos inžinieriams ir mėgėjams. Tai vienas bortinis kompiuteris, dirbantis su maža galia, turintis labai gerą apdorojimo greitį ir atmintį. „Raspberry Pi“ vienu metu gali būti naudojamas skirtingoms funkcijoms atlikti, pavyzdžiui, įprastas kompiuteris, todėl delne jis vadinamas „ Mini Computer“.
Mes sukūrėme „Raspberry Pi“ mokomųjų programų seriją, kurioje apėmėme „Raspberry Pi“ sąsają su visais pagrindiniais komponentais, taip pat keletą paprastų „Raspberry Pi“ projektų.
Čia mes ketiname pastatyti elektroninį balsavimo aparatą, naudodami „Raspberry Pi“ lentą. Mes visi žinome apie elektroninį balsavimo aparatą (EVM), kuris naudojamas balsuoti rinkimuose, paspaudus paprastą mygtuką. Mes jau aptarėme elektroninį balsavimo aparatą, naudodami skirtingus mikrovaldiklius, tokius kaip EVM su AVR mikrovaldikliu ir EVM su Arduino. Mes taip pat sukūrėme balsavimo aparatą, kuriame rinkėjas yra patvirtinamas RFID žyma, kad būtų galima suskaičiuoti tik patvirtintus balsus.
Ši elektroninė balsavimo mašina, kurioje naudojama „Raspberry Pi“, yra paprastesnė ir lengvesnė, palyginti su ankstesniais mūsų balsavimo mašinos projektais.
Reikalingi komponentai:
- Avietė Pi - 1
- 16x2 LCD ekranas - 1
- Mygtukas - 5
- Duonos lenta - 1
- Jungiamieji laidai
- 1K rezistorius - 1
- 10K rezistorius - 5
- 10K POT - 1
- Šviesos diodai - 5
Kaip tai veikia:
Šiame projekte mes naudojome keturis mygtukus balsuodami už keturis kandidatus ar partijas. Galime padidinti kandidatų skaičių, tačiau norėdami geriau suprasti, čia panaudojome tik keturis. Kai rinkėjas paspaudžia bet kurį iš keturių mygtukų, gerbiamos partijos ar kandidato balsų skaičius kaskart padidinamas vienu. Tuo pačiu metu mirksi šviesos diodas ir sekundę pypteli signalas, rodantis, kad balsas buvo pateiktas. Baigę balsavimą, turime mygtuką „Rezultatas“, kad parodytume balsavimo rezultatus. Kai paspausime šį mygtuką, LCD ekrane rodomas laimėjusios šalies pavadinimas su Nr. kiekvienai partijai suteiktų balsų.
Grandinės paaiškinimas:
Toliau pateikiama šio EVM schema naudojant avietę Pi. „Raspberry Pi“ kontroliuoja visą procesą, pavyzdžiui, mygtuko skaitymas, balsų skaičiaus didinimas, rezultatų generavimas ir visų dalykų rodymas LCD ekrane.
Čia mes naudojome „ Raspberry Pi 3“ plokštę, kad atliktume visas projekto operacijas, ir „wiringPi“ biblioteką naudojome pasirinkdami ir valdydami „Raspberry Pi“ GPIO kaiščius. Čia taip pat galime naudoti „Raspberry Pi 2“. Čia mes naudojome penkis mygtukus, iš kurių keturi buvo naudojami balsuoti už keturis skirtingus kandidatus / partijas, o vienas mygtukas naudojamas rezultatui rodyti LCD. Šie penki mygtukai yra tiesiogiai prijungti prie GPIO kaiščių nuo 21 iki 25 RPI3, atsižvelgiant į įžeminimą, kiekvienam iš jų - 10K ištraukimo rezistorius. Su „Raspberry Pi“ prijungtas 16x2 skystųjų kristalų ekranas. Valdymo kaiščiai RS, RW ir En yra prijungti prie GPIO 11, GND ir 10 kontaktų. O duomenų kaištis D4-D7 yra prijungtas prie RPIO GPIO kaiščių 6, 5, 4 ir 1. švilpukastaip pat naudojamas pyptelėjimui, kai rinkėjas paspaudžia bet kurį iš mygtukų. Čia mes naudojome žalią šviesos diodą (D5), nurodydami, kad sistema yra parengta ir rinkėjas gali pateikti savo balsą mašinoje, paspausdamas mygtuką. LCD ryškumui reguliuoti naudojamas 10k puodas.
Kaip paleisti kodą „Raspberry Pi“:
1. Pirmiausia prisijunkite prie „Raspberry Pi“ naudodami SSH su numatytuoju vartotojo vardu: „pi“ ir slaptažodžiu: „avietė“. Čia mes naudojome SSH klientą „Putty for Windows“, kad galėtume susisiekti su Pi per „Windows“. Jei naudojate „Linux“, galite tiesiogiai prisijungti prie „Pi“ naudodami SSH. Internete yra daugybė pamokų „Kaip užmegzti ryšį su„ Raspberry Pi “naudojant SSH“, todėl čia mes nenagrinėjame išsamesnės informacijos. Taip pat turėtumėte patikrinti, kaip pradėti nuo „Raspberry Pi“, kad sužinotumėte daugiau apie „Pi“, OS diegimą („Raspbian Jessie“) ir jo aparatinės bei programinės įrangos reikalavimus.
2. Dabar paleiskite žemiau esančią komandą, kad atidarytumėte naują failą pavadinimu balsavimas.c ir įklijuokite kodą (nurodytą žemiau esančiame kodo skyriuje) į failą, naudokite klavišą „shift + insert“, kad įklijuotumėte kodą.
sudo nano balsavimas. c
3. Parašę kodą paspauskite „Ctrl“ + x, tada paspauskite „y“, kad išsaugotumėte kodą, ir paspauskite „Enter“.
4. Dabar padarykite kodą vykdomąjį naudodami nurodytą komandą:
cc -o balsavimas balsu. c -lwiringPi -std = c99
5. Galiausiai paleiskite kodą naudodami nurodytą komandą
sudo./balso
Programavimo paaiškinimas:
Čia mes naudojome daug vartotojui žinomos C kalbos rašyti kodą ir kodavimą, panašų į „Arduino“ kodavimą. Mes taip pat galime naudoti „Python“ kalbą kurdami šį projektą.
Pirmiausia įtraukiame antraštės failus ir nustatome LCD kaiščius; „wiringPi.h“ antraštės failas naudojamas valdyti Pi GPIO kaiščius. Tada inicializuokite keletą kintamųjų ir smeigtukų balsavimo įvesties ir šviesos diodų indikacijoms gauti.
# įtraukti
Po to mes suteikėme nurodymą visiems naudojamiems GPIO, esantiems „ void setup“ () funkcijoje .
void setup () {if (wiringPiSetup () == - 1) printf ("KLAIDA"); pinMode (led1, OUTPUT); pinMode (led2, OUTPUT); pinMode (led3, OUTPUT); pinMode (led4, OUTPUT); pinMode (led5, OUTPUT); pinMode („buzz“, OUTPUT); pinMode (RS, OUTPUT);……………….
Kode mes naudojome „ digitalRead“ funkciją „ void main“ (), norėdami perskaityti paspaustą mygtuką.
if (digitalRead (in1) == 0) {balsas1 ++; Rodyti(); „digitalWrite“ („led1“, „HIGH“); garsinis signalas (); „digitalWrite“ („led1“, „LOW“); laukti(); }
funkcija void show () naudojama informacijai apie balsavimą rodyti skystųjų kristalų ekrane su šalies kandidatės vardu.
void show () {setCursor (0,0); spausdinti („BJP Cong AAP Ex“); setCursor (1,1); „sprintf“ (balsavimas, „% d“, balsas1); spausdinti (balsuoti); setCursor (6,1); „sprintf“ (balsavimas, „% d“, balsas2);………………..
Toliau pateikiamos dar kelios šiame projekte naudojamos funkcijos:
void buzzer () fuction naudojamas pyptelėti garsinį signalą kaip nurodymą, kad balsas buvo suteiktas. Ir tuščia laukti () fuction LED D5 (žalias šviesos diodas Hardware), o tai rodo, kad sistema yra pasirengę balsuoti, kai diodas yra įjungtas.
void buzzer () {digitalWrite („buzz“, HIGH); vėlavimas (1000); „digitalWrite“ („buzz“, „LOW“); } void wait () {digitalWrite (led5, LOW); vėlavimas (3000); }
Funkcija void comapare () naudojama norint palyginti kiekvieno kandidato balsus, norint gauti rezultatą ir rodyti rezultato būseną LCD ekrane.
void palyginti () {išvalyti (); spausdinti ("Prašau palaukti…"); laukti(); jei (balsavimas1> balsavimas2 ir& balsavimas1> balsavimas3 ir& balsavimas1> balsavimas4) {digitalWrite (led1, HIGH); už (i = 0; i <2; i ++) {aišku (); setCursor (0,0); spausdinti ("Sveikinu……."); setCursor (0,1); spausdinti („BJP laimėjo rinkimus“);…………………
Patikrinkite visą kodą žemiau.