به نام خدا : آموزش ساده ساخت دماسنج با lm35؛ پیشنیاز این پروژه ؛ مطالعه مطلب >>>>> مبدل آنالوگ به دیجیتال در میکروکنترلرهای AVR
سنسور lm35 : روش کارش اینطوریه که با هر درجه سانتی گراد افزایش دما ، ۱۰ میلی ولت میندازه روی پایه V out
مثلا تو همین برنامه ما (عکس بالا) ؛ اگه دقت کرده باشید دما در سنسور lm35 برابر ۵ سانتی گراد هستش و ولت سنج مقدار ۰۵٫ (۵ صدم) ولت رو نشون میده و سون سگمنت هم که قراره دما رو نشون بده ، عدد ۵ رو نشون میده که همون دمای ما هستش.(چیه عدد رو سون سگمنت خوب معلوم نیست–تقصیر من چیه ، جنسش چینیه ^_^)
توضیح کدهای برنامه
این برنامه چیز خاصی نداره ولی چند تا نکته رو باید بگم :
1 |
ADCSRA |=(1<<ADSC); |
این کد یعنی این که در ریجستر ADCSRA بیتی که اسمش ADSC هست رو یک کن.
مثلا مثل اینه که بگیم بیت ۴ ام پورت A رو یک کن>>>>>>>>>PORTA.4=1
افتاد یا نه؟ (دو هزاریت رو میگم !!! ^_^)
1 2 |
//ADCSRA |=(1<<ADSC); ADCSRA = 0b11000000; |
تو بعضی خط ها کنار هر خط کد یه توضیح هم نوشتم (مثلا کد بالا) که منضورم اینه که این دو تا یه معنی میدن و یه کاری رو انجام میدن.
(البته تو این کد استسناعا(گیر نده!) بیت آخر رو یک کردم ( ۰b11000000 ) چون اگه یک نمیکردم ADC غیر فعال میشد)
1 |
while ((ADCSRA & (1<<ADIF))==0); |
این کد زبون بسته هم میخواد اینو بگه که تا این بیت( ADIF ) از ریجستر ADCSRA یک نشده و هنوز صفر است حلقه رو ادامه بده و این قدر بررسی کن تا زمانی که یک بشه!!!
کد های کامل برنامه>>>> البته این کد ها به همراه فایل شبیه ساز در فایل دانلود موجود است.
کداش چیز خاصی نداره ولی مشکلی بود در خدمتیم.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
// تعریف کتاب خانه های مربوط به تابع ایجاد تاخیر زمانی و تابع مربوط به ATMEGA16 #include <mega16.h> #include <delay.h> /////////////////////////////////////////////////////تعریف توابع unsigned int temp(); /////////////////////////////////////////////////////تعریف متغییر ها unsigned char anode_seg[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; unsigned int T; //////////////////////////////////////////////////////////// unsigned int temp() { //ADCSRA |=(1<<ADSC); ADCSRA = 0b11000000; while ((ADCSRA & (1<<ADIF))==0); //ADCSRA |=(1<<ADIF); ADCSRA = 0b00010000; return ADCW; } //////////////////////////////////////////////////////////// void main() { while(1) { DDRC=0XFF; DDRA = 0X00; ADMUX = 0b11000001; //ADCSRA |=(1<<ADSC); ADCSRA = 0b11000000; T = temp(); T=(T*256/1023); PORTC = anode_seg[T]; } } |
مهمان
سلام داداش
اولا خدا خیرت بده بابت این وب سایت معرکت.
دوما یه سوال دارم (شاید واسه تو خیلی ساده باشه ولی واسه من این طور نیست):
توی اون خط که گفتی: while ((ADCSRA & (1<<ADIF))==0) چرا به این صورت ننوشتی:
while(ADIF==0) ؟؟
مشکل کد بالا چیه؟
و اینکه تو کدی که خودت نوشتی از ADCSRA فقط بیت پرچم وقفشو با ADIF اند میکنه؟ چون اون یه رجیستر هشت بیتیه ولی ADIF فقط یک بیته
مرسی که پاسخ میدی
مهمان
درود
این کد ها رو توی کجا نوشتین؟
من با بسکام ای وی ار برنامه نویسی میکنم
نویسنده این مطلب
کدویژن
مهمان
سلام.چرا فایل شبیه سازی پروتئوسش توی قسمت دانلود نیست؟
نویسنده این مطلب
سلام / پوشه ISIS / فایل
2.DSN
مهمان
مگه نباید با پسوند پروتئوس باشه.
من فیلم های در مورد میکرو گذاشتی تو اپارات تا قسمت 5 که یوزارت هست رو دیدم.خیلی خ وبه.فیلم های بیشتری هست در این مورد که قسمت های دیگه رو توضیح داده باشه.با زبان c.دمت گرم
مهمان
سلام
با کسب اجازه اقای دمرچیلو بله امکانش هست توسط این مدار ولتاژ منفی هم از lm35 میتونید بگیرید و با یهتغییراتی تو کدها اون رو پردازش کنید.
یه سرچی هم تو گوگل کنید به جاهای خوبی میرسید
مهمان
سلام، من این کد رو یکم تغییر دادم ،برای lcd.
ولی وقتی روی برد امتحان میکنم، درست جواب نمیده.هر ثانیه یه عدد نشون میده. حتی وقتی lm35رو از میکرو جدا میکنم هم تغییری نمیکنه. به تغییر دما هم حساس نیست.(وقتی به سنسور دست میزنم، یا اگه یخ بگذارم روش)
مشکل از کجا میتونه باشه؟
مهمان
سلام وقتتون بخیر
تشکر میکنم بابت مطالب مفیدتون
یه سوال مهم و عجله ای دارم
چرا قطعه LM016L(ال سی دی) در پروتئوس 4 پایه اش به هیچ جا وصل نمیشه؟ و تفاوت ال سی دی واقعی با پروتئوس چیه؟
فردا باید پروژمو ارائه بدم ممنون میشم جواب بدین
نویسنده این مطلب
سلام
خب lcd دو مد راه اندازی داره – یه مد 8 بیتی که از همه پایه های دیتا استفاده میکنیم که خب پایه زیاد اشغال میکنه ولی خب سریع تره.
و یه مد 4 بیتی که از 4 تا پایه آخری پایه دیتا lcd استفاده میکنه که خب پایه کمتر اشغال میکنه و یکم کندتره که خب چون پایه مصرفی مهم تره – اکثرا به این روش راه اندازی میکنن lcd رو.
که خب جدیدا به همین lcd یه آیسی وصل کردن تا با پروتکول i2c بشه با 2 تا پایه lcd رو کنترل کرد – این بحث پایه خیلی مهمه – ولی خب بعضی جاها سرعت اولویت هستش که خب اون بحثش جداس –
منم الان تو پروژم هم پایه مصرفی و هم سرعت هر دوش برام خیلی مهمه
(تا جایی که یادمه.)
مهمان
سلام ممنون از سایت خوبتون ی سوال داشتم میشه LM35 رو کاری کنیم ک دمای منفی هم نشون بده این سوال پروژه هنرستان رشته مکاترونیک ممنون میشم ج بدید
مهمان
سلام من برا دما های منفی میخوام از lm35 استفاده کنم.ایا کدهاش رو دارین؟
نویسنده این مطلب
سلام-نه-
مهمان
سلام ببخشید ی سوال …
این میکرو چجوری باید برنامه ایی که روش نوشتیم رو بریزمش روش؟ درایو داره؟ چجوریه؟
نویسنده این مطلب
سلام
به کمک پروگرامر
من پروگرامر هاتل دارم – فقط حواست باشه موقع خرید پروگرامر چیزی بخری که به pc وصل بشه – بعضی از اینا مثلا stk300 به کامپیوتر وصل میشه ولی کامپیوتر های زمان نادر شاه
مهمان
ببخشید یکبار که میکرو رو پروگرم کنم و کد رو بریزم روش کافیه دیکه؟ نه با اینکه هر بار بخوام استفاده کنم هر دفعه باید پروگرام کنم؟..ممنونم از راهنمایی هاتون
نویسنده این مطلب
نه یکبار کافیه – میکروکنترلر حافظه flash داره
ولی مثلا تو میکروپروسسور FPGA تراشته هایی مثل اسپارتان مدل x400 تا جایی که یادمه حافظه فلش به طور پیشفرض ندارن لذا بعد هربار قطع و وصل شدن برق باید دوباره برنامه رو ریخت رو IC
ولی خب تو AVR از این خبرا نیست و میکرو حافظه فلش داره و برنامش با قطع برق پاک نمیشه
مهمان
لطفا
آموزش پروگرم کردن رو میشه بذارین، ممنون….
نویسنده این مطلب
شما پروگرامرتونو انتخاب کنید – آموزش کار باهاش تو نت هستش.
مهمان
ADCSRA |=(1<<ADSC)
این اشتباه رفیق درستش اینه
ADCSRA = (1<<ADEN) | (1<<ADSC);
تو پروژت سون سگمنت کاتد مشترک استفاده کردی اما
unsigned char anode_seg; اینو گداشتی
کدات را داخل while گداشتی که بهینه نیست
ADCSRA = 0b00010000; این کد بود و نبودش تا جایی که من میدونم لازم نیست
دمت گرم با سایتت
اگه میشه برنامه هات رو با atmel بنویس یا علی
مهمان
سلام. اول اینکه دست گلت درد نکنه مطالب خیلی عالیه و منی که از بچگی عاشق الکترونیک بودم و به خاطر نوع آموزش تو دانشگاه به کلی زده شده بود رو به راه آوردید.
) از کتاب؟ سایت؟ چی؟
بعد یک سوال داشتم شما این همه دانش و مهارت رو چطور به دست آوردید؟ میشه به من هم بگین(ترجیحا ایمیل
خیلی خیلی مرسی
نویسنده این مطلب
سلام-گوگل
مهمان
سلام من مبخوام یه برنامه دما سنج برای آردوبنو بنویسم میشه راهنماییم کنید
مهمان
سلام میخوا ستم بدونم دماسنج lm35 چه قطعاتی داره
نویسنده این مطلب
سلام – برای ساختن درست حسابیش باید بری دیتاشیت سنسور فوق و ببینی چه مداری ارائه داده – غیر اون – یه میکرو + بردبرد + سیم برد برد + آدابتور ۵ ولت هم لازمه.
مهمان
سلام
من جلسه ی شما رو خوندم ولی
چند تا سوال
۱- چرا تو تابع temp مقدار ADCSRA=0b11000000 قرار دادی ولی تو while اصلی برنامه هم دوباره همین مقدار رو دادی به نظرت اضافی نیست؟
۲- T=(T*256/1023); تو این فرمول چرا ۱۰۲۴ نیست. مگه ۱۰ بیت نمیشه ۱۰۲۴
۳- داخل آموزشی که تو جلسه ADC دادی فرمول اینه اگه اشتباهه درستش کن : Vadc=(Vin*1024)/Vref
۴ – در آخر هم وقتی میای پورت A و C رو ورودی و خروجی میکنی لازم نیست بیای مقدار بشون بدی مثلا : PORTA=0XFF که مقدارش HIGH باشه یا pinc بدی ؟؟؟؟
با تشکر
در ضمن سایتت هم حرف نداره داداش
نویسنده این مطلب
سلام
۱) به مطلب adc مراجعه کنید ببینید بیت هاش چین و کارشون چیه – احتمالا برای راه اندازی اولیه هستش – تا چیزی راه اندازی اولیه نشه که تابع وقفش رخ نمیده که – اگه غیر از این بود پس حرف شما صحیح هستش.
۲و۳) ۱۰۲۴ درسته
۴) برای پایه های adc نیازی نیست ورودی خروجی بودن پایه ها رو تعیین کرد تا جایی که خاطرمه – لذا کد DDRA = 0X00; اضافه هستش.
مهمان
سلام و خسته نباشید و ممنون از سایت خوبتون
نام قطعه ولت سنج در پروتئوس چیه؟ مدتیه که درگیرش هستم
ممنون
مهمان
سلام;در داخل خود پروتعوس گوشه سمت چپ نگا کنی عکس یک ولتی متر هست اونو بزن و زینه دیسی ولت متر رو انتخاب کم

سوال دیگه هم داشتی میتونی تو ایمیل ازم بپرسیparsaghazvineh@gmail.com
مهمان
سلام.
اگر پروزه دما ی ۰ رو همش نشون میده از سنسور lm34استفاده کنید.
مهمان
عزیز با چه برنامه ای برنامه نویسی کردی؟
میشه باهات درتماس باشم تلگرام یا هرچی؟
نویسنده این مطلب
کدویژن
مهمان
دادش چرا من هر چی نظر میدم تایید نمیشه؟ت
توو نظرام ازت چندتا سوال پرسیدم.تو رو خدا جواب بده
نویسنده این مطلب
یه دونه مونده بود که اونم جواب دادم – اگه این نظر رو داری میخونی بهم اطلاع بده تا مطمئن بشم سایت مشکل نداره
چون در غیر این صورت میزنم به حساب این که یا سایت خرابه یا نظر رو ندیدی.
مهمان
سلام.دوست عزیز من میخام یه خنک کننده یا فن به میکرو وصل کنم.میشه یه راهنماییم کنی؟
نویسنده این مطلب
سلام
چه کمکی؟
مهمان
آخه چه نظری بدم کارت عالیه
خدا خیرت بده
مهمان
هر درجه افزایش دما برابر 0.010 ولت افزایش ورودی آنالوگ هست .ولتاژ مرجع 2.56 ولت است که میشه 256 قسمت در ورودی آنالوگ(2.56 تقسیم بر 0.010).مبدل دیجیتال ده بیتی است(1024) و هر افزایش ورودی آنالوگ در دیجیتال 4 برابر میشه یعنی 0.010 ولت افزایش میشه یک درجه افزایش دما و 4 برابر اون مقدار دیجیتال است.حال اینجا ما مقدار دیجیتال رو داریم پس فقط با تقسیم مقدار adcw به 4 مقدار درجه سانتی گراد به دست میاد
T = temp
T=(T/4)
مهمان
سلام داداش من یک سری سوالات دارم ازت ممکنه ادرس جیمیلتونو بدید مال منparsaghazvineh@gmail.com
مهمان
سلام.2 تا سوال دارم
1.لطفا عبارت داخل while رو ساده تر بنویسید تا دقیق متوجه بشیم!while ((ADCSRA & (1<<ADIF))==0);
2.چرا بعد while علامت ; رو گذاشتید؟؟
نویسنده این مطلب
سلام
1-کجاش رو مشکل دارید؟
2-خب تو زبون سی بعد هر دستوری باید ; رو قرار داد – به کتب آموزش سی مراجعه کنید.
مهمان
در حالتی که آخر حلقه whileسمی کالون باشه اینطوری تفسیر میشه که تا وقتی شرط درسته ،حلقه تکرار بشه ولی هیچ دستوری انجام نمیشه و دائم شرط بررسی میشه و خط های بعد اجرا نخواهد شد(شرط حلقه اینه وضعیت adcsra وتبدیل adif غیر فعال باشه ) حالا اگه خلاف این بشه یعنیadcsraفعال ADIF یک بشه شرط حلقه درست نیست و حلقه تموم میشه .مثل اینه که بگیم تا دوتا دوستت نیومدن نهار نخور(اگه فقط یکی بیاد هنوز شرط پابرجاست و ناهار بی ناهار)حالا اگه اون دومی هم بیاد یعنی بخور دیگه .
مهمان
منظور از ADCSRA ، همون عبارت ۸ بیتی هست. عملگر “&” هم میاد به صورت بیت به بیت شرط and
رو بررسی میکنه. مثلا:
۱۰۰۱&۱۱۱۰=۱۰۰۰
بیت های متناظر رو با هم مقایسه میکنیم. اگه هر دو یک بود، اون طرف هم میشه یک.
مهمان
سلام آقا من این دماسنج رو میخوام برای اندازه گیری یک ظرف المنتی با دمای 80 تا 100 درجه جواب میده لطفاراهنمایی بفرمایید ممنون از مطالبی که میذارید
نویسنده این مطلب
سلام
از ماژول ترموکوپل MAX6675 K استفاده کن
مهمان
هیچ وقت نتونستم بفهمم چرا (T*256/1023) اصن برا چیه ینی چی
نویسنده این مطلب
2.56 ولتاژ مرجع – حالا اگه ولتاژ مرجع 5 ولت باشه که 5 قرار میدی
1024-1 بیانگر 10 بیتی بودن adc هستش
یه ضرب در 100 هم میکنن تا…. تست کن تا علتش رو بفهمی
مهمان
آقا من برنامه نوشتم واسه 2رقمی دما سنج
فقط مثلا دما از 20 یهو ببری تو 30 این آروم آروم یکی یکی میره بالا
اگه بخوام یدفه مثلا 20 نشون بده و یهو 30 چیکار کنم؟
نویسنده این مطلب
خب کاری نداره
ولی حالت های مختلفی میتونه داشته باشه که من یه موردش رو میگم
بیا تو کد نویسی بگو اگه مقدار دما بین 21 تا 29 بود عدد 20 رو نشون بده و اگه 30 شد هم که همو 30 رو نشون بده
یه حالت دیگه
اگه دما بین 20-25 بود عدد 20 رو نشون بده و اگه بین 25-30 بود عدد 30 رو نشون بده
یا هر حالتی که دوست داری با if و if ele برنامش رو بنویس
مهمان
آقا منم بستم مدارو ولی فقط 8 نشون میده
حالا نمیدونم نویز از محیط میگیره یا اینکه چون رنج دمای خونه بالاتر از 9درجس اینطوریه!!!
اومدم برا دماهای بالاتراز 9 یه سری کد تعین کردم که مثلا اگه 20 درجه شد ال ای دی A سون سکمنو نشون بده ولی بازم فقط 8 نشون میده :(((((
نویسنده این مطلب
پایه aref و avcc رو به 5 ولت وصل کن
مهمان
سلام
چرا پرچم ADIF را یک کردید؟
ADCSRA = 0b00010000;
چرا؟؟
نویسنده این مطلب
سلام
تو خط ۱۵ اومدم گفتم تا زمانی که این پرچم ۰ هستش وایسا…یعنی تا زمانی که تبدیل تمام نشده وایسا
تو خط ۱۷ : معمولا پرچم ها رو برای این که ریستشون کنیم باید بعد از این که کارمون باهاش تموم شد مقدار ۱ رو بهشون بدیم تا ریست بشن
مهمان
ای ول .به این همه معرفت و به این همه علم .
مهمان
همون میخاستم با سگمت تستش کنم متاسفانه ال سی دی ندارم
نویسنده این مطلب
یه سری اعداد از قبل تعیین شده به ۷s بده ببین درست نشون میده و بعد بیا lm35 رو هم بهش اضافه کن
مهمان
سلام
همونجور ک شماگفتین پیاده کردم
ولی انگا بودو نبود سنسور تو مدار فرقی ایجاد نمیکنه سگمنت همون صفر یا هشتو نشون میده
در ضمن من تو مدارم ولت متر نذاشتما
مرسی
نویسنده این مطلب
خوب یه کاری کن….بیا از lcd استفاده کن…..
سنسورت رو عوض کن
یه عکس هم بزار از مدارت
مهمان
سلام
مهندس من اینو تو عمل جوابی ازش نگرفتم حتی سنسورشم گذاشتم تو فریزر ک دماش تک رقمی شه بلکه تو سگمنت دیده شه ولی نشد
تو عمل ولتاژ منبع رو به vccه میکرو وصل کردما
نویسنده این مطلب
سلام
راه انداری این سادس
فقط یه کاری کن
ولتاژ ورجع رو بزار رو AVCC
و بعد پایه های AVCC و AREF رو به تغزیه میکرو(VCC) وصل کن…مهم
در ضمن مطلب LM35 چند تا تو سایت هستش….و بعد خودت هم میتونی با کدویزارد کدویژن برنامش رو بنویسی
تست کن و خبرم کن
نویسنده این مطلب
در ضمن اگه دیدی سنسور داغ کرد…سریع برعکسش کن…..پایه وسطی کا ثابته …فقط پایه های طرفین رو جاشون رو عوض کن
مهمان
سلام
من برنامتونو برا اینکه خوب متوجه شم بعضی جاهاشو دونه دونه پاک کردمو امتحان کردم ببینم کار میکنه یا نه که احر سر این از اب در اومد و کارم کرد
***
ینی با این حساب بقیه چیزا اضافی بودن؟
ممنون میشم راهنماییم کنین چون من واقعا چن روزه رو این گیرم
مرسی
نویسنده این مطلب
سلام
کد ها رو به اون صورتی که تو جعبه نظرات توضیح دادم قرار بده
و بعد سوالت رو تو مطلب مربوطه مطرح کن…آخه من از کجا بدونم این کدوم مطلب هستش که شما تغییرش دادین
مهمان
بیت ADIF یک فلگ میباشد و در AVR برای پاک کردن فلگها باید در روتین وقفه روی آنها یک بنویسیم
با نوشتن یک روی فلگ آن فلگ مجددا مقدار پیش فرض خودش یعنی ADIF=0 به خود میگیرد
این یک نوشتن روی فلگ ها برای پاک شدن آنها جزئ موارد عجیب AVR هست
مهمان
با سلام
راجب این خط توضیح میخاستم مرسی
T=(T*256/1023)
نویسنده این مطلب
سلام
مطلب مربوط به ADC رو نخوندی مثل این که
مقدار دریافتی از تابع ضربدر ولتاژ مرحع تقسیم بر دقت تایمر ضربدر ۱۰۰(تا به ولت تبدیل بشه….۱گه ضرب نکنی اینو مثلا به جای ۱۰ ولت…ولتاژت میشه ۰٫۱ ولت)
مهمان
مرسی داداشم خعلی اقایی

نویسنده این مطلب
نوکریم
مهمان
با سلام
خب مهندس تقریبا فهمیدم رجیستراشو ولی اینارو باید حفظ شیم؟شما تو کد نویسی چجوری فهمیدین که اینارو باید اضافه کرد؟منظورم برا مثال همین کده ADCSRA |=(1<<ADSC)
کلا این کدا کارشون چیه؟نباشن چی میشه
نویسنده این مطلب
سلام
والا من چیزی حفظ نمیکنم و فقط منبع رو میبینم و کار ریجستر ها و هر بیتش رو و بعد پروژم رو انجام میدم
ولی همین که چندین بار پروژه انجام بدی دیگه خودکار میره تو ذهنت….
ولا اگه بگم میدونم دروغ گفتم
چون من چیزی حفظ نمیکنم و اگه الان بخوام جوابت رو بدم باس برم یا مطلب Adc رو بخونم یا کتابم رو یا دیتاشیت رو
لذا خودت بری این ۳ کار رو بکنی بهتره….
مهمان
سلام مهندس
ببخشید من اون کدهایی که مربوط به adc میشه رو خوب متوجه نشدم یکیش مثلا ADMUX = 0b11000001
خب این ینی چی؟ممنون میشم
مرسی از زحماتتون
نویسنده این مطلب
سلام
مطلب زیر رو بخون—ب جواب میرسی احتمالا____
https://dmf313.ir/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%AC%D8%A7%D9%85%D8%B9-%D9%85%DB%8C%DA%A9%D8%B1%D9%88%DA%A9%D9%86%D8%AA%D8%B1%D9%84%D8%B1-avr-%D8%AC%D9%84%D8%B3%D9%872/
نویسنده این مطلب
به جواب نرسیدی بهم بگو
مهمان
سلام
ممنون از اموزشتون.یه سوال داشتم
توی خط ۱۵ شرط خروج از while اینه که ADIF بشه ۱, خب حالا چرا تو خط ۱۸ چرا دوباره بیت ADIF رو یک کرده ,مگه قبلا تو خط۱۵ مقدارش۱ نشده؟
با تشکر
نویسنده این مطلب
سلام
خاطرم نیست
باس ریجسترش رو ببینی که کارش چیه
اینو ببین
https://dmf313.ir/%D8%B3%D8%A7%D8%AF%D9%87-%D8%AA%D8%B1%DB%8C%D9%86-%D8%AF%D9%85%D8%A7%D8%B3%D9%86%D8%AC-%D8%B9%D9%85%D9%84%DB%8C-%D8%A8%D8%A7-lm35/
مهمان
خونده ام مطلب رو ولی متوجه نشدم
مهمان
سلام
اگه امکانش هست لطفا تابع temp داخل کد رو بیشتر توضیح بدید من متوجه نشدم برای چی بعد از while شما دوباره ADIF رو 1 کردید؟کلا تابع داره چیکار میکنه؟
یا یه چیز دیگه شما تو تابع temp مقدار ADCSRA=0b11000000 قرار دادید ولی تو while اصلی برنامه هم دوباره همین مقدار رو دادید به نظرتون اضافی نیست؟
با تشکر
نویسنده این مطلب
سلام
>>> 
شما مطلب جلسه ۲ آموزش AVR که تو سایت هستش رو بخون…..اگه دوهزاریت نیوفتاد بگو تا بگم
مهمان
سپاس نمیشه در مورد سنسور ال ام 35 توضیح بدهید تا ما بتونیم با بسکام بنویسیم
چون من برنامه ی ساعتم با بسکامه و میخوام بهش دماسنج اضافه کنم
خیلی سپاس
اگر سنسوری دقیقتر از ال ام 35 هم هست برامون معرفی کنید
سپاس
نویسنده این مطلب
LM35 سه تا پایه داره-زمین-۵ولت-و پایه ای که به ADC میکرو وصل میشه و شما با محاسبه ولتاژ این پایه دما رو متوجه میشی…….
برا سنسور دقیق تر از LM35 میتونید تو فروشگاه ها رو سرچ کنید….
مهمان
سلام
خیلی ممنون از آموزش هاتون
یه سوال داشتم شما این جا ولتاژ مرجع رو چی انتخاب کردین؟
یه سوال دیگه هم هست
این کد برا چی استفاده شده
T=(T*256/1023)؟؟؟
ممنون از راهنمایی های شما
نویسنده این مطلب
سلام
————
۲٫۵۶ داخلی
————-
اینو بخون
https://dmf313.ir/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%AC%D8%A7%D9%85%D8%B9-%D9%85%DB%8C%DA%A9%D8%B1%D9%88%DA%A9%D9%86%D8%AA%D8%B1%D9%84%D8%B1-avr-%D8%AC%D9%84%D8%B3%D9%872/
نویسنده این مطلب
سلام
رو میزارم سایت.
ممنون
آموزشش تو اینترنت هست ولی به زبون سی کم مطلب هستش.>>>برا بیسیک مطلب بیشتره
انشاالله بعد از این که عملی بستمش آموزش ساختش+فیلم و از این جور چزاش
موفق باشید.
مهمان
سلام مهندس
مطالب عالیست.خسته نباشید
اکه میشه برای ساخت پروژه مثلا: عمق سنج بااولتراسونیک راهنمایی وتوضیح بفرمایید.
خیلی لازمش دارم.تشکر مهندس
مهمان
سلام مهندس
من بیشتر چیزایی که یا گرفتم تو این سایت بوده واقعا ممنون که اینقدر عامیانه می نویسید خیر ببینی جوون
یه خواهشی داشتم اگه میشه یه دماسنج با ntc یا همون مقاومت حرارتی که خیلی ارزون تر از lm35 هست رو با زبان c و میکرو avr آموزش بدید ممنون
راستی اگرم بلد نیستید لطفا یاد بگیرید و به ما هم آموزش بدید ، زبانتون گویاست ممنون
موفق باشید
نویسنده این مطلب
سلام
والا بحث خرید قطعه یکم دردسر سازه….لذا منم فعلا کار با قطعات رو گزاشتم کنار(فعلا)—و بیشتر روی درسام(موقع امتحاناس الان) کار میکنم و یکم طراحی pcb و qt (تا یادشون بگیرم و یاد بدم در حد خودم-چون مطلب دربارشون کم هستش)—— ولی در مورد اونی که گفتید مقاومت متغییر بر اساس دما…..میتونید با یه تقسیم ولتاژ یه دماسنج بسازید—یه سنسور بسازید مثل lm35—-تقسیم ولتاژ هم اگه دربارش نمیدونید تو گوگل بسرچید کلی مطلب دربارش میاد بالا—–البته دقیقا نمیدونم دقت اینا(مقاومت حرارتی) در چه حدی هستش……به درد دماسنج میخوره نمیخوره و…(اینو نمیدونم)