- Wymagane komponenty:
- Jak to działa:
- Objaśnienie obwodu:
- Jak uruchomić kod w Raspberry Pi:
- Objaśnienie programowania:
Raspberry Pi to popularna płyta rozwojowa oparta na architekturze ARM, zaprojektowana dla inżynierów elektroników i hobbystów. Jest to komputer jednopłytkowy pracujący na niskim poborze mocy z bardzo dobrą szybkością przetwarzania i bardzo dobrą pamięcią. Raspberry Pi może być używany do wykonywania różnych funkcji jednocześnie, jak zwykły komputer, dlatego nazywa się to Mini Computer w dłoni.
Stworzyliśmy serię samouczków Raspberry Pi, w których omówiliśmy Łączenie Raspberry Pi ze wszystkimi podstawowymi komponentami, a także kilka prostych projektów Raspberry Pi na początek.
Tutaj zamierzamy zbudować elektroniczną maszynę do głosowania przy użyciu płytki Raspberry Pi. Wszyscy wiemy o elektronicznej maszynie do głosowania (EVM), która służy do głosowania w wyborach, po naciśnięciu prostego przycisku. Omówiliśmy już Elektroniczną maszynę do głosowania przy użyciu różnych mikrokontrolerów, takich jak EVM z mikrokontrolerem AVR i EVM z Arduino. Zbudowaliśmy również maszynę do głosowania, w której Wyborca jest uwierzytelniany za pomocą tagu RFID, dzięki czemu można liczyć tylko uwierzytelnione głosy.
Ta elektroniczna maszyna do głosowania korzystająca z Raspberry Pi jest prostsza i łatwiejsza w porównaniu z naszymi poprzednimi projektami maszyn do głosowania.
Wymagane komponenty:
- Raspberry Pi - 1
- LCD 16x2 - 1
- Przycisk - 5
- Deska do chleba - 1
- Przewody łączące
- Rezystor 1K - 1
- Rezystor 10K - 5
- 10K POT - 1
- Diody LED - 5
Jak to działa:
W tym projekcie wykorzystaliśmy cztery przyciski do głosowania na czterech kandydatów lub partie. Możemy zwiększyć liczbę kandydatów, ale dla lepszego zrozumienia wykorzystaliśmy tutaj tylko czterech. Kiedy wyborca naciska którykolwiek z czterech przycisków, wówczas „liczba głosów” na szanowaną partię lub kandydata jest każdorazowo zwiększana o jeden. W tym samym czasie dioda LED miga i brzęczyk wydaje dźwięk przez sekundę, wskazując, że głosowanie zostało oddane. Po zakończeniu głosowania mamy przycisk „Wynik”, który pokazuje wyniki głosowania. Po naciśnięciu tego przycisku na ekranie LCD pojawi się nazwa zwycięskiej Partii z numerem. głosów oddanych na każdą ze stron.
Objaśnienie obwodu:
Schemat obwodu tego EVM z Raspberry Pi jest podany poniżej. Raspberry Pi kontroluje cały proces, taki jak czytanie przycisku, zwiększanie liczby głosów, generowanie wyniku i wyświetlanie wszystkich rzeczy na wyświetlaczu LCD.
Tutaj użyliśmy płytki Raspberry Pi 3 do wykonania wszystkich operacji w projekcie i wykorzystaliśmy bibliotekę WirePi do wyboru i sterowania pinami GPIO Raspberry Pi. Możemy tu również skorzystać z Raspberry Pi 2. Tutaj użyliśmy pięciu przycisków, w których cztery zostały użyte do głosowania na czterech różnych kandydatów / partie, a jeden przycisk służy do wyświetlenia wyniku na wyświetlaczu LCD. Te pięć przycisków jest bezpośrednio podłączonych do pinów GPIO 21 do 25 RPI3, względem masy, z rezystorem podciągającym 10K dla każdego z nich. Wyświetlacz LCD 16x2 jest połączony z Raspberry Pi. Piny sterujące RS, RW i En są podłączone do pinów 11 GPIO, GND i 10. Piny danych D4-D7 są podłączone do pinów GPIO 6, 5, 4 i 1 RPI. brzęczyksłuży również do sygnalizowania dźwiękiem, gdy którykolwiek z przycisków zostanie naciśnięty przez wyborcę. Tutaj użyliśmy zielonej diody LED (D5) do wskazania, że system jest gotowy, a wyborcy mogą oddać swój głos w maszynie, naciskając przycisk. Potencjometr 10k służy do kontrolowania jasności wyświetlacza LCD.
Jak uruchomić kod w Raspberry Pi:
1. Najpierw zaloguj się do swojego Raspberry Pi używając SSH z domyślną nazwą użytkownika: „pi” i hasłem: „raspberry”. Tutaj użyliśmy klienta SSH „Putty for Windows” do połączenia się z Pi przez Windows. Jeśli korzystasz z Linuksa, możesz bezpośrednio połączyć się z Pi za pomocą SSH. W Internecie jest wiele tutoriali na temat „Łączenie się z Raspberry Pi przy użyciu SSH”, więc tutaj nie będziemy wchodzić w szczegóły. Powinieneś także sprawdzić Jak zacząć z Raspberry Pi, aby dowiedzieć się więcej o Pi, instalacji systemu operacyjnego (Raspbian Jessie) oraz jego wymaganiach sprzętowych i programowych.
2. Teraz uruchom poniższe polecenie, aby otworzyć nowy plik o nazwie voting.c i wklej kod (podany w sekcji kodu poniżej) do pliku, użyj klawisza „shift + insert”, aby wkleić kod.
głosowanie sudo nano. c
3. Po wpisaniu kodu naciśnij ctrl + x, a następnie y, aby zapisać kod i naciśnij enter.
4. Teraz spraw, aby kod był wykonywalny za pomocą podanego polecenia:
cc -o voting voting.c -lwiringPi -std = c99
5. Na koniec uruchom kod za pomocą podanego polecenia
sudo./voting
Objaśnienie programowania:
Tutaj użyliśmy dobrze znanego użytkownikowi języka C do napisania kodu i kodowania bardzo podobnego do kodowania Arduino. Do zbudowania tego projektu możemy również użyć języka Python.
Przede wszystkim dołączamy pliki nagłówkowe i definiujemy piny dla LCD; Do sterowania pinami GPIO Pi jest używany plik nagłówkowy wirePi.h. Następnie zainicjalizuj niektóre zmienne i szpilki do pobierania wejścia do głosowania i wskazań diod LED.
#zawierać
Następnie daliśmy kierunek wszystkim używanym GPIO w funkcji void setup () .
void setup () {if (okablowaniePiSetup () == - 1) printf ("BŁĄD"); pinMode (led1, WYJŚCIE); pinMode (led2, WYJŚCIE); pinMode (led3, WYJŚCIE); pinMode (led4, WYJŚCIE); pinMode (led5, WYJŚCIE); pinMode (buzz, OUTPUT); pinMode (RS, OUTPUT);……………….
W kodzie użyliśmy funkcji digitalRead w void main () do odczytania naciśniętego przycisku.
if (digitalRead (in1) == 0) {głos1 ++; pokazać(); digitalWrite (led1, HIGH); brzęczyk(); digitalWrite (led1, LOW); czekać(); }
Funkcja void show () służy do wyświetlania informacji o głosowaniu na wyświetlaczu LCD wraz z nazwą kandydata.
void show () {setCursor (0,0); print ("BJP Cong AAP Ex"); setCursor (1,1); sprintf (głosuj, "% d", głosuj1); drukuj (głosuj); setCursor (6,1); sprintf (głosuj, "% d", głosuj2);………………..
Oto kilka innych funkcji używanych w tym projekcie:
Funkcja void buzzer () służy do sygnalizowania dźwiękiem brzęczyka jako wskazania, że głos został oddany. I funkcja void wait () dla diody LED D5 (zielona dioda LED w sprzęcie), która pokazuje, że system jest gotowy do głosowania, gdy dioda LED jest włączona.
void buzzer () {digitalWrite (buzz, HIGH); opóźnienie (1000); digitalWrite (buzz, LOW); } void wait () {digitalWrite (led5, LOW); opóźnienie (3000); }
Funkcja void comapare () służy do porównywania całkowitej liczby głosów każdego z kandydatów w celu uzyskania wyniku i pokazania statusu wyniku na LCD.
nieważne porównaj () {wyczyść (); print ("Proszę czekać…."); czekać(); if (głos1> głos2 && głos1> głos3 && głos1> głos4) {digitalWrite (led1, HIGH); for (i = 0; i <2; i ++) {clear (); setCursor (0,0); print ("Gratulacje……."); setCursor (0,1); print ("Wygrane wybory BJP");…………………
Sprawdź pełny kod poniżej.