- Szükséges alkatrészek:
- Hogyan működik:
- Áramkör magyarázat:
- A kód futtatása a Raspberry Pi programban:
- Programozási magyarázat:
A Raspberry Pi egy ARM cortex alapú, népszerű fejlesztőtábla, amelyet elektronikus mérnökök és hobbisták számára terveztek. Ez egy fedélzeti számítógép, amely alacsony energiafogyasztással dolgozik, nagyon jó feldolgozási sebességgel és memóriával. A Raspberry Pi egyszerre különböző funkciók végrehajtására használható, mint egy normál PC, ezért Mini Computer néven hívják a tenyerében.
Létrehoztunk egy Raspberry Pi oktatóanyagot, amelyben a Raspberry Pi interfészét az összes alapkomponenssel, valamint néhány egyszerű Raspberry Pi projektet bemutattuk.
Itt egy elektronikus szavazógépet fogunk építeni a Raspberry Pi Board segítségével. Mindannyian tisztában vagyunk az elektronikus szavazógéppel (EVM), amelyet egy egyszerű gomb megnyomásával használnak a választásokon való szavazáshoz. Már tárgyaltuk az elektronikus szavazógépet különböző mikrovezérlőkkel, például EVM AVR mikrovezérlővel és EVM Arduino-val. Építettünk egy szavazógépet is, amelyben a szavazót RFID-címkével hitelesítették, így csak a hitelesített szavazatokat lehet megszámolni.
Ez a Raspberry Pi-t használó elektronikus szavazógép egyszerűbb és könnyebb, összehasonlítva a korábbi szavazógép projektjeinkkel.
Szükséges alkatrészek:
- Málna Pi - 1
- 16x2 LCD - 1
- Nyomógomb - 5
- Kenyérlemez - 1
- Csatlakozó vezetékek
- 1K ellenállás - 1
- 10K ellenállás - 5
- 10K POT - 1
- LED-ek - 5
Hogyan működik:
Ebben a projektben négy gombot használtunk arra, hogy négy jelöltre vagy pártra szavazzunk. Növelhetjük a jelöltek számát, de a jobb megértés érdekében itt csak négyet használtunk. Amikor a választó megnyomja a négy gomb bármelyikét, akkor a tisztelt párt vagy jelölt „szavazatszámát” minden alkalommal eggyel növeljük. Ugyanakkor a LED villog, és egy hangjelzés hangjelzést ad egy másodpercig, jelezve, hogy a Szavazat megadatott. A szavazás befejezése után van egy „Eredmény” gomb, amely megmutatja a szavazás eredményét. Amikor megnyomjuk ezt a gombot, az LCD képernyőn megjelenik a nyertes fél neve és a nem. az egyes pártoknak adott szavazatok száma.
Áramkör magyarázat:
Ennek az EVM-nek a Raspberry Pi alkalmazásával készült kapcsolási rajza az alábbiakban látható. A Raspberry Pi vezérli az egész folyamatot, mint például a gomb elolvasása, a szavazatok számának növelése, az eredmény generálása és az összes dolog megjelenítése az LCD-n.
Itt a Raspberry Pi 3 kártyát használtuk a projekt összes műveletének elvégzéséhez, és a wiringPi Library segítségével választottuk ki és vezéreltük a Raspberry Pi GPIO csapjait. Itt használhatjuk a Raspberry Pi 2-t is. Itt öt gombot használtunk, amelyekben négyet használtak négy különböző jelölt / párt szavazására, és egy gombot használnak az eredmény LCD-n való megjelenítésére. Ez az öt gomb közvetlenül kapcsolódik az RPI3 GPIO 21–25-ös csapjaihoz, a testhez viszonyítva, mindegyikhez 10K felhúzási ellenállással. A Raspberry Pi-hez egy 16x2-es LCD van csatlakoztatva. Az RS, RW és En vezérlőcsapok a GPIO 11., GND és 10. érintkezőkhöz vannak csatlakoztatva. A D4-D7 adatcsatlakozók pedig az RPI 6., 5., 4. és 1. GPIO-csatlakozóihoz vannak csatlakoztatva. Egy hangjelzőhangjelzésre is használható, amikor a választó megnyomja az egyik gombot. Itt egy zöld LED-et (D5) használtunk annak jelzésére, hogy a rendszer készen áll, és a szavazó a gomb megnyomásával benyújthatja szavazatát a gépben. 10k potot használnak az LCD fényerejének szabályozására.
A kód futtatása a Raspberry Pi programban:
1. Először jelentkezzen be a Raspberry Pi-be az SSH használatával, alapértelmezett felhasználói névvel: „pi” és jelszóval: „málna”. Itt a „Putty for Windows” SSH klienst használtuk a Pi-vel való kapcsolatfelvételhez a Windows segítségével. Ha Linuxot használ, akkor közvetlenül csatlakozhat a Pi-hez az SSH használatával. Az Interneten sok oktatóanyag található a „Kapcsolatba lépés a Raspberry Pi-vel az SSH használatával” témakörben, ezért itt nem részletezzük. Azt is ellenőriznie kell, hogyan kell kezdeni a Raspberry Pi-vel, hogy többet tudjon meg a Pi-ről, az operációs rendszer telepítéséről (Raspbian Jessie), valamint annak hardver- és szoftverkövetelményeiről.
2. Most futtassa az alábbi parancsot egy új File.c nevű fájl megnyitásához, és illessze be a kódot (amelyet az alábbi kódrészben ad meg) a fájlba, használja a „shift + insert” billentyűt a kód beillesztéséhez.
sudo nano szavazás.c
3. A kód beírása után nyomja meg a ctrl + x gombot, majd nyomja meg az y gombot a kód mentéséhez, majd nyomja meg az Enter billentyűt.
4. Most tegye a futtathatóvá a kódot a megadott paranccsal:
cc -o szavazás szavazás.c -lwiringPi -std = c99
5. Végül futtassa a kódot a megadott parancs használatával
sudo./szavazás
Programozási magyarázat:
Itt sok, a felhasználó számára jól ismert C nyelvet használtunk a kód és az Arduino kódoláshoz hasonló kódolás megírásához. A projekt felépítéséhez Python nyelvet is használhatunk.
Először fejlécfájlokat is tartalmazunk, és meghatározzuk a csapokat az LCD számára; A wiringPi.h fejléc fájlt a Pi GPIO csapjainak vezérlésére használják. Ezután inicializáljon néhány változót és csapot a szavazati bemenet és a LED-jelzések felvételéhez.
#include
Utána irányt adtunk az összes használt GPIO-nak a void setup () függvényben .
void setup () {if (wiringPiSetup () == - 1) printf ("HIBA"); pinMode (led1, OUTPUT); pinMode (led2, OUTPUT); pinMode (led3, OUTPUT); pinMode (led4, OUTPUT); pinMode (led5, OUTPUT); pinMode (buzz, OUTPUT); pinMode (RS, OUTPUT);……………….
Kódban a digitalRead függvényt használtuk a void main () -ben a megnyomott gomb beolvasásához.
if (digitalRead (in1) == 0) {szavazat1 ++; előadás(); digitalWrite (led1, HIGH); berregő(); digitalWrite (led1, LOW); várjon(); }
A void show () függvény a szavazási információk megjelenítésére szolgál az LCD-n a jelölt párt nevével.
void show () {setCursor (0,0); nyomtatás ("BJP Cong AAP Ex"); setCursor (1,1); sprintf (szavazás, "% d", szavazat1); nyomtatás (szavazás); setCursor (6,1); sprintf (szavazás, "% d", szavazat2);………………..
Íme néhány további funkció, amelyet ebben a projektben használunk:
A void buzzer () fuction segítségével a hangjelzést sípolva jelezhetjük, hogy a szavazás megtörtént. És érvénytelen várakozás () kivezetés a D5 LED-hez (zöld LED a hardverben), amely azt mutatja, hogy a rendszer készen áll a szavazásra, amikor a LED be van kapcsolva.
void buzzer () {digitalWrite (buzz, HIGH); késés (1000); digitalWrite (buzz, LOW); } void wait () {digitalWrite (led5, LOW); késés (3000); }
A void comapare () függvényt használják az egyes jelöltek összes szavazatának összehasonlítására az eredmény megszerzéséhez és az eredmény állapotának megjelenítéséhez az LCD-n.
void hasonlít () {clear (); print ("Kérjük, várjon…."); várjon(); if (szavazás1> szavazás2 && szavazás1> szavazás3 és& szavazás1> szavazás4) {digitalWrite (led1, HIGH); for (i = 0; i <2; i ++) {tiszta (); setCursor (0,0); nyomtatás ("Gratulálok……."); setCursor (0,1); nyomtatás ("BJP megnyerte a választást");…………………
Ellenőrizze az alábbi teljes kódot.