Ne zaman seçimlere oy vermeye gidersek, elektronik oylama makinelerini görmeye geliyoruz. Bu projede ATmega32A mikrodenetleyicisini kullanarak basit bir oylama makinesi tasarlayıp geliştireceğiz. Denetleyiciyi 32 kişiden fazla oylama makinesi elde etmek için kullanabilsek de, her şeyi basit tutmak için dört kişilik bir oylama sistemi yapacağız. 4 kişi için dört düğmemiz olacak ve bir düğmeye her basıldığında Oy, ilgili kişiye verilir ve her kişinin aldığı oy sayısı LCD'de gösterilir.
Gerekli Bileşenler
Donanım:
ATMEGA32
Güç kaynağı (5v)
AVR-ISP PROGRAMLAYICI
JHD_162ALCD (16x2 LCD)
100nF kapasitör (beş adet), 100 uF kapasitör (güç kaynağına bağlı)
düğme (beş adet), 10KΩ direnç (beş adet).
Yazılım:
Atmel stüdyo 6.1
progisp veya flaş büyü.
Devre Şeması ve Çalışma Açıklaması
Yukarıdaki elektronik oylama makinesi devresinde gösterildiği gibi, ATMEGA32 mikrodenetleyicinin PORTA'sı 16x2 LCD veri portuna bağlanır. Burada, eğer biri PORTC'yi normal bir iletişim portu olarak kullanmak istiyorsa, sigorta baytlarını değiştirerek ATMEGA'nın PORTC'sindeki JTAG iletişimini devre dışı bırakmayı unutmamalıdır. 16x2 LCD'de arka ışık varsa 16 pim, arka ışık yoksa 14 pim vardır. Arka ışık pimlerine güç verebilir veya bırakabilirsiniz. Şimdi 14 pimde 8 veri pini (7-14 veya D0-D7), 2 güç kaynağı pini (1 ve 2 veya VSS ve VDD veya gnd ve + 5v), kontrast kontrolü için 3. pin (VEE-karakterlerin ne kadar kalın olması gerektiğini kontrol eder) gösterilen), 3 kontrol pini (RS & RW & E).
Devrede, sadece iki kontrol pini aldığımı gözlemleyebilirsiniz çünkü bu daha iyi anlama esnekliği sağlar. Kontrast biti ve READ / WRITE sık kullanılmadığından toprağa kısa devre yapılabilir. Bu, LCD'yi en yüksek kontrast ve okuma moduna getirir. Karakterleri ve verileri buna göre göndermek için sadece ENABLE ve RS pinlerini kontrol etmemiz gerekiyor.
LCD için yapılan bağlantılar aşağıda verilmiştir:
PIN1 veya VSS - toprak
PIN2 veya VDD veya VCC - + 5v güç
PIN3 veya VEE - zemin (yeni başlayanlar için en iyi maksimum kontrastı verir)
PIN4 veya RS (Kayıt Seçimi) - uC'nin PD6'sı
PIN5 veya RW (Okuma / Yazma) - zemin (LCD'yi okuma moduna getirir, kullanıcı için iletişimi kolaylaştırır)
PIN6 veya E (Etkinleştir) - PD5 / uC
UC'nin PIN7 veya D0 - PA0'ı
PIN8 veya D1 - PA1 / uC
PIN9 veya D2 - PA2 / uC
UC'nin PIN10 veya D3 - PA3'ü
UC'nin PIN11 veya D4 - PA4'ü
UC'nin PIN12 veya D5 - PA5'i
UC'nin PIN13 veya D6 - PA6
UC'nin PIN14 veya D7-- PA7'si
Devrede 8 bit haberleşme (D0-D7) kullandığımızı görebilirsiniz ancak bu zorunlu değildir. 4 bit iletişimi (D4-D7) kullanabiliriz ancak 4 bit iletişim programı ile biraz karmaşık hale gelir, bu yüzden 8 bit iletişimle gittim.
Bu nedenle, yukarıdaki tablonun sadece gözleminden, 10 pin LCD'yi 8 pinin veri pini ve kontrol için 2 pini olan denetleyiciye bağlıyoruz. Burada beş düğme var, dördü adayların oylarını artırmak için ve beşincisi adayın oylarını sıfırlamak içindir.
Burada bulunan kapasitörler, düğmelerin sıçrama etkisini geçersiz kılmak içindir. Çıkarılırlarsa, düğmeye her basıldığında denetleyici birden fazla sayabilir. Pimler için bağlanan dirençler, pimi yere çekmek için düğmeye basıldığında akımı sınırlamak içindir.
Bir düğmeye her basıldığında, denetleyicinin ilgili pimi yere çekilir ve böylece denetleyici, belirli bir düğmeye basıldığını ve buna karşılık gelen eylemin yapılacağını fark eder, basılan düğmeye bağlı olarak aday oyları artırabilir veya oyları sıfırlayabilir.
Karşılık gelen bir kişiyi temsil eden düğmeye basıldığında, kontrolör onu seçer ve arttıktan sonra belleğindeki karşılık gelen kişi numarasını artırır, 16x2 LCD ekranda karşılık gelen kişi puanını gösterir.
Tabanlı elektronik oylama makinesi bu mikro çalışma altında Cı kod adım adım olarak açıklanmaktadır,