جب بھی ہم انتخابات میں ووٹ ڈالنے جاتے ہیں تو ہم الیکٹرانک ووٹنگ مشینیں دیکھنے آتے ہیں۔ اس پروجیکٹ میں ہم اے ٹی میگا 32 اے مائکروکنٹرولر کا استعمال کرکے ایک سادہ ووٹنگ مشین ڈیزائن اور تیار کرنے جارہے ہیں ۔ اگرچہ ہم کنٹرولر کا استعمال 32 سے زیادہ افراد کو ووٹنگ مشین حاصل کرنے کے ل can کرسکتے ہیں ، ہر چیز کو آسان رکھنے کے ل we ہم چار افراد کے سائز کے لئے ووٹنگ کا نظام بنائیں گے۔ ہمارے پاس چار افراد کے ل four چار بٹن ہوں گے اور جب بھی ایک بٹن دب جائے گا تو ، ووٹ اسی شخص کو دیتا ہے اور ایل سی ڈی پر ہر فرد کو دکھائے جانے والے ووٹوں کی تعداد۔
ضروری اجزاء
ہارڈ ویئر:
ATMEGA32
بجلی کی فراہمی (5v)
AVR-ISP پروگرامر
JHD_162ALCD (16x2 LCD)
100nF کاپاکیٹر (پانچ ٹکڑے ٹکڑے) ، 100uF کاپاکیسیٹر (بجلی کی فراہمی میں متصل)
بٹن (پانچ ٹکڑے ٹکڑے)،
10KΩ ریزٹر (پانچ ٹکڑے)۔
سافٹ ویئر:
اٹیل اسٹوڈیو 6.1
ترقی یا فلیش جادو.
سرکٹ ڈایاگرام اور ورکنگ وضاحت
جیسا کہ مذکورہ الیکٹرانک ووٹنگ مشین سرکٹ میں دکھایا گیا ہے ، اے ٹی ایم ای جی اے 32 مائکروکونٹرولر کا پورٹا 16x2 LCD کے ڈیٹا پورٹ سے منسلک ہے۔ یہاں کسی کو فیوج بائٹس کو تبدیل کرکے اے ٹی ایم ای جی اے کے پی او آر ٹی سی میں جے ٹی مواصلات کو غیر فعال کرنا یاد رکھنا چاہئے ، اگر کوئی پی او آر ٹی سی کو عام مواصلات کی بندرگاہ کے طور پر استعمال کرنا چاہتا ہے۔ 16x2 LCD میں ، اگر پیچھے کی روشنی ہے تو وہاں 16 پن ہیں ، اگر پیچھے کی روشنی نہیں ہے تو 14 پن ہوں گے۔ کوئی بیک لائٹ پنوں کو طاقت یا چھوڑ سکتا ہے۔ ابھی 14 پنوں میں 8 ڈیٹا پنز (7-14 یا D0-D7)، 2 بجلی کی فراہمی پنوں سے ہیں (1 & 2 یا VSS & VDD یا GND & + 5V)، 3 RD برعکس کنٹرول کے لئے پن (VEE کنٹرولز کس طرح موٹی حروف ہونا چاہیے دکھایا گیا ہے) ، 3 کنٹرول پن (RS & RW & E)
سرکٹ میں ، آپ مشاہدہ کر سکتے ہیں کہ میں نے صرف دو کنٹرول پین لئے ہیں کیونکہ اس سے بہتر تفہیم کی لچک مل جاتی ہے۔ اس کے برعکس تھوڑا سا اور READ / WRITE اکثر استعمال نہیں ہوتے ہیں لہذا ان کو زمین پر چھوٹا جاسکتا ہے۔ یہ ایل سی ڈی کو سب سے زیادہ برعکس اور پڑھنے کے موڈ میں رکھتا ہے۔ ہمیں حرف اور ڈیٹا بھیجنے کے لئے صرف انبل اور آر ایس پنوں کو کنٹرول کرنے کی ضرورت ہے۔
کنیکشن جو ایل سی ڈی کے لئے کیے جاتے ہیں وہ ذیل میں دیئے گئے ہیں۔
PIN1 یا VSS - گراؤنڈ
پن 2 یا وی ڈی ڈی یا وی سی سی۔ + 5 وی پاور
PIN3 یا VEE - گراؤنڈ (ایک ابتدائی کے لئے زیادہ سے زیادہ اس کے برعکس بہترین دیتا ہے)
پن 4 یا آر ایس (رجسٹر سلیکشن) - یو سی کا PD6
پن 5 یا آر ڈبلیو (پڑھیں / لکھیں) - گراؤنڈ (ایل سی ڈی کو پڑھنے کے موڈ میں رکھتا ہے جس سے صارف کے لئے مواصلات آسان ہوجاتے ہیں)
پن 6 یا ای (قابل بنائیں) - یو سی کا PD5
PIN7 یا D0 - UC کا PA0
PIN8 یا D1 - UC کا PA1
PIN9 یا D2 - UC کا PA2
PIN10 یا D3 - UC کا PA3
PIN11 یا D4 - UC کا PA4
PIN12 یا D5 - UC کا PA5
PIN13 یا D6 - UC کا PA6
PIN14 یا U7 کا D7-- PA7
سرکٹ میں آپ دیکھ سکتے ہیں کہ ہم نے 8 بٹ مواصلات (D0-D7) استعمال کیے ہیں تاہم یہ لازمی نہیں ہے۔ ہم 4 بٹ مواصلات (D4-D7) استعمال کرسکتے ہیں لیکن 4 بٹ مواصلت پروگرام تھوڑا پیچیدہ ہو جاتا ہے لہذا میں صرف 8 بٹ مواصلات کے ساتھ چلا گیا۔
لہذا مندرجہ بالا جدول کے محض مشاہدے سے ہم ایل سی ڈی کے 10 پنوں کو کنٹرولر سے جوڑ رہے ہیں جس میں 8 پنوں کو ڈیٹا پن اور کنٹرول کے لئے 2 پن ہیں۔ یہاں پانچ بٹن موجود ہیں ، چار امیدواروں کے ووٹوں میں اضافے کے لئے اور پانچواں امیدوار کے ووٹوں کو صفر پر دوبارہ ترتیب دینے کے لئے ہے۔
یہاں موجود کیپسیٹرز بٹنوں کے اچھ.ا اثر کو ختم کرنے کے لئے ہیں۔ اگر انہیں ہٹا دیا جاتا ہے تو کنٹرولر ہر بار بٹن دبائے جانے پر ایک سے زیادہ گن سکتا ہے۔ پنوں کے لئے جڑے ہوئے مزاحمات موجودہ کو محدود کرنے کے ل are ہیں ، جب بٹن کو نیچے سے زمین پر پینچنے کے لئے دبایا جاتا ہے۔
جب بھی ایک بٹن دبایا جاتا ہے تو ، کنٹرولر کا اسی پن کو نیچے کی طرف کھینچ لیا جاتا ہے اور اس طرح کنٹرولر نے پہچان لیا ہے کہ کچھ بٹن دبائے ہوئے ہیں اور اسی طرح کی کارروائی کی جانی چاہئے ، یہ امیدواروں کے ووٹوں میں اضافہ کرسکتا ہے یا بٹن دبائے ہوئے انحصار کے مطابق ووٹوں کی دوبارہ ترتیب دینا ہوسکتا ہے۔
جب متعلقہ شخص کی نمائندگی کرنے والے بٹن کو دبایا جاتا ہے تو ، کنٹرولر اسے چنتا ہے اور اضافے کے بعد اس کی یادداشت کے اندر اسی شخص کی تعداد میں اضافہ کرتا ہے جب اس میں متعلقہ افراد 16x2 LCD ڈسپلے پر اسکور ظاہر کرتا ہے۔
اس microcontroller کی بنیاد پر الیکٹرانک ووٹنگ مشین کے کام کرنے کے نیچے ذیل C کوڈ کے قدم بہ قدم میں بیان کی گئی ہے،