- Mga Kinakailangan na Bahagi:
- Paano ito gumagana:
- Paliwanag sa Circuit:
- Paano patakbuhin ang Code sa Raspberry Pi:
- Paliwanag sa Programming:
Ang Raspberry Pi ay isang ARM cortex na nakabatay sa tanyag na development board na idinisenyo para sa mga Electronic Engineers at Hobbyist. Ito ay isang solong board computer na nagtatrabaho sa mababang lakas na may napakahusay na bilis at memorya ng pagproseso. Maaaring magamit ang Raspberry Pi para sa pagganap ng iba't ibang mga pag-andar sa isang pagkakataon, tulad ng isang normal na PC, at samakatuwid ay tinatawag itong Mini Computer sa iyong palad.
Lumikha kami ng isang serye ng Mga Tutorial sa Raspberry Pi, kung saan sakop namin ang Interfacing ng Raspberry Pi sa lahat ng mga pangunahing bahagi, pati na rin ang ilang simpleng mga proyekto ng Raspberry Pi upang magsimula.
Dito magtatayo kami ng isang Electronic Voting Machine gamit ang Raspberry Pi Board. Alam nating lahat ang tungkol sa Electronic Voting Machine (EVM) na ginagamit upang bumoto sa Halalan, sa pamamagitan ng pagpindot sa isang simpleng pindutan. Natakpan na namin ang Electronic Voting Machine na gumagamit ng iba't ibang Microcontrollers tulad ng EVM na may AVR microcontroller at EVM sa Arduino. Nakagawa rin kami ng isang Voting Machine kung saan ang Voter ay napatunayan ng tag na RFID, upang ang mga napatunayan na boto lamang ang mabibilang.
Ang Electronic Voting Machine na ito na gumagamit ng Raspberry Pi ay mas simple at madali, kung ihahambing sa mga nakaraang Proyekto ng Voting Machine.
Mga Kinakailangan na Bahagi:
- Raspberry Pi - 1
- 16x2 LCD - 1
- Button ng push - 5
- Bread board - 1
- Mga kumokonekta na mga wire
- 1K risistor - 1
- 10K risistor - 5
- 10K POT - 1
- LED's - 5
Paano ito gumagana:
Sa proyektong ito, gumamit kami ng apat na mga pindutan upang bumoto para sa apat na mga kandidato o partido. Maaari nating madagdagan ang bilang ng mga kandidato, ngunit para sa mas mahusay na pag-unawa ginamit lamang namin ang apat dito. Kapag pinindot ng isang botante ang alinman sa apat na mga pindutan kung gayon ang 'bilang ng pagboto' para sa iginagalang na partido o kandidato, ay nadagdagan ng isa sa bawat oras. Sa parehong oras LED blinks at buzzer beep para sa isang segundo, upang ipahiwatig na ang Boto ay ibinigay. Matapos makumpleto ang Pagboto, mayroon kaming isang pindutan na "Resulta", upang maipakita ang mga resulta ng Pagboto. Kapag pinindot namin ang button na ito, ipinapakita ng LCD screen ang pangalan ng nanalong Party na may no. ng mga boto na ibinibigay sa bawat partido.
Paliwanag sa Circuit:
Ang Circuit Diagram ng EVM na ito gamit ang Raspberry Pi ay ibinibigay sa ibaba. Kinokontrol ng Raspberry Pi ang buong proseso tulad ng Pagbasa ng Button, na nagdaragdag ng bilang ng boto, bumubuo ng resulta at ipinapakita ang lahat ng mga bagay sa LCD.
Ginamit namin dito ang Raspberry Pi 3 board upang maisagawa ang lahat ng mga pagpapatakbo sa proyekto at ginamit ang wiringPi Library para sa pagpili at pagkontrol sa mga GPIO pin ng Raspberry Pi. Maaari din naming gamitin ang Raspberry Pi 2 dito. Ginamit namin dito ang Limang Mga Pindutan, kung saan ang apat ay ginamit upang Bumoto para sa apat na magkakaibang mga kandidato / partido at isang pindutan ang ginagamit para sa pagpapakita ng Resulta sa LCD. Ang limang mga pindutan na ito ay direktang konektado sa GPIO pin 21 hanggang 25 ng RPI3, na may paggalang sa lupa na may 10K pull-up risistor para sa bawat isa. Ang isang 16x2 LCD ay konektado sa Raspberry Pi. Ang control pin RS, RW at En ay konektado sa GPIO pin 11, GND at 10. At ang data pin na D4-D7 ay konektado sa GPIO pin 6, 5, 4 at 1 ng RPI. Isang buzzeray ginagamit din para sa beep kapag ang alinman sa mga pindutan ay pinindot ng botante. Ginamit namin dito ang isang Green LED (D5) para sa pagpapahiwatig na handa na ang system at maaaring isumite ng botante ang kanilang boto sa makina, sa pamamagitan ng pagpindot sa pindutan. Ang isang 10k Palayok ay ginagamit para sa pagkontrol ng liwanag ng LCD.
Paano patakbuhin ang Code sa Raspberry Pi:
1. Una, Mag-login Sa iyong Raspberry Pi gamit ang SSH na may default na pangalan ng gumagamit: 'pi' at password: 'raspberry'. Dito namin ginamit ang SSH client na "Putty for Windows" para sa pagkonekta sa Pi sa pamamagitan ng Windows. Kung nasa Linux ka, maaari kang direktang kumonekta sa Pi gamit ang SSH. Maraming tutorial sa Internet tungkol sa 'Pagkonekta sa Raspberry Pi gamit ang SSH', kaya narito hindi namin bibigyan ang mga detalye. Dapat mo ring suriin Paano magsimula sa Raspberry Pi upang malaman ang higit pa tungkol sa Pi, pag-install ng OS (Raspbian Jessie) at ang mga kinakailangan sa Hardware at Software.
2. Ngayon patakbuhin ang utos sa ibaba upang buksan ang isang bagong File na pinangalanang voting.c at i-paste ang code (ibinigay sa seksyon ng code sa ibaba) sa file, gamitin ang "shift + insert" key upang i-paste ang code.
sudo nano pagboto.c
3. Matapos isulat ang code pindutin ang ctrl + x at pagkatapos ay pindutin ang y upang i- save ang code at pindutin ang enter.
4. Ngayon ay isagawa ang code gamit ang ibinigay na utos:
cc -o pagboto sa pagboto.c -lwiringPi -std = c99
5. Panghuli patakbuhin ang code sa pamamagitan ng paggamit ng ibinigay na utos
sudo./voting
Paliwanag sa Programming:
Dito nagamit namin ang pamilyar na wika ng C na gumagamit upang isulat ang code at ang pag-coding na katulad sa Arduino coding. Maaari din naming magamit ang wika ng Python upang mabuo ang proyektong ito.
Una sa lahat isinasama namin ang mga file ng header at tinutukoy ang mga pin para sa LCD; Ang file ng header ng kabelPi.h ay ginagamit para sa pagkontrol sa mga GPIO pin ng Pi. Pagkatapos ay simulan ang ilang mga variable at pin para sa pagkuha ng pag-input ng pagboto at mga pahiwatig ng LED.
# isama
Pagkatapos nito, nagbigay kami ng direksyon sa lahat ng ginamit na GPIO sa walang bisa na pag-andar () na pag-andar .
walang bisa ang pag-setup () {kung (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);……………….
Sa code, ginamit namin ang pagpapaandar ng digitalRead sa void main () upang basahin ang Pindutan na pinindot.
kung (digitalRead (in1) == 0) {vote1 ++; ipakita (); digitalWrite (led1, TAAS); buzzer (); digitalWrite (led1, LOW); maghintay (); }
ang function na void show () ay ginagamit para sa pagpapakita ng impormasyon ng Pagboto sa LCD na may Pangalan ng partido ng kandidato.
walang bisa na palabas () {setCursor (0,0); i-print ("BJP Cong AAP Ex"); setCursor (1,1); sprintf (pagboto, "% d", vote1); i-print (bumoto); setCursor (6,1); sprintf (boto, "% d", vote2);………………..
Narito ang ilang higit pang mga pagpapaandar na ginamit sa proyektong ito:
void buzzer () fuction ay ginagamit para sa pag-beep ng buzzer bilang isang indicaion na ibinigay ang boto. At walang bisa ang paghihintay () na fuction para sa LED D5 (Green LED sa hardware), na nagpapakita na handa na ang system para sa Vote, kapag naka-ON ang LED.
void buzzer () {digitalWrite (buzz, HIGH); pagkaantala (1000); digitalWrite (buzz, LOW); } walang bisa na paghihintay () {digitalWrite (led5, LOW); pagkaantala (3000); }
void comapare () function ay ginagamit, upang ihambing ang kabuuang mga boto ng bawat isa sa mga kandidato, para sa pagkuha ng resulta at ipakita ang katayuan ng resulta sa LCD.
walang bisa ang ihambing () {clear (); i-print ("Mangyaring Maghintay…."); maghintay (); kung (vote1> vote2 && vote1> vote3 && vote1> vote4) {digitalWrite (led1, HIGH); para sa (i = 0; i <2; i ++) {clear (); setCursor (0,0); i-print ("Congrates……."); setCursor (0,1); print ("BJP Won election");…………………
Suriin ang Buong Code sa ibaba.