- Erforderliche Komponenten:
- Wie es funktioniert:
- Schaltungserklärung:
- So führen Sie den Code in Raspberry Pi aus:
- Programmiererklärung:
Raspberry Pi ist ein auf ARM Cortex basierendes, beliebtes Entwicklungsboard für Elektronikingenieure und Bastler. Es ist ein Einplatinencomputer, der mit geringem Stromverbrauch und sehr guter Verarbeitungsgeschwindigkeit und Speicher arbeitet. Raspberry Pi kann wie ein normaler PC verwendet werden, um verschiedene Funktionen gleichzeitig auszuführen. Daher wird es in Ihrer Handfläche als Mini-Computer bezeichnet.
Wir haben eine Reihe von Raspberry Pi-Tutorials erstellt, in denen wir die Schnittstelle von Raspberry Pi mit allen grundlegenden Komponenten sowie einige einfache Raspberry Pi-Projekte behandelt haben.
Hier werden wir eine elektronische Abstimmungsmaschine mit Raspberry Pi Board bauen. Wir alle kennen die elektronische Wahlmaschine (EVM), mit der bei Wahlen per Knopfdruck abgestimmt wird. Wir haben bereits elektronische Abstimmungsgeräte mit verschiedenen Mikrocontrollern wie EVM mit AVR-Mikrocontroller und EVM mit Arduino behandelt. Wir haben auch eine Abstimmungsmaschine gebaut, in der der Wähler durch ein RFID-Tag authentifiziert wird, sodass nur authentifizierte Stimmen gezählt werden können.
Diese elektronische Abstimmungsmaschine mit Raspberry Pi ist im Vergleich zu den Projekten unserer vorherigen Abstimmungsmaschine einfacher und einfacher.
Erforderliche Komponenten:
- Himbeer-Pi - 1
- 16x2 LCD - 1
- Druckknopf - 5
- Brotbrett - 1
- Kabel anschließen
- 1K Widerstand - 1
- 10K Widerstand - 5
- 10K POT - 1
- LED's - 5
Wie es funktioniert:
In diesem Projekt haben wir vier Schaltflächen verwendet, um für vier Kandidaten oder Parteien zu stimmen. Wir können die Anzahl der Kandidaten erhöhen, aber zum besseren Verständnis haben wir hier nur vier verwendet. Wenn ein Wähler eine der vier Tasten drückt, wird die Anzahl der Stimmen für die respektierte Partei oder den Kandidaten jedes Mal um eins erhöht. Gleichzeitig blinkt die LED und der Summer ertönt eine Sekunde lang, um anzuzeigen, dass eine Abstimmung durchgeführt wurde. Nach Abschluss der Abstimmung haben wir eine Schaltfläche "Ergebnis", um die Ergebnisse der Abstimmung anzuzeigen. Wenn wir diese Taste drücken, zeigt der LCD-Bildschirm den Namen der Gewinnerpartei mit der Nr. der Stimmen, die jeder Partei gegeben wurden.
Schaltungserklärung:
Das Schaltbild dieses EVM mit Raspberry Pi ist unten angegeben. Raspberry Pi steuert den gesamten Prozess wie das Lesen der Schaltfläche, das Erhöhen der Stimmenzahl, das Generieren von Ergebnissen und das Anzeigen aller Dinge auf dem LCD.
Hier haben wir die Raspberry Pi 3- Karte verwendet, um alle Vorgänge im Projekt auszuführen, und die WiringPi-Bibliothek zur Auswahl und Steuerung der GPIO-Pins von Raspberry Pi verwendet. Wir können hier auch Raspberry Pi 2 verwenden. Hier haben wir fünf Schaltflächen verwendet, bei denen vier verwendet wurden, um für vier verschiedene Kandidaten / Parteien abzustimmen, und eine Schaltfläche zum Anzeigen des Ergebnisses auf dem LCD verwendet wird. Diese fünf Tasten sind direkt mit den GPIO-Pins 21 bis 25 von RPI3 verbunden, in Bezug auf Masse mit jeweils 10K Pull-Up-Widerstand. Ein 16x2 LCD ist mit Raspberry Pi verbunden. Die Steuerpins RS, RW und En sind mit den GPIO-Pins 11, GND und 10 verbunden. Der Daten-Pin D4-D7 ist mit den GPIO-Pins 6, 5, 4 und 1 des RPI verbunden. Ein Summerwird auch für einen Piepton verwendet, wenn eine der Tasten vom Wähler gedrückt wird. Hier haben wir eine grüne LED (D5) verwendet, um anzuzeigen, dass das System bereit ist und der Wähler seine Stimme in der Maschine abgeben kann, indem er die Taste drückt. Ein 10k Pot wird zur Steuerung der Helligkeit des LCD verwendet.
So führen Sie den Code in Raspberry Pi aus:
1. Melden Sie sich zunächst mit SSH mit dem Standardbenutzernamen 'pi' und dem Kennwort 'raspberry' bei Ihrem Raspberry Pi an. Hier haben wir den SSH-Client "Putty for Windows" verwendet, um über Windows eine Verbindung mit Pi herzustellen. Wenn Sie unter Linux arbeiten, können Sie über SSH eine direkte Verbindung zu Pi herstellen. Im Internet gibt es viele Tutorials zum Thema "Verbindung mit Raspberry Pi über SSH herstellen". Daher gehen wir hier nicht auf die Details ein. Sie sollten auch überprüfen, wie Sie mit Raspberry Pi beginnen, um mehr über Pi, die Installation des Betriebssystems (Raspbian Jessie) und die Hardware- und Softwareanforderungen zu erfahren.
2. Führen Sie nun den folgenden Befehl aus, um eine neue Datei mit dem Namen abstimmen.c zu öffnen und den Code (im folgenden Codeabschnitt angegeben) in die Datei einzufügen. Verwenden Sie die Umschalttaste + Einfügen-Taste, um den Code einzufügen.
Sudo Nano Voting.c
3. Drücken Sie nach dem Schreiben des Codes Strg + x und dann y, um den Code zu speichern, und drücken Sie die Eingabetaste.
4. Machen Sie nun den Code mit dem angegebenen Befehl ausführbar:
cc -o Voting Voting.c -lwiringPi -std = c99
5. Führen Sie den Code abschließend mit dem angegebenen Befehl aus
sudo./voting
Programmiererklärung:
Hier haben wir viel benutzerfreundliche C-Sprache verwendet, um den Code und die Codierung zu schreiben, die der Arduino-Codierung sehr ähnlich sind. Wir können auch die Python-Sprache verwenden, um dieses Projekt zu erstellen.
Zunächst fügen wir Header-Dateien hinzu und definieren Pins für LCD; Die Header-Datei wiringPi.h wird zur Steuerung der GPIO-Pins von Pi verwendet. Initialisieren Sie dann einige Variablen und Pins für die Eingabe von Abstimmungs- und LED-Anzeigen.
#einschließen
Danach haben wir allen verwendeten GPIOs in der Funktion void setup () Anweisungen gegeben.
void setup () {if (wiringPiSetup () == - 1) printf ("ERROR"); pinMode (led1, OUTPUT); pinMode (led2, OUTPUT); pinMode (led3, OUTPUT); pinMode (led4, OUTPUT); pinMode (led5, OUTPUT); pinMode (Buzz, OUTPUT); PinMode (RS, OUTPUT);……………….
Im Code haben wir die Funktion digitalRead in void main () verwendet , um die gedrückte Taste zu lesen.
if (digitalRead (in1) == 0) {vote1 ++; Show(); digitalWrite (led1, HIGH); Summer(); digitalWrite (led1, LOW); warten(); }}
Die Funktion void show () wird verwendet, um Abstimmungsinformationen auf dem LCD mit dem Namen des Kandidaten anzuzeigen.
void show () {setCursor (0,0); Drucken ("BJP Cong AAP Ex"); setCursor (1,1); Sprintf (Abstimmung, "% d", Abstimmung1); drucken (abstimmen); setCursor (6,1); Sprintf (Abstimmung, "% d", Abstimmung2);………………..
Hier sind einige weitere Funktionen, die in diesem Projekt verwendet werden:
Die Funktion void buzzer () wird zum Piepen des Summers verwendet, um anzuzeigen, dass eine Abstimmung erfolgt ist. Und die Funktion wait () für LED D5 (grüne LED in der Hardware) ist ungültig. Dies zeigt an, dass das System zur Abstimmung bereit ist, wenn die LED eingeschaltet wird.
void buzzer () {digitalWrite (Buzz, HIGH); Verzögerung (1000); digitalWrite (Buzz, LOW); } void wait () {digitalWrite (led5, LOW); Verzögerung (3000); }}
Die Funktion void comapare () wird verwendet, um die Gesamtstimmen jedes Kandidaten zu vergleichen, um das Ergebnis zu erhalten und den Status des Ergebnisses auf dem LCD anzuzeigen.
void compare () {clear (); print ("Bitte warten…"); warten(); if (Abstimmung1> Abstimmung2 && Abstimmung1> Abstimmung3 && Abstimmung1> Abstimmung4) {digitalWrite (led1, HIGH); für (i = 0; i <2; i ++) {clear (); setCursor (0,0); print ("Congrates……."); setCursor (0,1); Druck ("BJP Won Wahl");…………………
Überprüfen Sie den vollständigen Code unten.