- Gerekli Bileşenler:
- Nasıl çalışır:
- Devre Açıklaması:
- Raspberry Pi'de Kod nasıl çalıştırılır:
- Programlama Açıklaması:
Raspberry Pi, Elektronik Mühendisleri ve Hobileri için tasarlanmış ARM korteks tabanlı popüler bir geliştirme kartıdır. Çok iyi bir işlem hızı ve belleğe sahip, düşük güçte çalışan tek kartlı bir bilgisayardır. Raspberry Pi, normal bir PC gibi bir seferde farklı işlevleri gerçekleştirmek için kullanılabilir ve bu nedenle avucunuzda Mini Bilgisayar olarak adlandırılır.
Tüm temel bileşenlerle Raspberry Pi'nin Arayüzünü ve başlamak için bazı basit Raspberry Pi projelerini ele aldığımız bir dizi Raspberry Pi Eğitimi oluşturduk.
Burada Raspberry Pi Board kullanarak Elektronik Oylama Makinesi inşa edeceğiz. Seçimlerde basit bir tuşa basarak oy kullanmak için kullanılan Elektronik Oylama Makinesi'nden (EVM) hepimiz haberdarız. AVR mikrodenetleyicili EVM ve Arduino ile EVM gibi farklı Mikrodenetleyicileri kullanan Elektronik Oylama Makinesi'ni zaten ele aldık. Ayrıca, yalnızca onaylanmış oyların sayılabilmesi için Seçmen'in kimlik doğrulamasının RFID etiketiyle yapıldığı bir Oylama Makinesi de oluşturduk.
Raspberry Pi kullanan bu Elektronik Oylama Makinesi, önceki Oylama Makinemizin Projelerine kıyasla daha basit ve kolaydır.
Gerekli Bileşenler:
- Ahududu Pi - 1
- 16x2 LCD - 1
- Basma düğmesi - 5
- Ekmek tahtası - 1
- Bağlantı telleri
- 1K direnç - 1
- 10K direnç - 5
- 10K Tencere - 1
- LED'ler - 5
Nasıl çalışır:
Bu projede, dört aday veya partiye oy vermek için dört düğme kullandık. Aday sayısını artırabiliriz, ancak daha iyi anlamak için burada sadece dört tane kullandık. Bir seçmen dört düğmeden herhangi birine bastığında, saygın parti veya adayın 'oylama sayısı' her seferinde bir artar. Aynı zamanda, Oyun verildiğini belirtmek için LED yanıp söner ve sesli uyarı bir saniye süreyle çalar. Oylama tamamlandıktan sonra, Oylamanın sonuçlarını göstermek için bir "Sonuç" düğmesine sahibiz. Bu düğmeye bastığımızda LCD ekran kazanan Tarafın adını no. Her partiye verilen oy sayısı.
Devre Açıklaması:
Raspberry Pi kullanan bu EVM'nin Devre Şeması aşağıda verilmiştir. Raspberry Pi, Düğmeyi Okumak, oy sayısını artırmak, sonuç üretmek ve her şeyi LCD'de görüntülemek gibi tüm süreci kontrol eder.
Burada projedeki tüm işlemleri gerçekleştirmek için Raspberry Pi 3 kartını ve Raspberry Pi'nin GPIO pinlerini seçmek ve kontrol etmek için wiringPi Library'yi kullandık. Raspberry Pi 2'yi de burada kullanabiliriz. Burada, dört farklı adaya / partiye oy vermek için dördü ve Sonucu LCD'de göstermek için bir düğmenin kullanıldığı Beş Düğmeyi kullandık. Bu beş düğme, her biri için 10K çekme direncine sahip toprağa göre, RPI3'ün 21 ila 25 GPIO pinlerine doğrudan bağlanır. Raspberry Pi ile 16x2 LCD bağlanır. Kontrol pini RS, RW ve En, GPIO pini 11, GND ve 10'a bağlanır. Veri pini D4-D7 ise RPI'nin GPIO pimleri 6, 5, 4 ve 1'e bağlanır. Bir zilayrıca seçmen tarafından herhangi bir düğmeye basıldığında bip sesi için kullanılır. Burada sistemin hazır olduğunu ve seçmenlerin makinede butonuna basarak oy verebileceğini belirtmek için Yeşil LED (D5) kullandık. LCD parlaklığını kontrol etmek için 10k Pot kullanılır.
Raspberry Pi'de Kod nasıl çalıştırılır:
1. Öncelikle, Raspberry Pi'nize SSH kullanarak varsayılan kullanıcı adı: 'pi' ve şifre: 'ahududu' ile Oturum Açın. Burada Pi ile Windows üzerinden bağlantı kurmak için SSH istemcisi "Putty for Windows" u kullandık. Linux'taysanız, SSH kullanarak doğrudan Pi'ye bağlanabilirsiniz. İnternette 'SSH kullanarak Raspberry Pi ile bağlantı kurma' konusunda çok sayıda eğitim var, bu yüzden burada ayrıntılara girmeyeceğiz. Pi, işletim sistemi kurulumu (Raspbian Jessie) ve Donanım ve Yazılım gereksinimleri hakkında daha fazla bilgi edinmek için Raspberry Pi'ye Nasıl Başlanır'ı da kontrol etmelisiniz.
2. Şimdi voting.c adlı yeni bir Dosya açmak için aşağıdaki komutu çalıştırın ve kodu (aşağıdaki kod bölümünde verilmiştir) dosyaya yapıştırın, kodu yapıştırmak için “shift + insert” tuşunu kullanın.
sudo nano voting.c
3. Kodu yazdıktan sonra ctrl + x tuşlarına basın ve ardından kodu kaydetmek için Y tuşuna ve ardından enter tuşuna basın.
4. Şimdi verilen komutu kullanarak kodu çalıştırılabilir yapın:
cc -o voting voting.c -lwiringPi -std = c99
5. Son olarak verilen komutu kullanarak kodu çalıştırın
sudo./voting
Programlama Açıklaması:
Burada, kodu ve kodlamayı Arduino kodlamasına çok benzer şekilde yazmak için çok sayıda kullanıcıya tanıdık C dili kullandık. Bu projeyi oluşturmak için Python dilini de kullanabiliriz.
Öncelikle başlık dosyalarını dahil ediyoruz ve LCD için pinler tanımlıyoruz; wiringPi.h başlık dosyası Pi'nin GPIO pinlerini kontrol etmek için kullanılır. Ardından, oylama girişi ve LED göstergelerini almak için bazı değişkenleri ve pimleri başlatın.
#Dahil etmek
Bundan sonra, void setup () fonksiyonunda kullanılan tüm GPIO'lara yön verdik.
void kurulum () {if (wiringPiSetup () == - 1) printf ("HATA"); pinMode (led1, OUTPUT); pinMode (led2, OUTPUT); pinMode (led3, OUTPUT); pinMode (led4, OUTPUT); pinMode (led5, OUTPUT); pinMode (buzz, OUTPUT); pinMode (RS, OUTPUT);……………….
Kodda , basılan Düğmeyi okumak için void main () içinde digitalRead işlevini kullandık.
if (digitalRead (in1) == 0) {vot1 ++; göstermek(); digitalWrite (led1, YÜKSEK); sesli uyarı (); digitalWrite (led1, DÜŞÜK); Bekle(); }
void show () işlevi, aday partinin Adıyla birlikte LCD'de Oylama bilgilerini görüntülemek için kullanılır.
void show () {setCursor (0,0); baskı ("BJP Cong AAP Ex"); setCursor (1,1); sprintf (oy, "% d", oy1); baskı (oylama); setCursor (6,1); sprintf (oy, "% d", oy2);………………..
İşte bu projede kullanılan diğer bazı işlevler:
void buzzer () fonksiyonu, oylama yapıldığına dair bir gösterge olarak zil sesini çalmak için kullanılır. Ve LED AÇIK olduğunda sistemin Oylamaya hazır olduğunu gösteren LED D5 (donanımda Yeşil LED ) için geçersiz bekleme () işlevi.
void buzzer () {digitalWrite (buzz, HIGH); gecikme (1000); digitalWrite (buzz, DÜŞÜK); } void wait () {digitalWrite (led5, LOW); gecikme (3000); }
Her adayın toplam oylarını karşılaştırmak, sonucu almak ve sonucun durumunu LCD ekranda göstermek için void comapare () işlevi kullanılır.
void Compare () {clear (); print ("Lütfen Bekleyin…."); Bekle(); eğer (oy1> oy2 && oy1> oy3 && oy1> oy4) {digitalWrite (led1, HIGH); için (i = 0; i <2; i ++) {clear (); setCursor (0,0); print ("Tebrikler……."); setCursor (0,1); print ("BJP Kazandı seçim");…………………
Aşağıdaki Tam Kodu kontrol edin.