- Komponen yang diperlukan:
- Bagaimana ia berfungsi:
- Penjelasan Litar:
- Cara menjalankan Kod di Raspberry Pi:
- Penjelasan Pengaturcaraan:
Raspberry Pi adalah papan pengembangan popular berasaskan korteks ARM yang direka untuk Jurutera Elektronik dan Hobi. Ini adalah komputer papan tunggal yang berfungsi dengan kuasa rendah dengan kelajuan dan memori pemprosesan yang sangat baik. Raspberry Pi dapat digunakan untuk melakukan fungsi yang berbeda pada satu waktu, seperti PC biasa, dan oleh itu ia disebut Mini Computer di telapak tangan anda.
Kami telah membuat satu siri Tutorial Raspberry Pi, di mana kami telah merangkumi Interfacing Raspberry Pi dengan semua komponen asas, serta beberapa projek Raspberry Pi sederhana untuk bermula.
Di sini kita akan membina Mesin Pengundian Elektronik menggunakan Raspberry Pi Board. Kita semua mengetahui tentang Mesin Pengundian Elektronik (EVM) yang digunakan untuk memilih dalam Pilihan Raya, dengan menekan butang sederhana. Kami telah merangkumi Mesin Pengundian Elektronik menggunakan Mikrokontroler yang berbeza seperti EVM dengan mikrokontroler AVR dan EVM dengan Arduino. Kami juga telah membina Mesin Pengundian di mana Pemilih disahkan oleh tag RFID, sehingga hanya suara yang disahkan dapat dikira.
Mesin Pengundian Elektronik ini menggunakan Raspberry Pi lebih mudah dan senang, berbanding dengan Projek Mesin Pengundian kami sebelumnya.
Komponen yang diperlukan:
- Raspberry Pi - 1
- LCD 16x2 - 1
- Butang tekan - 5
- Papan roti - 1
- Menyambung wayar
- Perintang 1K - 1
- Perintang 10K - 5
- 10K POT - 1
- LED - 5
Bagaimana ia berfungsi:
Dalam projek ini kami telah menggunakan empat butang untuk memilih empat calon atau parti. Kami dapat meningkatkan jumlah calon, tetapi untuk pemahaman yang lebih baik, kami hanya menggunakan empat di sini. Apabila pengundi menekan salah satu daripada empat butang maka 'jumlah pengundian' untuk parti atau calon yang dihormati, akan meningkat satu kali setiap kali. Pada masa yang sama LED berkedip dan bip buzzer sebentar, untuk menunjukkan bahawa Undi telah diberikan. Setelah Pengundian selesai, kami mempunyai butang "Hasil", untuk menunjukkan hasil Pengundian. Semasa kami menekan butang ini, layar LCD menunjukkan nama Parti yang menang dengan no. undi yang diberikan kepada setiap parti.
Penjelasan Litar:
Litar Diagram EVM ini menggunakan Raspberry Pi diberikan di bawah. Raspberry Pi mengawal keseluruhan proses seperti Membaca Butang, meningkatkan jumlah undian, menghasilkan hasil dan memaparkan semua perkara di LCD.
Di sini kami telah menggunakan papan Raspberry Pi 3 untuk melakukan semua operasi dalam projek dan menggunakan Perpustakaan wiringPi untuk memilih dan mengendalikan pin GPIO Raspberry Pi. Kami juga boleh menggunakan Raspberry Pi 2 di sini. Di sini kami telah menggunakan Lima Butang, di mana empat telah digunakan untuk Mengundi untuk empat calon / parti yang berbeza dan satu butang digunakan untuk menunjukkan Hasil pada LCD. Lima butang ini disambungkan secara langsung ke pin GPIO 21 hingga 25 dari RPI3, berkaitan dengan tanah dengan perintang tarik 10K untuk setiap satu. LCD 16x2 disambungkan dengan Raspberry Pi. Pin kawalan RS, RW dan En disambungkan ke GPIO pin 11, GND dan 10. Dan pin data D4-D7 disambungkan ke pin GPIO 6, 5, 4 dan 1 dari RPI. A buzzerjuga digunakan untuk bunyi bip apabila mana-mana butang ditekan oleh pemilih. Di sini kami telah menggunakan LED Hijau (D5) untuk menunjukkan bahawa sistem sudah siap dan pemilih dapat mengirimkan suara mereka di mesin, dengan menekan butang. Pot 10k digunakan untuk mengawal kecerahan LCD.
Cara menjalankan Kod di Raspberry Pi:
1. Pertama, Log masuk ke Raspberry Pi anda menggunakan SSH dengan nama pengguna lalai: 'pi' dan kata laluan: 'raspberry'. Di sini kami telah menggunakan klien SSH "Putty for Windows" untuk berhubung dengan Pi melalui Windows. Sekiranya anda menggunakan Linux, anda boleh terus menyambung ke Pi menggunakan SSH. Terdapat banyak tutorial di Internet mengenai 'Mendapatkan hubungan dengan Raspberry Pi menggunakan SSH', jadi di sini kita tidak akan menjelaskan secara terperinci. Anda juga harus memeriksa Cara memulakan dengan Raspberry Pi untuk mengetahui lebih lanjut mengenai Pi, pemasangan OS (Raspbian Jessie) dan keperluan Perkakasan dan Perisiannya.
2. Sekarang jalankan perintah di bawah ini untuk membuka File baru bernama voting.c dan tampal kod (diberikan dalam bahagian kod di bawah) ke dalam file, gunakan "shift + insert" kunci untuk menempelkan kod tersebut.
sudo nano voting.c
3. Setelah menulis kod tekan ctrl + x dan kemudian tekan y untuk menyimpan kod tersebut dan tekan enter.
4. Sekarang buat kod yang boleh dilaksanakan menggunakan arahan yang diberikan:
cc -o pengundian pengundian.c -lwiringPi -std = c99
5. Akhirnya jalankan kod dengan menggunakan arahan yang diberikan
sudo./pungutan suara
Penjelasan Pengaturcaraan:
Di sini kami telah menggunakan banyak bahasa C yang biasa digunakan pengguna untuk menulis kod dan pengkodannya serupa dengan pengekodan Arduino. Kita juga boleh menggunakan bahasa Python untuk membina projek ini.
Pertama sekali kami menyertakan fail header dan menentukan pin untuk LCD; fail header wiringPi.h digunakan untuk mengawal pin GPIO Pi. Kemudian mulakan beberapa pemboleh ubah dan pin untuk mengambil input suara dan petunjuk LED.
#sertakan
Setelah itu, kami telah memberikan arahan kepada semua fungsi GPIO yang digunakan dalam penyediaan void () .
batal persediaan () {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);…………..
Dalam kod, kami telah menggunakan fungsi digitalRead dalam kekosongan utama () untuk membaca Butang yang ditekan.
if (digitalRead (in1) == 0) {vote1 ++; tunjuk (); digitalWrite (led1, TINGGI); buzzer (); digitalWrite (led1, RENDAH); tunggu (); }
fungsi void show () digunakan untuk memaparkan maklumat Mengundi pada LCD dengan Nama calon calon.
persembahan batal () {setCursor (0,0); cetak ("BJP Cong AAP Ex"); setCursor (1,1); sprintf (undi, "% d", undi1); cetak (undi); setCursor (6,1); sprintf (undi, "% d", suara2);………………..
Berikut adalah beberapa fungsi yang digunakan dalam projek ini:
void buzzer () fuction digunakan untuk membunyikan buzzer sebagai petunjuk bahawa suara telah diberikan. Dan batal tunggu () fuction untuk LED D5 (LED Hijau dalam perkakasan), yang menunjukkan bahawa sistem sudah siap untuk Undi, apabila LED dihidupkan.
buzzer kosong () {digitalWrite (buzz, TINGGI); kelewatan (1000); digitalWrite (buzz, RENDAH); } batal tunggu () {digitalWrite (led5, LOW); kelewatan (3000); }
fungsi comoid void () digunakan, untuk membandingkan jumlah undian setiap calon, untuk mendapatkan keputusan dan menunjukkan status keputusan pada LCD.
batal banding () {jelas (); cetak ("Tolong Tunggu…."); tunggu (); jika (vote1> vote2 && vote1> vote3 && vote1> vote4) {digitalWrite (led1, TINGGI); untuk (i = 0; i <2; i ++) {jelas (); setCursor (0,0); cetak ("Selamat……."); setCursor (0,1); cetak ("BJP Menang pilihan raya");…………………
Lihat Kod Penuh di bawah.