كلما ذهبنا للتصويت في الانتخابات نأتي لنرى آلات التصويت الإلكترونية. في هذا المشروع ، سنقوم بتصميم وتطوير آلة تصويت بسيطة باستخدام متحكم ATmega32A. على الرغم من أنه يمكننا استخدام وحدة التحكم للحصول على أكثر من 32 شخصًا من آلة التصويت ، إلا أننا سنقوم بإنشاء نظام تصويت بحجم أربعة أشخاص ، ولإبقاء كل شيء بسيطًا ، سيكون لدينا أربعة أزرار لأربعة أشخاص وكلما تم الضغط على الزر ، يذهب التصويت للشخص المقابل وعدد الأصوات التي يحصل عليها كل شخص على شاشة LCD.
المكونات مطلوبة
المعدات:
ATMEGA32
مزود الطاقة (5 فولت)
مبرمج AVR-ISP
JHD_162ALCD (16 × 2 LCD)
100nF مكثف (خمس قطع) ، 100 فائق التوهج مكثف (متصل عبر مزود الطاقة)
زر (خمس قطع) ،
10KΩ المقاوم (خمس قطع).
البرمجيات:
استوديو اتميل 6.1.1
progisp أو فلاش السحر.
مخطط الدائرة وشرح العمل
كما هو موضح في دائرة آلة التصويت الإلكترونية أعلاه ، فإن PORTA الخاص بالمتحكم الدقيق ATMEGA32 متصل بمنفذ بيانات بشاشة 16x2 LCD. هنا يجب على المرء أن يتذكر تعطيل اتصال JTAG في PORTC لـ ATMEGA عن طريق تغيير بايتات الصمامات ، إذا أراد المرء استخدام PORTC كمنفذ اتصال عادي. في شاشة LCD مقاس 16 × 2 ، يوجد 16 دبوسًا في الكل إذا كان هناك ضوء خلفي ، وإذا لم يكن هناك ضوء خلفي ، فسيكون هناك 14 دبوسًا. يمكن للمرء أن يغادر أو يترك دبابيس الضوء الخلفي. يوجد الآن في 14 دبابيس 8 دبابيس بيانات (7-14 أو D0-D7) ، دبابيس إمداد طاقة (1 & 2 أو VSS & VDD أو gnd & + 5v) ، 3 دبوس rd للتحكم في التباين (يتحكم VEE في مدى سماكة الأحرف معروض) ، 3 دبابيس تحكم (RS & RW & E).
في الدائرة ، يمكنك ملاحظة أنني أخذت دبابيس تحكم فقط لأن هذا يمنح المرونة لفهم أفضل. لا يتم استخدام بت التباين والقراءة / الكتابة في كثير من الأحيان حتى يمكن تقصيرها إلى الأرض. هذا يضع LCD في أعلى وضع التباين والقراءة نحتاج فقط إلى التحكم في دبابيس ENABLE و RS لإرسال الأحرف والبيانات وفقًا لذلك.
فيما يلي التوصيلات التي تمت لشاشات الكريستال السائل:
PIN1 أو VSS - الأرض
PIN2 أو VDD أو VCC - + 5 فولت
PIN3 أو VEE - أرضي (يعطي أقصى تباين أفضل للمبتدئين)
PIN4 أو RS (اختيار التسجيل) - PD6 من uC
PIN5 أو RW (قراءة / كتابة) - أرضي (يؤدي وضع شاشة LCD في وضع القراءة إلى تسهيل الاتصال للمستخدم)
PIN6 أو E (تمكين) - PD5 من uC
PIN7 أو D0 - PA0 من uC
PIN8 أو D1 - PA1 من uC
PIN9 أو D2 - PA2 من uC
PIN10 أو D3 - PA3 من uC
PIN11 أو D4 - PA4 من uC
PIN12 أو D5 - PA5 من uC
PIN13 أو D6 - PA6 من uC
PIN14 أو D7 - PA7 من uC
في الدائرة ، يمكنك أن ترى أننا استخدمنا اتصال 8 بت (D0-D7) ولكن هذا ليس إلزاميًا. يمكننا استخدام اتصال 4 بت (D4-D7) ولكن مع برنامج اتصال 4 بت يصبح معقدًا بعض الشيء ، لذلك ذهبت للتو مع اتصال 8 بت.
لذلك من مجرد ملاحظة الجدول أعلاه ، نقوم بتوصيل 10 دبابيس من شاشة LCD بوحدة التحكم ، حيث تكون 8 دبابيس عبارة عن دبابيس بيانات و 2 دبابيس للتحكم. توجد خمسة أزرار هنا ، أربعة منها لزيادة أصوات المرشحين والخامس لإعادة تعيين أصوات المرشح إلى الصفر.
المكثفات الموجودة هنا لإبطال تأثير الارتداد للأزرار. إذا تمت إزالتها ، فقد تعد وحدة التحكم أكثر من واحدة في كل مرة يتم فيها الضغط على الزر. المقاومات المتصلة للدبابيس هي للحد من التيار ، عند الضغط على الزر لسحب الدبوس إلى الأرض.
عندما يتم الضغط على زر ، يتم سحب دبوس وحدة التحكم المقابل لأسفل على الأرض ، وبالتالي تدرك وحدة التحكم أن زرًا معينًا مضغوطًا وأن الإجراء المقابل يجب أن يتم اتخاذه ، فقد يؤدي ذلك إلى زيادة أصوات المرشح أو إعادة تعيين الأصوات اعتمادًا على الضغط على الزر.
عندما يتم الضغط على الزر الذي يمثل الشخص المقابل ، يختاره جهاز التحكم ويزيد رقم الشخص المقابل داخل ذاكرته بعد أن يُظهر درجة الأشخاص المقابلة على شاشة LCD مقاس 16 × 2.
و عمل هذا متحكم آلة التصويت الالكترونية التي تعتمد وأوضح في خطوة خطوة من التعليمات البرمجية C الأسفل،