اس منصوبے میں ہم درجہ حرارت کی پیمائش کے لئے ایک سرکٹ ڈیزائن کرنے جا رہے ہیں۔ یہ سرکٹ ایک لکیری وولٹیج سینسر " LM35 " کا استعمال کرتے ہوئے تیار کیا گیا ہے ۔ درجہ حرارت عام طور پر "سینٹی گریڈ" یا "فرحائٹی" میں ماپا جاتا ہے۔ "LM35" سینسر سینٹی گریڈ کے پیمانے پر مبنی پیداوار فراہم کرتا ہے۔
LM35 تین پن ٹرانجسٹر ہے جیسے آلہ۔ اس میں VCC ، GND اور OUTPUT ہے۔ یہ سینسر درجہ حرارت کی بنیاد پر آؤٹ پٹ میں متغیر وولٹیج فراہم کرتا ہے۔

جیسا کہ مندرجہ بالا اعداد و شمار میں دکھایا گیا ہے ، درجہ حرارت میں ہر +1 سینٹی گریڈ اضافے کے لئے + 10mV زیادہ پیداوار ہوگی۔ لہذا اگر درجہ حرارت 0◦ سینٹی گریڈ ہو تو سینسر کی پیداوار 0V ہوگی ، اگر درجہ حرارت 10◦ سینٹی گریڈ ہے تو سینسر کی پیداوار + 100mV ہوگی ، اگر درجہ حرارت 25◦ سینٹی گریڈ ہے تو سینسر کی پیداوار + 250mV ہوگی۔
تو اب LM35 کے ساتھ ہم درجہ حرارت کو متغیر وولٹیج کی شکل میں حاصل کرتے ہیں۔ اس درجہ حرارت پر منحصر وولٹیج اے ٹی ایم ای جی اے 32 اے کے اے ڈی سی (ینالاگ سے ڈیجیٹل کنورٹر) کے لئے ان پٹ کے طور پر دی گئی ہے۔ حاصل کردہ تبادلوں کے بعد ڈیجیٹل ویلیو 16x2 LCD میں درجہ حرارت کے بطور دکھائی جاتی ہے۔
ضروری اجزاء
ہارڈ ویئر: ATMEGA32 مائکروکانٹرولر ، بجلی کی فراہمی (5v) ، AVR-ISP پروگرامر ، JHD_162ALCD (16x2LCD) ، 100uF کاپاکیٹر (دو ٹکڑے) ، 100nF کاپاکیسیٹر ، LM35 درجہ حرارت سینسر۔
سافٹ ویئر: اٹیل اسٹوڈیو 6.1 ، پروگرام یا فلیش جادو۔
سرکٹ ڈایاگرام اور وضاحت

سرکٹ میں ، اے ٹی ایم ای جی اے 32 کا پی او آر ٹی بی ایل سی ڈی کے ڈیٹا پورٹ سے منسلک ہے۔ یہاں کسی کو فیوز بائٹس میں تبدیلی کرکے PORTC ot ATMEGA میں JTAG مواصلات کو غیر فعال کرنا یاد رکھنا چاہئے ، اگر کوئی PORTC کو عام مواصلات کی بندرگاہ کے طور پر استعمال کرنا چاہتا ہے۔ 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 کا PB0
PIN8 یا D1 ----------------------------- UC کا PB1
PIN9 یا D2 ----------------------------- UC کا PB2
PIN10 یا D3 ----------------------------- UC کا PB3
PIN11 یا D4 ----------------------------- UC کا PB4
PIN12 یا D5 ----------------------------- UC کا PB5
PIN13 یا D6 ----------------------------- UC کا PB6
PIN14 یا D7 ----------------------------- UC کا PB7
سرکٹ میں آپ دیکھ سکتے ہیں کہ ہم نے 8 بٹ مواصلات (D0-D7) کا استعمال کیا ہے لیکن یہ لازمی نہیں ہے ، ہم 4 بٹ مواصلات (D4-D7) استعمال کرسکتے ہیں لیکن 4 بٹ مواصلاتی پروگرام تھوڑا پیچیدہ ہو جاتا ہے لہذا میں نے 8 بٹ کا انتخاب کیا ہے مواصلات.
لہذا مندرجہ بالا جدول سے محض مشاہدے سے ہم ایل سی ڈی کے 10 پنوں کو کنٹرولر سے جوڑ رہے ہیں جس میں 8 پنوں کو ڈیٹا پن اور کنٹرول کے لئے 2 پن ہیں۔ سینسر کے ذریعہ فراہم کردہ وولٹیج آؤٹ پٹ پوری طرح لکیری نہیں ہے۔ یہ شور مچائے گا۔ شور کو چھاننے کے ل a ایک کیپسیٹر کو سینسر کی پیداوار میں رکھنا ضروری ہے جیسا کہ اعداد و شمار میں دکھایا گیا ہے۔
آگے بڑھنے سے پہلے ہمیں ATMEGA32A کے ADC کے بارے میں بات کرنے کی ضرورت ہے۔ اے ٹی ایم ای جی اے 32 اے میں ، ہم پورٹا کے آٹھ چینلز میں سے کسی کو بھی ینالاگ ان پٹ دے سکتے ہیں ، اس سے کوئی فرق نہیں پڑتا ہے کہ ہم کون سا چینل منتخب کرتے ہیں کیونکہ سب ایک جیسے ہیں۔ ہم پورٹا کا چینل 0 یا PIN0 منتخب کرنے جارہے ہیں۔ اے ٹی ایم ای جی اے 32 اے میں ، اے ڈی سی 10 بٹ ریزولوشن کا ہے ، لہذا کنٹرولر کسی احساس کا پتہ لگاسکتا ہے کہ ویرف / 2 ^ 10 میں کم سے کم تبدیلی کی جائے ، لہذا اگر حوالہ وولٹیج 5V ہے تو ہمیں ہر 5/2 ^ 10 = 5mV میں ڈیجیٹل آؤٹ پٹ انکریمنٹ ملتی ہے۔. لہذا ان پٹ میں ہر 5mV اضافے کے ل digital ہمارے پاس ڈیجیٹل آؤٹ پٹ میں اضافہ ہوگا۔
اب ہمیں درج ذیل شرائط کی بنیاد پر اے ڈی سی کا رجسٹر ترتیب دینے کی ضرورت ہے۔
1. سب سے پہلے ہمیں اے ڈی سی میں اے ڈی سی کی خصوصیت کو چالو کرنے کی ضرورت ہے۔
2. چونکہ ہم کمرے کے درجہ حرارت کی پیمائش کر رہے ہیں ، ہمیں واقعی سو ڈگری (LM35 کی 1000mV پیداوار) سے زیادہ کی قدر کی ضرورت نہیں ہے۔ لہذا ہم ADV کا زیادہ سے زیادہ قیمت یا 2.5V کا حوالہ ترتیب دے سکتے ہیں۔
The. کنٹرولر میں ٹرگر تبادلوں کی خصوصیت ہوتی ہے ، اس کا مطلب ہے کہ ADC تبادلوں صرف بیرونی محرک کے بعد ہی ہوتا ہے ، کیونکہ ہم یہ نہیں چاہتے ہیں کہ ہمیں مسلسل مفت چلانے کے موڈ میں چلنے کے لئے اے ڈی سی کے لئے رجسٹر ترتیب دینے کی ضرورت ہے۔
any. کسی بھی اے ڈی سی کے ل convers ، تبادلوں کی فریکوئنسی (ینالاگ ویلیو سے ڈیجیٹل ویلیو) اور ڈیجیٹل آؤٹ پٹ کی درستگی متضاد متناسب ہیں۔ لہذا ڈیجیٹل آؤٹ پٹ کی بہتر درستگی کے ل we ہمیں کم تعدد کا انتخاب کرنا ہوگا۔ کم ADC گھڑی کے ل we ہم ADC کا نسخہ زیادہ سے زیادہ قیمت (128) پر مرتب کر رہے ہیں۔ چونکہ ہم 1MHZ کی داخلی گھڑی استعمال کررہے ہیں ، لہذا ADC کی گھڑی (1000000/128) ہوگی۔
یہ صرف چار چیزیں ہیں جن کی ہمیں ADC کے ساتھ شروع کرنے کے لئے جاننے کی ضرورت ہے۔ مذکورہ بالا چار خصوصیات دو رجسٹروں کے ذریعہ مرتب کی گئی ہیں۔


سرخ (ADEN): یہ تھوڑا اے ٹی ایم ای جی اے کی اے ڈی سی خصوصیت کو چالو کرنے کے ل set مقرر کرنا ہوگا۔
نیلی (REFS1 ، REFS0): یہ دو بٹس ریفرنس وولٹیج (یا زیادہ سے زیادہ ان پٹ وولٹیج جو ہم دینے جا رہے ہیں) طے کرنے کے لئے استعمال ہوتے ہیں۔ چونکہ ہم ریفرنس وولٹیج 2.56V رکھنا چاہتے ہیں ، لہذا ، میز کے ذریعہ ، دونوں REF00 اور REFS1 طے کریں۔

لائٹ گرین (اڈیٹ): اے ڈی سی کو چلانے کے ل This یہ تھوڑا سا طے کرنا ضروری ہے (مفت چلانے کا طریقہ)۔
پنک (MUX0-MUX4): یہ پانچ بٹس ان پٹ چینل کو بتانے کیلئے ہیں۔ چونکہ ہم ADC0 یا PIN0 استعمال کرنے جارہے ہیں ، لہذا ہمیں کسی بٹس کو ترتیب دینے کی ضرورت نہیں ہے جیسا کہ ٹیبل کے مطابق ہے۔

براؤن (ADPS0-ADPS2): یہ تینوں بٹس ADC کے لئے نسخہ ترتیب دینے کے لئے ہیں۔ جس طرح سے ہم 128 کا نسخہ استعمال کر رہے ہیں ، ہمیں ان تینوں بٹس کو سیٹ کرنا ہوگا۔

ڈارک گرین (ADSC): یہ تھوڑا سا تبادلہ شروع کرنے کے لئے ADC کے لئے سیٹ کیا گیا ہے۔ جب پروگرام میں ہمیں تبادلوں کو روکنے کی ضرورت ہو تو یہ تھوڑا سا پروگرام میں غیر فعال ہوسکتا ہے۔
اس پروجیکٹ کو ارڈوینو کے ساتھ بنانے کے ل this ، اس ٹیوٹوریل کو دیکھیں: ارڈینو کے استعمال سے ڈیجیٹل تھرمامیٹر
پروگرامنگ وضاحت
ٹیمپریچر پیمائش کا کام نیچے دیئے گئے سی کوڈ کے مرحلہ وار بیان کیا گیا ہے۔
پنوں پر ڈیٹا کے بہاؤ پر قابو پانے کے ل # # ہیڈر شامل کریں
# وضاحت F_CPU 1000000 // بتانا کنٹرولر کرسٹل تعدد منسلک ہے
# شامل کریں
# وضاحت E 5 // PORTD کے 5 ویں پن کو نام "قابل" بنانا ، چونکہ یہ LCD کے قابل پن سے منسلک ہے
LCD RS پن سے منسلک ہونے کے بعد ، PORTD کے 6 ویں پن کو "رجسٹر انتخاب" کا نام دیں۔
باطل بھیج_ا_کمانڈ (دستخط شدہ چار کمانڈ)؛
باطل بھیج _a_character (دستخط شدہ چار کردار)؛
باطل بھیجیں_س_اسٹرنگ (چار * سٹرنگ_آف_چارٹر)؛
انٹ مین مین (باطل)
{
DDRB = 0xFF؛ // پورٹ بی اور پورٹ ڈی کو آؤٹ پٹ پن کے طور پر رکھنا
DDRD = 0xFF؛
_ڈلی_مز (50)؛ // 50 ملی میٹر کی تاخیر
ڈی ڈی آر اے = 0؛ // پورٹ اے کو بطور ان پٹ لینا۔
ADMUX - = (1 <
ADCSRA - = (1 <0)
{
ارسال_ا_چارٹر (* سٹرنگ_آف_چارٹر ++)؛
}
}
