سرفصلهای دوره AVR
1.1 آشنایی با معماری کامپیوتر پایه ویدئو
11:16
1.2 آشنایی با معماری میکروکنترلر AVR ویدئو
26:59
1.3 آشنایی با محیط Atmel Studio ویدئو
08:50
1.4 لیست قطعات مورد نیاز فایل های ضمیمه
این لیست حداقل قطعات الکترونیک است که برای تکمیل این دوره و پروژههای آن نیاز دارید.
1.5 کتابخانههای مورد نیاز فایل های ضمیمه
کتابخانههای مورد نیاز را میتوانید از این بخش دانلود کنید.
1.6 دانلود مستقیم Atmel Studio 7 فایل های ضمیمه
پسورد فایل : microlearn.ir
1.7 فایلهای مورد نیاز LCD گرافیکی فایل های ضمیمه
2.1 مفاهیم اولیه ورودی و خروجی میکروکنترلر ویدئو
27:09
2.2 استفاده از پورتها به عنوان خروجی ویدئو
23:25
2.3 خواندن انواع کلید و مفاهیم لایههای نرم افزاری ویدئو
32:53
3.1 راه اندازی سون سگمنت به روش مستقیم ویدئو
27:54
3.2 راه اندازی سون سگمنت با دیکدر و روش مالتی پلکس ویدئو
23:54
3.3 راه اندازی سون سگمنت با آیسیهای لچ و شیفت رجیستر ویدئو
09:00
4.1 راه اندازی صفحه کلید ماتریسی توسط AVR ویدئو
26:31
5.1 معرفی LCD کاراکتری و روش راه اندازی ویدئو
19:02
5.2 استفاده از کتابخانه حرفهای برای LCD + پروژههای منو نویسی ویدئو
31:30
6.1 بررسی اصول وقفه در میکروکنترلر AVR ویدئو
17:08
6.2 راه اندازی وقفههای خارجی در AVR ویدئو
18:44
6.3 تمرینها و پروژههای عملی وقفه ویدئو
20:05
7.1 اصول و ساختمان داخلی استپر موتور ویدئو
37:41
7.2 راه اندازی استپر موتور تک قطبی توسط میکروکنترلر ویدئو
14:50
7.3 راه اندازی استپر موتور دو قطبی توسط میکروکنترلر ویدئو
09:45
7.4 پروژههای عملی و تحقیقاتی استپر موتور ویدئو
06:17
8.1 استفاده از EEPROM داخلی میکروکنترلر AVR ویدئو
29:35
9.1 معرفی انواع تایمرها و مفاهیم پایه آن در AVR ویدئو
26:33
9.2 معرفی مد نرمال در تایمر صفر ویدئو
26:43
9.3 معرفی مد نرمال و غیرهم زمان تایمر دو و یک ویدئو
10:47
9.4 معرفی شمارنده در AVR ویدئو
19:15
9.5 معرفی مد مقایسه یا CTC در تایمر ویدئو
35:23
9.6 معرفی مد PWM در تایمر ویدئو
38:25
9.7 معرفی مد capture در تایمر ویدئو
17:57
9.8 معرفی تایمر نگهبان یا watchdog در AVR ویدئو
15:29
10.1 مفاهیم اولیه تبدیل ولتاژ آنالوگ به دیجیتال ویدئو
17:52
10.2 استفاده از مبدل آنالوگ به دیجیتال در AVR ویدئو
20:27
10.3 تمرین ها و پروژه های واحد مبدل آنالوگ به دیجیتال ویدئو
27:07
11.1 معرفی LCD گرافیکی ویدئو
25:53
11.2 کدنویسی LCD گرافیکی بدون کتابخانه ویدئو
34:58
11.3 نمایش متن با کتابخانه LCD گرافیکی ویدئو
23:48
11.4 ترسیم اشکال هندسی با کتابخانه LCD گرافیکی ویدئو
09:24
11.5 نمایش تصویر روی LCD گرافیکی با کتابخانه ویدئو
17:12
11.6 پروژههای LCD گرافیکی ویدئو
07:37
داستان تولید آموزش میکروکنترلر AVR چی بوده؟
آموزش میکروکنترلر AVR برای من هم شیرین بوده و هم گاهی تلخ!
شیرین از این جهت که بهترین روزهای عمرم یعنی اوایل ۲۰ سالیگم را براش گذاشتم و در لحظه لحظههای اون روزها لذت میبردم. و تلخ از جهت اینکه گاهی به دلیل کمبود منابع مطالعاتی و نداشتن راهنمای خوب با سختی و چالش خیلی خیلی زیاد روبه رو میشدم؛ طوری که کاملا از کارم ناامیدم میشدم.
تابستان 89 برای من یک شروع جدید بود. وقتی دیدم دانشگاه اون چیزی را که لازم دارم یاد من نمیده، رفتم سراغ فنی حرفهای و در یک دوره چند ماهه شرکت کردم. توی گرمای شدید هر روز چند ساعت وقت صرف کردم تا درک بهتری از دنیای دیجیتال به دست بیارم. با 8051 شروع کردم و بعد به دنبالش سراغ AVR رفتم.
این مقدمهای شد تا خودم باقی راه رو ادامه بدم و به دنبالش ARM، رزبری پای، آردوینو و … را کار کنم و به انجام پروژههای الکترونیک مشغول بشم. در همین حین هم وب سایت میکرولرن را تاسیس کردم تا تجربهها و دانش اندک خودم را با دیگران به اشتراک بذارم.
دوست دارم برای کسانی که حالا میخوان با این میکروکنترلر کار کنند یک مسیر هموار برای یادگیری ایجاد کنم. تا بتونن از منابع خوب استفاده کنن و محکم جلو برن. برای همین تصمیمم رو گرفتم تا هرچی تجربه و دانش دارم تو این دوره آموزشی بذارم تا شما خیلی سریعتر از من بتونید به نتیجه برسید.
چرا آموزش میکروکنترلر AVR اهمیت دارد؟
میکروکنترلر AVR بیشتر از ۷۰ درصد بازار کار الکترونیک کشور را پوشش میدهد. از این میکروکنترلر در انواع پروژههای الکترونیک میتوان استفاده کرد. هم چنین با گسترش استفاده از بردهای محبوب آردوینو که از همین میکروکنترلر در آنها استفاده شده است نیاز بیشتری به یادگیری AVR احساس میشود.
توجه داشته باشید که تسلط بر میکروکنترلرهای سطح بالاتری مثل ARM هنوز جا را برای میکروکنترلرهای ۸ بیتی تنگ نکرده است. در واقع شما باید بر یک میکروکنترلر ۸ بیتی مثل AVR به عنوان جزء اصلی پروژه های الکترونیک تسلط کامل داشته باشید.
این آموزش برای چه کسانی مناسب است؟
فرقی نمی کند که شما یک دانش آموز علاقه مند به الکترونیک، یا یک دانشجوی در حال تحصیل باشید و یا حتی در صنعت مشغول به فعالیت باشید. در هر صورت مشاهده این دوره و اجرای تمرین ها و پروژههای بسیاری که در آن تعریف شده است شما را برای ورود به دنیای جذاب میکروکنترلرهای آماده خواهد کرد.
دوره آموزش میکروکنترلر AVR حاصل چندین سال تدریس خصوصی به تعداد زیادی از افراد شاغل در صنعت الکترونیک کشور است. این دوره بارها مورد بازبینی قرار گرفته و بهترین و کاربردی ترین تمرین ها و پروژه ها در آن گنجانده شده است. هرگز در انتخاب چنین دوره های شک نکنید چرا که به سادگی صاحب یک تجربه بزرگ در میکروکنترلر هاخواهید شد. این تجربه می تواند به شما در یادگیری هر میکروکنترلری کمک کند.
پیش نیازهای آموزش میکروکنترلر AVR
آموزش برنامه نویسی میکروکنترلر AVR به زبان C ارئه شده است و برای اینکه از دوره AVR بتوانید نهایت استفاده را ببرید باید حتما ابتدا پیش نیازهای آن را به دقت مطالعه کنید. توجه داشته باشید که حتی اگر شما با مطالب پیش نیاز آشنایی دارید، پیش نهاد می کنیم آنها را در وب سایت میکرولرن مطالعه کنید، چرا که تمام آموزشها به صورت زنجیروار به هم وصل هستند و بسیاری از بخشهای این دوره به دورههای قبلی رفرنس و ارجاع داده شده است و دانستن آن مطالب به شما کمک میکند تا این دوره را بهتر مطالعه کنید. پیش نیازهای دوره به صورت زیر است:
ویژگی های دوره جامع AVR
- استفاده از ده ها کتاب، دیتا شیت و سایت الکترونیک در تهیه این دوره
- آموزش برنامه نویسی میکروکنترلر AVR به زبان C و محیط قدرتمند Atmel Studio
- امکان استفاده از مثالهای دوره با اندکی تغییر در محیط کدویژن (Code vision)
- طراحی تمرینها بر اساس کاربردهای تجاری و صنعتی
- قرار گرفتن ده ها تمرین و پروژه کاملا کاربردی در دوره
- تاکید بر اجرای عملی مثال ها و تمرین ها علاوه بر شبیه سازی
- شبیه سازی تمام مثال ها در پروتئوس
- امکان مطالعه دوره با گوشی یا لپ تاپ در هر مکان و هر زمان
- پشتیبانی از دانشجویان دوره از طریق پاسخ به کامنت ها
- ارائه مشاوره تلفنی رایگان برای تصمیم گیری جهت شرکت در دوره
- دسترسی دائمی به فایلهای دوره
- دسترسی دائمی به آپدیتهای دوره
ثبت نام دوره متوقف شده است
چرا Atmel studio؟
در ایران اغلب افراد، AVR را بر اساس کدویژن یاد میگیرند ولی ما دوره را بر اساس Atmel studio ارائه کردهایم. ممکن است بپرسید که چرا این دوره را بر اساس کدویژن ارائه نکردهاید؟
دلایل بسیار زیاد و البته محکمی برای این کار وجود دارد. البته توجه کنید که ما قصد نداریم کدویژن را زیر سوال ببریم و بگوییم که ناکارآمد است؛ بلکه میخواهیم یک ابزار مناسبتر به جای آن ارائه کنیم. در ادامه به دلایلی میپردازیم که باعث شده از اتمل استدیو استفاده کنیم:
- اتمل استدیو کاملا رایگان است بنابراین نیاز به کرک ندارد و خروجی قابلی اعتمادی دارد.
- کدویژن غیر رایگان بوده و در ایران کرک شده است؛ ورژن کرک شده خروجی قابل اعتمادی ندارد.
- ادیتور قدرتمند اتمل استدیو قابلیت پیش بینی کد دارد که در کدنویسیهای طولانی بسیار کمک کننده است.
- در کدویژن هیچ گونه قابلت پیش بینی کد وجود ندارد و برنامه نویس را بسیار خسته میکند.
- اتمل استدیو به صورت متن باز است. میتوانید کد تمام کتابخانهها را ببینید و شخصی سازی کنید.
- کدویژن متن بسته است و کدهای هیچ کدام از کتابخانهها قابل دسترسی نیستند.
- کدهای خروجی اتمل استدیو بهینه هستند. حافظهی کمتری مصرف کرده و سریع اجرا میشوند.
- خروجی کدویژن نسبت به اتمل استدیو کندتر و حجیم تر است.
- کدهای اتمل استدیو در صنعت بسیار محبوبیت داشته و قابل اعتماد است.
- کدویژن به دلیل ویزارد و کدهای آماده، بیشتر مناسب کارهای دانشجویی و آموزشهای دانشگاهی است و برای صنعت توصیه نمیشود.
- کامپایلر اتمل استدیو AVR-GCC است که جامعه کاربری بزرگی دارد و در آردوینو هم استفاده میشود.
- کدویژن فقط محصول یک شرکت است و شما را بسیار محدود میکند و در جای دیگر کاربردی ندارد.
- در اتمل استدیو ویزارد وجود ندارد بنابراین برنامه نویس همیشه میداند برای چه کاری کدام کد را نوشته است.
- یک اشکال عمده کدویژن ابزار ویزاد است که برنامه نویس را به شدت تنبل کرده و باعث میشود از جزئیات میکروکنترلر چیز زیادی متوجه نشود.
- اتمل استدیو همیشه به روز شده و میتوانید از قابلیتهای جدید آن استفاده کنید.
- آخرین ورژن کرک شده کدویژن مربوط به سال 2014 بوده و کرک برای ورژنهای جدید آن ارائه نشده است.
توصیه میکنیم حتی اگر با کدویژن AVR را یاد گرفتهاید، یک بار دوره ما را با دقت و تا انتها بگذرانید. مطمئن باشید که بعد از این دوره عاشق محیط Atmel studio خواهید شد.
بعد از یادگرفتن AVR چه کار میتوانم بکنم؟
- تسلط کامل به میکروکنترلر AVR
- توانایی طراحی مدارهای مبتنی بر میکروکنترلر
- امکان ارائه پروژههای انجام شده در طول دوره به عنوان رزومه آموزشی قوی
- توانایی جذب و اجرای پروژههای الکترونیک
- امکان استخدام در شرکتهای الکترونیک به عنوان نیروی قوی
ضمانت آموزش میکروکنترلر AVR چیست؟
ما این محصول را بعد از سالها امتحان پس دادن در کلاسها و دورههای خصوصی به صورت عمومی منتشر کردهایم. در این محصول شما تجربیات علمی و صنعتی مدرس دوره را به دست خواهید آورد.
این دوره یک ضمانت 100 درصد دارد و آن هم عمل کردن به توصیههای مدرس دوره ضمن آموزش است. ضمانت میکنیم که اگر این کار را انجام دهید به راحتی به مفاهیم میکروکنترلر AVR مسلط میشوید و میتوانید با انجام پروژههای اولیه هزینه دوره و قطعات را برگردانید و به درآمد برسید یا درآمد خودتان را چندین برابر کنید.
روش کسب اطمینان از کیفیت آموزش
قطعا برای تهیه یک آموزش از هر نوع که باشد، شما باید ابتدا بخشی از آن را به عنوان نمونه مشاهده کنید. در ادامه شما میتوانید ویدیوهای پیش نمایش دوره را مشاهده کنید. در صورتی که از کیفیت تدریس راضی بودید می توانید نسبت به تهیه دوره اقدام فرمایید.
دوره های مرتبط
آموزش الکترونیک دیجیتال
الکترونیک دیجیتال به عنوان یک مبحث پایه ای در تمامی حوزه های طراحی مدار کاربرد دارد. در این دوره تمامی موارد ضروری الکترونیک دیجیتال به شما آموزش داده خواهد شد.
امتیاز دانشجویان دوره
نظرات
790.000 تومان 510.000 تومان
ثبت نام دوره متوقف شده است
کسب دانش بزرگترین سرمایه گذاریه
احسان عبداللهی
موسس و مدیر میکرولرنبا تغییر نوع نگاه، خیلی از نشدنی ها شدنی میشه.
ثبت نام دوره متوقف شده است
نوروزی
درود جناب مهندس،
اگه میشه یک مقایسه اجمالی بین embedded c و آردینو انجام بدین. من زبان c و پایتون بلد هستم و اینطور که تا الان دیدهام منابع آموزشی و همچنین پروژههای گوناگونی با آردینو در وب پیدا میشه که کمک به یادگیری عمیقتر دانشجو میکنن. میخواستم بدونم اگه میشه پروژههای متنوع و حرفهای با آردینو پیاده سازی کرد، هنوز هم یادگیری embedded c توجیه پذیر هست؟
احسان عبداللهی(مدیریت)
درود جناب نوروزی
هر کدام از مواری که فرمودید مزایای خودش را داره و ما همیشه بر اساس کاربرد انتخاب می کنیم.
اگر هدف فقط دنبال کردن ترند روز و چیزی باشه که جذاب تره خب میشه رفت سراغ آردوینو ولی اگر
هدف پیاده سازی یک سیستم اختصاصی real time برای خط تولید یا یک کارگاه یا … هست خب قطعا
پروژه های فانتزی آردوینو دیگه مطرح نیست چون باید همه چیز را خودتون از پایه کد بزنید. بنابراین پیشنهاد
میکنم ابتدا هدف مشخص بشه و سپس نسبت به یادگیری حوزه مورد نظر اقدام کنید.
عادل اسماعیلی( دانشجوی دوره )
سلام
خسته نباشید
مهندس کدی نوشتم شامل میکروکنترلر AVR و ال سی دی کارکتری و یک عدد پتانسیومتر، میخوام مقدار پتانسیومتر از 0 تا 1023 را به درستی روی ال سی دی ببینم.
بار اول که پتانسیومتر میچرخونیم مقدار 0 تا 1023 به درستی نمایش داده میشه اما وقتی میخوایم به صفر برگردیم مقدار به درستی نمایش داده نمیشود و اعداد پرت نمایش میده، بعد از این فقط مقدار ماکزیمم رو به درستی نمایش میده.
یعنی وقتی میخوایم به صفر برگردیم مقدار چهار رقمی قبلی رو به درستی پاک نمیکنه که مقدار صحیح فعلی چاپ بشه
در صورتی که در نرم افزار پاتی مقدار را به درستی نمایش میده.
چطور میتونم این مشکل را برطرف کنم تا اعداد به درستی روی ال سی دی کارکتری چاپ شوند؟
احسان عبداللهی(مدیریت)
سلام جناب اسماعیلی
مشکل شما بخش نمایش روی LCD هست که به درستی انجام نمیشه. وقتی میرسید به 1023 درسته ولی وقتی میخواد مثلا صفر نشون بده فقط عدد 1 عوض میشه ولی باقی رقم ها یعنی 023 را پاک نمی کنید. پس باید lcd را کامل پاک کنید و مجدد نمایش بدید.
سید احسان محمودی( دانشجوی دوره )
سلام اقای عبدالهی من اتمل استودیو رو نصب کردم ولی در قسمت ورودی و خروجی که نیاز به کتابخانهlibrari/global رو داره وقتی برنامه رو کامپایل میکنم ارور میده که این کتابخانه پیدا نشد در صورتی که این کتابخانه رو در مسیر نصب نرم افزار نصب کردم وارور بعدی ارورmain لطفا کمک کنید که علت چیه و باید چکار بکنم. با تشکر از شما محمودی
احسان عبداللهی(مدیریت)
سلام
این مدل خطاها خیلی راحت تر هست که داخل گوگل بزنید چون دیگران هم به این مشکل زیاد بر میخورن سریع از راهنمایی ها می تونید رفعش کنید. به نحوه آدرس دهی کتابخانه ها در ویدیوها با دقت نگاه کنید تا اشتباه کارتون را پیدا کنید.
فایل global را باید در مسیر پروژه طبق توضیحات ویدیو قرار بدید و ارتباطی به مسیر نصب نرم افزار نداره.
عادل اسماعیلی( دانشجوی دوره )
سلام
مهندس اگر بخواهم یک تایمر را در مد شمارنده تنظیم کنم که تعداد پالسها رو بشماره، میشه با همون تایمر عرض پالسها را بخونم و ذخیره کنم یا باید از تایمر دیگه استفاده کنم؟
تایمرهای دیگه برای کارهای دیگه نیاز داریم در صورت امکان نمیخوام تایمر دیگر رو درگیر کنیم
توضیح کاملی بدید لطفاً
میکروکنترلر آرم چند تایمر دارد؟
مهندس در آینده نزدیک تدریس میکروکنترلر آرم مد نظرتون هست؟
احسان عبداللهی(مدیریت)
سلام
وقتی یک تایمر کار شمارنده را انجام میده باید از تایمر دیگه برای محاسبه عرض پالس استفاده کنید.
تعداد تایمرهای میکروهای آرم بیشتر هست و باید به دیتاشیت شماره مدنظرتون مراجعه کنید. برای میکروهای آرم خیر دوره ای ارائه نمیدیم.
عادل اسماعیلی( دانشجوی دوره )
سلام
خسته نباشید
استاد در مد شمارنده تایمر رو تنظیم کردم که پالسها رو در لبه بالا رونده میشماره، صفحه ی انکودری با تعداد ده سوراخ به شفت موتوری متصل است که سرعت ثابتی ندارد و سرعتش متغییر است، از این ده سوراخ یکی از آنها بزرگتر است یعنی پالسی که تولید میکند عرض بیشتری دارد، چطور میتونم وقتی این پالس بزرگتر اعمال میشه به میکرو بفهمونم تا مقدار تایمر رو در هر دور صفر کنم؟
احسان عبداللهی(مدیریت)
سلام جناب اسماعیلی
شما دارید عرض پالس ها رو میخونید پس برای اینکه بتونید پالس بزرگتر را تشخیص بدید باید زمان پالس قبلی را ذخیره کنید و با مقدار فعلی مقایسه کنید. در این صورت می تونید تشخیص بدید که یک پالس بزرگتر اومده و طبق اون عملیات مد نظرتون را انجام بدید.
سید احسان محمودی( دانشجوی دوره )
سلام من دوره اتمل استودیورو خریداری کردم تو قسمت سون سکمنت ها احساس میکنم توضیحات کافی نبود چون با مسایل مربوط به سون سگمنت خیلی زیاده مثلا راه اندازی سون سگمنت با uln2003که من وقتی مدار میبندم تمتم سون سگمنتها 8888 رو نشون میدن لطفا برنانه مربوط با این ای سی رو توضیح بدین از شما متشکرم محمودی.
احسان عبداللهی(مدیریت)
سلام جناب محمودی
متشکرم که نظرتون را انتقال دادید. از اون جایی که به تازگی دوره را شروع کردید مواردی را اشاره می کنم تا به یادگیری شما در طول دوره کمک کنه. دوره را خیلی آهسته و پیوسته جلو برید و سعی نکنید خیلی سریع از روی فیلم ها بپرید. چون هر فیلم تمرین های زیادی داره که شما باید خودتون هم اون را کدنویسی کنید و فقط مشاهده فیلم باعث یادگیری چندانی نمیشه. اگر خودتون هم کدنویسی کنید چون به چالش های زیادی بر می خورید و مجبور به حل کردن اون ها میشید قطعا درک عمیق تری به دست خواهید آورد. بخش سون سگمنت را ما خیلی مفصل و با جزئیات زیاد بحث کردیم و انواع روش های راه اندازی در اون مطرح شده. آیسی uln2003 چون یه بافر تامین جریان هست مدنظر ما نبوده و در بخش استپر موتور به اون پرداختیم. در بخش سون سگمنت یکی از اهداف اصلی ما این بوده که با مصرف تعداد پین کمتر بتونید سون سگمنت های متعددی را راه اندازی کنید.
mehdi.mostafavi73( دانشجوی دوره )
سلام. من این دوره رو خریدم. اما کلیپ ها بعد از چند دقیقه قطع میشوند. فایل کلیپ ها خراب است. لطفا در صورت امکان فایل سالم را برای من بفرستید.
احسان عبداللهی(مدیریت)
سلام جناب مصطفوی عزیز
ما به صورت دوره های فایل ها را بررسی می کنیم که دچار اشکالی نشده باشند. از این جهت خیالتون راحت باشه که فایل ها سالم هستند. دلیل کامل پخش نشدن فایل ها دانلود ناقص هست. لطفا با یک اینترنت پایدار مجددا فایل ها را به صورت کامل دانلود کنید تا بتونید به راحتی از دوره استفاده کنید.
علی بابائی( دانشجوی دوره )
سلام وقت شما بخیر من به تازگی دوره را عضو شدم و اتمل استودیو 7 رو برای شروع نصب کردم اما متاسفانه وقتی که می خوام پروژه جدیدی رو با میکروی مورد نظر ایجاد کنم ارور زیر روی صفحه نمایش داده می شه
exception error has been thrown by the target of an invocation
میشه راهنمایی کنید چه چیزی میتونه مشکل ایجاد کرده باشه ؟
احسان عبداللهی(مدیریت)
سلام به دوره خوش اومدید
خطای “Exception error has been hedhed by target of an invocation” معمولاً نشون میده که در هنگام تلاش برای اجرای یک متد یا تابع در Atmel Studio یک استثنا رخ داده.
ممکن هست دلایل مختلفی برای رخ دادن این خطا وجود داشته باشد، از جمله: یک خطا در خود کد یا مشکل در پیکربندی پروژه.
برای حل مشکل، می تونید مراحل زیر را امتحان کنید:
کد را برای هر گونه خطا یا استثناء بررسی کنید و سعی کنید گام به گام کد را اشکال زدایی کنید.
توصیه می کنم ویدیوی ساخت پروژه را چندین بار ببینید و مرحله به مرحله تست کنید تا متوجه جایی که اشتباه کردید و پروژه خراب شده بشید.
علی بابائی( دانشجوی دوره )
خیلی ممنونم از پاسخگویی شما. منتها مشکل اینجاست در همون ابتدای برنامه بعد از انتخاب excute project و انتخاب زبان سی وقتی که به مرحله انتخاب میکرو می رسم و میکروی مورد نظر رو انتخاب می کنم ، این ارور ظاهر می شه و یعنی اصلا به مرحله کد و نمایش کد و اینا نمی رسه . از چندجای مختلف هم برنامه رو دانلود کردم ، نصب مجدد کردم ولی متاسفانه نتیجه ای حاصل نشده و خود میکرو چیپ علتش رو مورد زیر بیان می کنه اما متوجه منظورش نمی شم
Atmel Studio neither installs under a guest account nor runs under it.
آیا نکته خاصی در خصوص ویندوز یا ویژوال استودیو و .. چیزی هست که چک کنم ؟
احسان عبداللهی(مدیریت)
من شخصا با این خطا رو به نشدم اما طبق بررسی که کردم ظاهرا علت چنین چیزی هست:
شما باید با یک حساب administrator یا مدیر وارد سیستم خودتون بشید. چون که Atmel Studio به مجوزهای خاصی در سطح سیستم نیاز داره که برای حسابهای مهمان در دسترس نیست.
منظور اینه که با اکانتی به سیستم خودتون لاگین کنید که دسترسی کامل داره. احتمالا مشکل از اینجا باشه. بررسی کنید و اگر حل نشد اطلاع بدید.
علی بابائی( دانشجوی دوره )
این موضوع رو بررسی کردم و کامپیوتر خودم کلا یک اکانت بیشتر نداره و حتی هنگام اجرا از گزینه run as adminstor استفاده می کنم ولی خب مشکل همچنان باقیه . من فکر می کنم به دلیل نصب برنامه جاوا که قبلا داشتم و تغییر مسیر path و یا تغییراتی توی سیستم عامل باعث چنین چیزی میشه ولی خب علتشو نمی تونم پیدا کنم چون طبق تحقیق هایی که توی سایت های مختلف کردم همین مورد رو ذکر کردند و اینکه ویندوز من 7 و 64 بیتی هستش این موارد که تاثیر گذار نیست ؟
البته لازم به ذکره که موقع نصب اوایل به آپدیت ویندوز خطا نشون می داد که خودش kb مورد نیاز برای برنامه رو توی خطا توضیح داد و من kb رو برای ویندوز 7 از خود سایت ماکروسافت دانلود و نصب کردم و نمی دونم شایدم همین آپدیته مشکل باشه یا نه
احسان عبداللهی(مدیریت)
من بیشتر از 7 ساله که دیگه از ویندوز هفت استفاده نمی کنم. این ویندوز هم الان دیگه براش آپدیت رسمی منتشر نمیشه و این میتونه علتی برای این موضوع باشه. البته در اون زمان که با ویندوز 7 کار می کردم مشکلی با اتمل استدیو نداشت و به خوبی کار می کرد.
طبق مواردی که خودتون گفتید تغییراتی در ویندوز شما ایجاد شده که الان جلوی اجرای نرم افزار را می گیره. پیشنهاد میکنم روی یک سیستم دیگه آزمایش کنید و اگر با ویندوز فعلی نتیجه نگرفتید به ویندوز 10 سوئیچ کنید.
علی بابائی( دانشجوی دوره )
وقت شما بخیر ممنون از راهنمایی شما مشکل از نسخه های قدیمی ویژوال استودیو و تنظیمات ویندوز بود که با نصب مجدد ویندوز 7 روی سیستم این بار مشکل حل شد و نصب بدرستی انجام شد.
ممنون از راهنمایی شما .//
یک سوال هم در خصوص نحوه خواندن مقدار و محتوای پین ورودی داشتم مثلا در کدویژن مقدار پین سوم از پورت A با کد (PINA.3) قابل خواندن بود برای این کار در محیط اتمل نمی توان مستقیم به پایه خاصی اشاره کرد ؟ وحتما برای خواندن مقدار پین ها باید از توابع کتابخانه استفاده شود؟
احسان عبداللهی(مدیریت)
درود
بسیار عالی که مشکل نصب حل شد.
اتمل استودیو مثل کدویژن نیست که یک دستور خاص برای دسترسی به یک پایه براش ساخته باشند. برای همین ما در کتابخانه یک دستور براش نوشتیم و از اون استفاده می کنیم. کمی که با اتمل استودیو کار کنید متوجه تفاوت های اون با کدویژن خواهید شد.
محمد رضا شرافت( دانشجوی دوره )
سلام خداقوت
تشکر می کنم بابت وقتی که گذاشتید و مباحث درسی بسیار عالی و جامع مخصوصا اینکه پروژه محور هستند را تدوین کردید.
یک سوال داشتم فایل سورس پروژه های که به صورت تمرین یا پروژه پایانی هستش را باید از کجا دریافت کنیم؟
احسان عبداللهی(مدیریت)
سلام محمدرضا جان
مرسی از لطفی که داری
این دوره حاصل چندین سال تجربه صنعتی و تدریس هست و خوشحالم که تونسته کمک کننده باشه.
پروژه هایی که در پایان هر بخش اومده بدون جواب هستند. چون خاصیت ذهن اینه که وقتی میبینه جوابی وجود داره که میشه سریع بهش نگاه کنه دیگه تلاش نمی کنه.
بنابراین وقتی بدونید هیچ جواب آماده ای براتون وجود نداره خودتون با تلاش جواب را به دست میارید. و این باعث میشه تا آموزش ها و تمرین های حل شده هر بخش به نتیجه ای که لازمه برسه.
یاسر
سلام مهندس
اگه بتونید مشکل یک کد ساده من رو حل کنید دوره تونو میخرم…قضیه اینه که در atmega 16 A میخوام وقتی( با فشارکلید شاسی)ورودیA0 پنج ولت شد ال ای دی D0 روشن بشه و وقتی شاسی رو فشار ندیم ال ای دی خاموش شه؟
این کد رو نوشتم ولی ال ای دی نیمه روشنه و با فشار کلید روشن تر میشه!؟!؟!!؟!؟
احسان عبداللهی(مدیریت)
سلام
شما باید کلیدخوانی را به درستی و با استفاده از فعال کردن مقاومت پول آپ یا پول داون انجام بدید تا هیچ وقت ورودی که از کلید خونده میشه حالت شناور پیدا نکنه. اگر این نکته را رعایت کنید و ست افزار را درست ببندید به راحتی کار میکنه. البته در فصل اول دوره مواردی که عرض کردم را به طور کامل توضیح دادم.
یاسر
سلام ببخشید در این دوره در پروژه عملی مثلا ال سی دی خود ال سی دی وفیزیک کار رو نشون میدین یا فقط پاور پوینته؟
احسان عبداللهی(مدیریت)
سلام
اغلب کار ما در این دوره تمرکز بر نوشتن برنامه اصولی بر طبق ملاحظات سخت افزار هست. شما تمام نکات مربوط به سخت افزار LCD و نحوه پیاده سازی عملی اون را فرا خواهید گرفت.
bahreini.1987( دانشجوی دوره )
وقتتون بخیر
میخواستم بدونم برای کنترل LCD 20×4 از طریق ماژول واسط I2C که به پایههای SCL و SDA میکروهای خانوادهی Atmega متصل میشن، آموزشی وجود داره در سایت شما؟ مخصوصا بخش برنامهنویسی ارتباط میکرو به ماژول I2C. متشکرم
احسان عبداللهی(مدیریت)
سلام
برای ماژول مد نظر آموزشی تولید نشده ولی برای بخش I2C می تونید به مقاله زیر مراجعه کنید:
https://microlearn.ir/2228/i2c.html
bahreini.1987( دانشجوی دوره )
متشکر از پاسختون. بله این آموزش رو دیده بودم.
اما میخواستم خواهش کنم در صورت امکان آموزشی (در صورت امکان تصویری) برای این مورد ارائه بفرمایید. چنین چیزی حتی در سایتهای غیر فارسی زبان یا موجود نیست یا صرفا برای LCD 16×2 ارائه شده تغییر کدی اینچنینی برای یه دانشجو کار سختی هست و نیاز به آموزش داره.
پیشاپیش ممنون
احسان عبداللهی(مدیریت)
ممنون از پیشنهادتون
حتما بررسی می کنیم.
احمد
سلام میخواستم بدونم تو این دوره به صورت عملی چه چیزی رو پیاده سازی می کنیم
احسان عبداللهی(مدیریت)
سلام
این دوره تماما بر اساس پروژه هایی هست که شما باید ابتدا شبیه سازی کرده و سپس روی برد هم آزمایش کنید. دقت کنید که کار اصلی شما نوشتن کد و مرحله شبیه سازی هست و بخش پیاده سازی روی برد و تست شاید 20 درصد کار شما رو تشکیل بده چرا که مهم نوشتن برنامه ای هست که به درستی میتونه کار کنه. هم در شبیه سازی و هم در برد اصلی. چیزی که خیلی از دوستان ازش ساده رد میشن کد نویسی با کیفیت هست. صرف اینکه شما کدی را رو برد جواب بگیرید به این معنا نیست که شما توانایی لازمه را کسب کردید. اما در این دوره پروژه های متعددی مثل انواع رقص نور، شیوه های کلید خوانی ماتریسی، روش های صنعتی راه اندازی سون سگمنت، کار با آیسی های مالتی پلکس، راه اندازی lcd های کاراکتری و گرافیکی، برنامه نویسی پیشرفته استپر موتور و … آموزش داده میشه. برای جزئیات به فهرست دوره مراجعه کنید.
bahmany1380
سلام من دوره رو خریدم و زبان c++بلدم ایا بدون یادگیری زبان cمیتونم با اموزش ها کار کنم
احسان عبداللهی(مدیریت)
درود
اگرچه زبان سی و سی پلاس پلاس اشتراک های زیادی دارند ولی به دلیل اینکه سی پلاس پلاس عمدتا شی گرا هست ولی سی ساختاریافته هست پس نوع برنامه نویسی این دو زبان با هم تفاوت میکنه. پیشنهاد میکنم به سرفصل های دوره سی نگاه کنید. اگر در سرفصل ها احساس نیاز کردید دوره را شرکت کنید. توجه کنید که مطالعه میکروکنترلر بدون تسلط به زبان سی شبیه به حرکت کردن خودرو بدون سوخت هست و اصلا توصیه نمیشه. لینک دوره زبان سی:
https://microlearn.ir/product/c-prog-micro
ziaee.mr1( دانشجوی دوره )
تابع flickerروهرچی فراخوانی می کنم نرم افزار قبول نمیکنه
مشکلش چیه؟
احسان عبداللهی(مدیریت)
اساسا در برنامه نویسی این مدل سوال پرسیدن اشتباهه چون کسی بدون دیدن کد نمیتونه نظر بده. برای رفع این مشکل اگر کاملا به زبان C مسلط باشید باید چک کنید که خطا چیه و چرا تابع فراخوانی نمیشه. در غیر این صورت اول پایه زبان سی را قوی کنید و سپس سراغ میکرو برید.
ziaee.mr1( دانشجوی دوره )
سلام ،ببخشید مهندس در اتمل استودیو بخوایم بگیم اگر پورت B.5
فعال شد بیا پورتC.6رو فعال کن به چه صورت هستش؟
احسان عبداللهی(مدیریت)
سلام
داخل دوره توابعی مثل sbi و cbi برای فعال و غیرفعال کردن هرکدام از بیت های درگاه ها معرفی کردیم. برای خواندن مقدار یک بیت هم از تابع checkbit می تونید استفاده کنید.
حتما بخش درگاه ها را با دقت مرور کنید تا به راحتی بتونید کد مورد نظرتون را بنویسید.
mohammadrezahaji08( دانشجوی دوره )
سلام
استاد عزیز این کتابخانه library که باید در برنامه include کنیم خودتون نوشتین یا بصورت استاندارد وجود داره؟
اگر خودتون نوشتین بهتر نیست که از کتابخانه استفاده نشه و کدهای کتابخانه رو تو برنامه بزنیم تا اون کد ها رو یاد بگیریم؟
احسان عبداللهی(مدیریت)
سلام
لطفا نام کتابخانه را بفرمایید تا بهتر راهنمایی کنم.
توجه کنید که کتابخانه چه استاندارد باشه چه خودتون نوشته باشید تفاوتی نداره و بهتره از اون استفاده کنید. نوشتن تمام کد در یک فایل کار صحیحی نیست که در طول دوره به این موضوع کاملا اشاره شده.
موفق باشید.
kamran
سلامو مهندس وقتتون بخیر
جزوه ای که از رویه اون درس می دهید رو هم در د.را در اختیار دانشجویان دوره قرار می دهید
احسان عبداللهی(مدیریت)
سلام دوست عزیز
صرف داشتن جزوه خیلی کمک کننده نیست، ضمن اینکه نوشتن مطالب ضمن تدریس ویدیو باعث فهم بهتر برای شما میشه.
دقت کنید که درک اصلی زمانی اتفاق میوفته که شما تمرین و پروژه اجرا کنید و کد بزنید. بنابراین روی این موضوع تمرکز کنید.
m.javadjj79( دانشجوی دوره )
سلام استاد وقتتون بخیر
ببخشید امکانش هست فیلمی برای استفاده از کتابخونه های uart و spi و twimaster منتشر کنید تا بتونیم از این کتابخونه ها توی پروژهامون استفاده کنیم؟
متشکرم
احسان عبداللهی(مدیریت)
سلام
بله حتما. ولی برای زمانش فعلا نمیتونم قول قطعی بدم.
سیاوش
سلام وقت بخیر
برای بدست آوردن توان یک عدد به عددی دیگر چیکار باید کنیم؟
محاسبه کمی پیچیده هست اگر از for استفاده کنم خیلی کدها زیاد و میشه و بهینه نیست
کتابخانه ای برای انجام ریاضیات داره کامپایلر؟
ممنون
احسان عبداللهی(مدیریت)
سلام
بله قطعا زبان C کتابخانه ریاضیات برای عملیات پایه داره. تابع pow را گوگل کنید و داکیومنت استفادش را بخونید.
احسان عبداللهی(مدیریت)
سلام
ببینید دوست عزیز اگه قرار باشه ما داخل یک دوره الگوریتم، زبان سی، الکترونیک دیجیتال، پروتئوس، کار با آیسی ها و … را توضیح بدیم این دوره میشه 100 ساعت و برای همه مفید نیست.
ما در توضیحات دوره گفتیم که این دوره پیش نیازهایی داره و اگه اون ها را بلد نیستید ابتدا اونها رو یاد بگیرید.
برای بحث آیسی های لچ شیفت رجیستر ما یک دوره مجزا به نام الکترونیک دیجیتال تهیه کردیم و توضیح دادیم. دقت کنید الکترونیک دیجیتال و بحث میکروکنترلر AVR متفاوت از هم هستند. حتی در دانشگاه هم این دو مبحث را در واحدهای جدا تدریس می کنند.
عادل اسماعیلی( دانشجوی دوره )
سلام جناب مهندس عبداللهی
امیدوارم حالتون خوب باشه
مهندس یه ورودی Vcc یا Gnd داریم بنا به دلایلی میخوایم به دو میکروکنترلر یا آردوینو إعمال کنیم.
توی عملکرد میکروکنترلر یا آردوینو اختلال ایجاد میشه یا نه؟
مثلا احتمال داره یکی از میکروکنترلر یا آردوینو اون ورودی بهش اعمال نشه؟
احسان عبداللهی(مدیریت)
سلام جناب اسماعیلی
اگر قراره این دو میکرو عملیات مرتبط داشته باشند اشکالی نداره ولی اگر به هم مرتبط نیستید تغذیه هر کدام جدا باشه بهتره.
نکته ای که باید دقت کنید این که محدوده ولتاژ را رعایت کنید تا اختلالی برای کار میکروکنترلر پیش نیاد.
عادل اسماعیلی( دانشجوی دوره )
سلام جناب مهندس
امیدوارم حالتون خوب باشه
استاد توی برنامه نویسی حداکثر میتوانیم از چند دستور if استفاده کنیم؟
مثلا من میخوام از ده if پشت سر هم استفاده کنم
آیا محدودیت دارد؟
ممنونم از شما
احسان عبداللهی(مدیریت)
سلام جناب اسماعیلی
این سوال را در دوره آردوینو هم پرسیده بودید و پاسخ دادم.
خیر محدودیتی از نظر عددی نداریم. ولی شما باید در نوشتن برنامه ببینید که آیا نوشتن این تعداد if واقعا ضرورت دارید یا خیر. اگر ضرورت داره و راهکار بهتری برای انجامش نیست میتونید بنویسید.
عادل اسماعیلی( دانشجوی دوره )
سلام استاد، خسته نباشید، امیدوارم که حالتون خوب باشه.
استاد من میخوام تغذیه میکروکنترلر یا آردوینو را از باتری ماشین بگیرم، مثلا اگر باطری من ۱۲ ولت و ۶۰ آمپر باشد چطور باید ولتاژ رو به ۵ ولت مناسب برای تغذیه آردوینو تبدیل کنم؟ ریگولاتور 7805 استفاده کردم اما ریگولاتور فوری سوخت، احتمالا باید اول جریان را به کمک مقاومت کم کنم بعد ولتاژ را، در این باره توضیحی بدید.
ممنون از شما.
احسان عبداللهی(مدیریت)
سلام
همونطور که خودتون هم گفتید جریان بسیار زیاد باطری باعث سوختن رگولاتور میشه. پس باید قبل از رگولاتور جریان رو کم کنید.
استفاده از مقاومت روش مناسبی نیست چون هدر رفت حرارتی بالایی داره. بهتره از کاهنده های آماده که در بازار هست استفاده کنید.
mahdi.bababeik.313( دانشجوی دوره )
سلام
کتابخانه هایی که فایلشو در اختیارمون گذاشتین رو چطور باید به اتمل استودیو بدیم که در حین کد زدن بتونیم هدرش رو صدا بزنیم و استفاده کنیم. منظورم اینه که آیا می شه که هر بار بدون اینکه بخواهیم آدرس بدیم کتابخونه رو صداش کنیم مثل برنامه نویسی نرم افزار؟ و یه سوال دیگه اینکه چطور می شه پس زمینه رو مشکی کرد؟
احسان عبداللهی(مدیریت)
سلام
در اوایل دوره روش اضافه کردن فایل های کتابخانه به هر پروژه توضیح داده شده. ویدیوهای بخش ورودی خروجی را به دقت مشاهده کنید. در هر پروژه جدید باید کتابخانه های پروژه را آدرس دهی کنید.
پس زمینه را از بخش option و general میتونید در قسمت color theme عوض کنید.
tarktaraktarik
سلام.خداقوت.
1-این دوره آموزش بخش عملی هم داره.مثلابستن عملی مدارها رو برد برد؟
2-این دوره آموزش اتصال پروگرامر به کامپیوتر و معرفی اون به ویندوز 10 داره؟
اگر هست امکان داره چند دقیقه از اون رو برای نمونه قرار بدید تا بتونیم با اطمینان و خیال راحت دوره رو تهییه کنیم.
سپاس
احسان عبداللهی(مدیریت)
سلام
متشکرم
یک نکته مهمی هست که لازمه دوستان توجه کنند. طریقه بستن مدار روی برد بورد یک اطلاعات عمومی الکترونیک هست که جای آموزش اون در دوره میکروکنترلر نیست. بلکه شما در آزمایشگاه های الکترونیک باید اون را یاد بگیرید. بنابراین ما در این دوره چنین موردی را آموزش نمیدیم. اما تمام مواردی که آموزش میدیم برشهایی از پروژه های کاملا عملی و صنعتی هست که شما را برای کار واقعی آماده می کنه. شما با دیتا شیت ها و شماتیک مدارها در دوره آشنا میشد تا بتونید قطعات را به طور صحیح به هم وصل کنید. همینطور برنامه نویسی را به طور کامل آموزش می بینید تا بتونید کدهای صحیح صنعتی بنویسید.(نکته ای که بسیار مهمه. یعنی اگر شما کدنویسی اصولی انجام ندید باقی کارها به نتیجه می مونه)
برای بخش پروگرام کردن میتونید به مقاله های رایگان ما در لینکهای زیر مراجعه کنید:
https://microlearn.ir/1246/progisp.html
https://microlearn.ir/4761/fuse-bits.html
در نهایت مطمئن باشید این دوره شما را کاملا برای کار واقعی آماده می کنه. فقط باید با صبوری براش وقت بگذارید و کدنویسی کنید تا به نتیجه دلخواه برسید.
موفق باشید
m.javadjj79( دانشجوی دوره )
سلام مهندس یه مشکلی توی تولید موج FAST PWM دارم
وقتی که مثلا میخوام یه موج با فرکانس 50Khz و دیوتی سایکل 40 درصد توی تایمر 0 درست کنم اصلا درست در نمیاد.
محاسباتمم درسته مقادیرم به صورت زیره
TCNT0 = 235 و OCR0 = 245 بدنه کد هم دقیقا همون چیزی هست که توی جلسه PWM فرمودید.
ولی فرکانسم درمیاد 43Khz دیوتی سایکل هم چیزی طرفای 65 70 درصد درمیاد.
چجوری میشه این موج PWM رو دقیق تر ایجاد کرد؟
احسان عبداللهی(مدیریت)
سلام
خیلی عالیه که طبق آموزش محاسبه کردید و مشکلتون را مطرح کردید.
ببینید وقتی قراره یک موج تولید کنیم با توجه به فرکانس میکروکنترلر و همینطور تعداد بیت های شمارنده تایمر(8 یا 16 بیت) یک محدودیتی خواهیم داشت.
اگه یادتون باشه گفتیم که اون حداقل گامی که تایمر میتونه بر اساس اون بشماره محدودیتی هست که باعث میشه بعضی از فرکانس ها با کمی خطا تولید بشن.
حالا برای اینکه بار آموزشی سوال همچنان براتون حفظ بشه شما بیاد یک بار دیگه طبق فرکانس میکروکنترلر محاسبات کنید و ببینید که برای تولید موج مورد نظر چقدر خطا خواهید داشت.
نتیجه کارتون را هم میتونید در کامنت بنویسید.
علی اژدری
سلام مهندس
ایا سینتکس نرم افزار IAR هم مثل اتمل استدیو هست و نوع کد هاش شبیه یا نه ممنون میشم اگر اطلاعی دارین توضیح بفرمایید
احسان عبداللهی(مدیریت)
سلام
سینتکس تفاوت داره ولی قوانین زبان سی تفاوتی نداره.
masoudimohammad174( دانشجوی دوره )
عرض سلام
کتابخانه های LCD را به پروژه اضافه کردم برنامه ایراد میگیره میشه بگید چرا؟
ضمنا مسیر فایل h. را اضافه کردم
احسان عبداللهی(مدیریت)
سلام
در آموزش این مورد شفاف توضیح داده شده. مجدد با دقت مشاهده کنید مشکلتون حل میشه.
Amir2642( دانشجوی دوره )
سلام اقای مهندس.
من همونطور که گفته بودید قدم به قدم همه چیز رو نگاه کردم ولی نمیتونم ایراد کارم رو متوجه بشم.
میشه لطف کنید و یه نگاه مخصری به کدی که براتون فرستادم بندازید و اگر ایرادی دیدید بهم بگید.
الان بیش تر از دو هفته هست که از جلسه ی 6 اموزش جلوتر نتونستم برم و هر کاری هم میکنم مشکلش رو متوجه نمیشم و واقعا سردرد گرفتم دیگه.
ممنون از راهنماییتون
احسان عبداللهی(مدیریت)
سلام
باشه حتما بررسی میکنم و نتیجه را در واتس اپ به شما میگم.(اگه برای بقیه جنبه آموزشی داشت این جا پاسخ میدم)
فقط یک موردی را دقت کنید. از اینکه در حل تمرین سردرگم شدید نگران نباشید. همه این ها تجربه میشه تا تمرین ها و پروژه های بعدیتون را بهتر انجام بدید.
Amir2642( دانشجوی دوره )
سلام
ممنون اقای مهندس لطف میکنید.
Amir2642( دانشجوی دوره )
سلام اقای مهندس
من فایل های
Main.c و Config.c و Config.h
رو ساختم و به اون نحوی که گفته بودید اضافه کردم به برنامه ولی وقتی که میخوام دیباگ کنم با این ارور ها مواجه میشم :
u/library/global.h: No such file or directory
unterminated #ifndef
* recipe for target config,o failed
00 recipe for target main,o failed
library/config.h: No such file or directory
لطفا راهنمایی کنید که دلیل این خطا ها در زمان دیباگ کردن برنامه چی هست ؟.
همچنین میشه فایل های مخصوص به این برنامه رو که در آموزش نوشتید رو برام ارسال کنید تا من بتونم یک مقایسه ای با اون چیزی که خودم نوشتم داشته باشم ؟.
ممنون از وقتتون
احسان عبداللهی(مدیریت)
درود
دلیل این خطاها اینه که در یکی از مراحلی که در ویدیو گفته شده یک ریزه کاری جا انداختید. چون الان مسیر را نمیشناسه.
معمولا برای دوستانی که تازه وارد دوره میشن رخ دادن این خطا خیلی شایع هست. بنابراین توصیه می کنم چندین بار ویدیو را بررسی کنید و طبق همون پروژه را یک بار دیگه بسازید تا خطا رفع بشه.
اگر بازم به مشکل خوردید چند بار سعی کنید تا خودتون حلش کنید(روی این موضوع تاکید میکنم) ولی اگر باز هم نشد کدتون را در واتساپ بفرستید.
موفق باشید.
Amir2642( دانشجوی دوره )
سلام اقای مهندس
ممنون. من مشکل ارور ها متوجه شدم که چی بود و رفعشون کردم به وسیله اضافه کردن کتابخانه ی global و همچنین قرار دادن #endif در آخر برنامه مربوط به هدر.
اما الان یک مشکلی که وجود داره این هست که برنامه به درستی کار نمیکنه و زمانی که پین شماره صفر مربوط به پورت A رو یک میکنم پالس ها رو ایجاد میکنه و برعکس و خاموش و روشن بودن بقیه کلید ها هیچ تاثیری نداره در روند برنامه.
احسان عبداللهی(مدیریت)
سلام
بسیار عالی
توجه داشته باشید که بررسی کد را باید خودتون طبق آموزش انجام بدید تا به درستی مفاهیم را یاد بگیرید.
اما برای اینکه بتونم کمکتون بکنم شما بهتره توضیح بدید چه روندی را طی کردید و من طبق استراتژی که دنبال می کنید راهنماییتون میکنم که به نتیجه برسید.
Amir2642( دانشجوی دوره )
سلام
برنامه ای که من نوشتم دقیقا همون برنامه ای هست که شما در جلسه ی شماره ی 6 توضیح داده بودید ( همونی که گر تعداد کلید های روشن زوج بود یک فرکانس 500 هرتز تولید میشد و در غیر این صورت در صورت فرد بودن کلید های روشن فرکانسی تولید نمیشد.
ولی همونطور که گفتم برنامه به درستی اجرا نمیشه و فرکانس فقط با روشن و خاموش شدن کلید متصل به پایه صفر پورت A کار میکنه و روشن و خاموش بودن بقیه کلید ها هیچ تاثیری در روند اجرای برنامه ها نداره.
کدها هم هیچ تفاوتی با اون چیزی که خودتون نوشته بودید در اموزش نداره.
ممنون.
احسان عبداللهی(مدیریت)
وقتی گفته میشه که “کدها هم هیچ تفاوتی با اون چیزی که خودتون نوشته بودید در اموزش نداره.” یعنی شما 100 درصد به کد مطمئن هستید.
پس اگر کار نمی کنه اشکال به سخت افزار بر میگرده که در عمل یا پروتئوس باید اون را دیباگ کنید و ببینید کجا یک ریزه کاری جا افتاده.(البته مراقب باشید که خود پروتئوس دچار مشکل نشده باشه)
کلا استراتژی شما در رفع خطا باید بلوکی باشه. بلوک سخت افزار را پله پله باید چک کنید و با دقت دنبال یک اشکال بگردید.
بعد از اطمینان از سخت افزار اغلب مشکلات از نرم افزار ناشی میشه. به همین دلیل بهتره پله پله چک کنید که آیا هر بخش از کد داره به درستی کارش را انجام میده یا نه. میتونید هر قسمت از برنامه را با یک حلقه بی نهایت متوقف کنید و تا مطمئن بشید که اون بخش کار می کنه یا نه.
در نهایت بعد از این مراحل خطا پیدا میشه و مدار کار میکنه.
Amir2642( دانشجوی دوره )
خیلی مممنون از راهنماییتون مهندس.
این مراحلی که گفتید رو انجام میدم تا ببینم مشکل چیه.
a.r.s.d.r.1370( دانشجوی دوره )
سلام مهندس وقتتون بخیر
در مورد منو نویسی در ال سی دی سوال دارم:
1- سوالم اینه که چطور میتونم تابعی بنویسم که از کیپد عددی رو بخونه و نگه داره داخل یک متغیر و تا زمانی که عدد رو نخوندم و ریخته نشده در متغیرم میکرو همونجا بمونه و یجورایی استپ بشه؟
2- سوال دیگرم اینه که از طریق کیپد من فقط میتونم یک عدد یک رقمی رو بزنم و دریافت کنم ولی برای مثلا سِت کردن ساعت از نوع 24 ساعتی نیاز به زدن دوبار کیپد که بشه 2 عدد متفاوت به طور مثال ساعت 18 رو بخوام از ورودی بگیرم باید چکار کنم ؟ یکبار عدد 1 رو باید بزنم و دوباره عدد 8 رو بزنم چکار کنم که این 2 عدد معنی 18 رو بده؟
ممنونم
احسان عبداللهی(مدیریت)
درود
پاسخ سوال اول:
اگر می خواید برنامه یک جا بمونه و روند اجرا جلو نره میتونید یه حلقه بینهایت بگذارید البته با شرط خروج که بعد از رخ دادن شرط ازش خارج بشه. برای دریافت عدد توسط کیپد هم به فصل کیپد مراجعه کنید و ازش الگو برداری کنید.
پاسخ سوال دوم:
دریافت اعداد بزرگتر ساده هست. شما دهگان را میگیرید و بعد یکان(مثلا 21). حالا دهگان را در ده ضرب می کنید و با یکان جمع می کنید و در یک مغیر ذخیره می کنید. این روند برای اعداد بزرگتر هم قابل تعمیم دادنه.
a.r.s.d.r.1370( دانشجوی دوره )
مهندس سپاس از شما تونستم درستش کنم.
واقعا ممنونم بایت راهنماییتون
احسان عبداللهی(مدیریت)
اگه تونستید مشکل را حل کنید یعنی در مسیر درست هستید.
تا آخرش همینطوره. به مشکل میخورید تحقیق می کنید و حلش می کنید.
هیچ مسیر میانبری وجود نداره.
با قدرت رو به جلو پیش برید.
a.r.s.d.r.1370( دانشجوی دوره )
ممنون از آموزشتون خیلی نیاز داشتم به همچین آموزشی از اتمل استودیو ممنونتونم سپاسگزارم مهندس بابت همه چیز / چشم فقط روبه جلو / چون خیلی علاقه دارم که سیستمی با برنامه نویسی من عملی رو انجام بده بازم ممنون
احسان عبداللهی(مدیریت)
درود به شما
🙂 🙂 🙂
mortezafar1997( دانشجوی دوره )
سلام.
مهندس میشه لطف کنید مسیری که رفتین و صفحه نرم افزار رو مشکی کردین بفرمایید
احسان عبداللهی(مدیریت)
سلام
برای سوئیچ کردن به dark theme می تونید از مسیر زیر استفاده کنید:
Tools > options > environment > generel
سپس از سمت راست color theme را روی حالت Dark قرار بدید.
موفق باشید
علی
سلام. کدنویسی در محیط کدویژن با اتمل فرقی داره؟
احسان عبداللهی(مدیریت)
سلام
بحث در مورد اتمل استدیو و کدویژن و اینکه چرا باید از اتمل استدیور استفاده کنیم بسیار زیاده و در حد یک کامنت خیلی نمیشه خیلی توضیح داد. البته داخل توضیحات دوره صحبت کردیم. اما به چند مورد اشاره می کنم که بهتر آشنا بشید:
محیط اتمل استدیو برای کدنویسی بسیار با کیفیت هست و قابلیت پیش بینی کد داره و چشم را خسته نمی کنه.
اتمل استدیو کاملا رایگان هست بنابراین مشکلات کرک و هم چنین خطاهای پیش بینی نشده به دلیل کرک شدن را نداره.
کدهایی که اتمل استدیو تولید می کنه به دلیل اینکه توسط کمپانی سازنده AVR تولید شده بسیار بهینه و با کیفیت هست.
برای اتمل استدیو به طور منظم آپدیت میاد و به روز هست.
کدهای قابل استفاده در اتمل استدیو برای آردوینو هم به کار میاد و در ضمن کتابخانه های زیادی میتونید براش پیدا کنید که همگی متن باز هست.
در کد اتمل را برای کدنویسی حرفه ای و محیط صنعت خیلی توصیه می کنیم چون امتحانش را به خوبی پس داده.
علی
تشکر. من منظورم نوع کدنویسی هست.
یعنی دستورات و برنامه نویسی که به زبان c در اتمل و کدویژن فرقی میکنن با هم؟
یعنی میشه همون کد اتمل کپی کرد داخل کدویژن هم اجراش کرد؟
احسان عبداللهی(مدیریت)
هر دو به زبان C هستند بنابراین از نظر syntax فرقی ندارند ولی نوع توابعی که در هر کدوم هست قطعا متفاوته. همینطور نحوه دسترسی به وقفه ها و دسترسی و پین ها هم با هم دیگه تفاوت داره.
به طور کلی در سطح دسترسی با سخت افزار با هم فرق دارند. اما کدهایی که برای لایه های بالاتر نوشته میشه خیلی تفاوت نداره در چه محیطی باشه.
عادل اسمعیلی( دانشجوی دوره )
سلام مهندس
خسته نباشید
مهندس در تایمرها() delay بر حسب میلی ثانیه است و یک واحد یک واحد افزایش یا کاهش می یابد
من میخوام بوسیله پتانسیومتر delay رو بر حسب همون میلی ثانیه اما با دقت اعشار، مثلا ۱.۱ ، ۱.۲، ۱.۳ افزایش یا کاهش یابد
میشه از تابع delay استفاده کرد یا باید از تابع delay Microseconds استفاده کنیم؟
احسان عبداللهی(مدیریت)
درود
برای ساخت زمان خیلی دقیق باید از خود تایمر و نه هیچ تابعی استفاده کنید. برای ساخت زمان دقیق به درسنامه تایمرهای دوره مراجعه کنید.
تابعی هم که نام بردید برای آردوینو کاربرد داره و نه بحثی که در دوره اشاره کردیم.
a.r.s.d.r.1370( دانشجوی دوره )
سلام خدمت مهندس عزیز / در مورد تمرین آخری بخش سون سگمنت میخواستم بدونم چطور عدد هارو روی سون سگمنت مالتی پلکسر بصورت ثابت قرار بدم ؟ روی یک سگمنت میتونم عدد قرار بدم ولی بقیه پاک میشن مشکلم پاک شدن بقیست چکار کنم ؟ ممنونم بابت راهنمایی هاتون
احسان عبداللهی(مدیریت)
درود
روش کار اینجا هم مالتی پلکس هست. بنابراین شما باید در هر لحظه یکی از پایه های سون سگمنت مالتی پلکس را فعال کنید و دیگران غیر فعال باشند. حالا اگه این تغییر با سرعت کافی انجام بشه همه سگمنت ها را روشن می بینید. روش کار ما مثل همون چیزی هست که در تمرین های قبلی داشتیم فقط از ابزار پیشرفته تری استفاده می کنیم.
عادل اسمعیلی( دانشجوی دوره )
سلام مجدد
مهندس دیسکی که دارای۳۶ دندانه است و با سرعت زیادی میچرخد میخواهیم توسط یک سنسور دندانه های آن را بشماریم و وقتی به دندانه مورد نظرمون رسید عملیاتی رو انجام دهیم، اینکار چگونه امکان پذیر است؟
احسان عبداللهی(مدیریت)
درود
این کار همون شمردن تعداد پالس ها هست که در بخش کانتر از فصل تایمر کانتر تدریس شده. به ویدیو مربوطه مراجعه کنید و درسنامه را به دقت مطالعه کنید جواب سوالتون را می گیرید.
موفق باشید
عادل اسمعیلی( دانشجوی دوره )
سلام مهندس وقتتون بخیر
مهندس میخوام در صورتی که سه شستی HIGH شوند یک سری از دستورات اجرا شوند، دستور این سه شستی چطور باید نوشت؟
digitalRead button1 == HIGH
این دستور برای یک شستی جواب میده، برای سه شستی چگونه است؟
احسان عبداللهی(مدیریت)
درود
در زبان C اپراتورهایی داریم به نام شرطی. شما باید مقدار سه کلید را بخونید و در یک if سه عدد شرط با استفاده از اپراتور & بنویسید. در صورتی که هر سه مقدار خوانده شده به صورت هم زمان صحیح باشند عملیات مورد نظر را انجام بدید.
a.r.s.d.r.1370( دانشجوی دوره )
سلام و درود مهندس وقت بخیر / جواب سوال راه اندازی سون سگمنت به روش مالتی پلکسر رو چکار کنم دیگه راهی به ذهنم نمیرسه راهنمایی کنید لطفا / بالاخره جواب مسئله رو بعد مدتی که دانشجو نتونست حل کنه بهتره در اختیارش بگذارید تا ببینه فرق بین کد خودش و شما چیه الان من به اون مرحله رسیدم که دیگه راه هایی که به ذهنم میرسیده رو رفتم جواب نگرفتم نمیتونم زمان بیشتری رو برای این سوال بگذارم/ وقتم اندکه
از شما خواهش میکنم راهنمایی کنید. سپاس
احسان عبداللهی(مدیریت)
سلام و درود
بعد از بازبینی کدها و مدار شما روی برد بورد پاسخ به صورت ویس برای شما ارسال شد.
اما برای استفاده سایر دانشجویان نکات زیر مفید هست:
در این تمرین اگر شما با کمی چشمک زدن بتونید نمایش را داشته باشید کافیه چون در فصل تایمرها و با استفاده از وقفه ها همین تمرین را به صورت صنعتی کد نویسی می کنیم. بنابراین اگر به جواب ۱۰۰ درصدی نرسیدید ایرادی نداره و دوره را پیش ببرید تا در فصل تایمر ها این تمرین را تکمیل کنید.
موفق باشید.
a.r.s.d.r.1370( دانشجوی دوره )
خیلی لطف کردید جواب بنده رو دادید سپاسگزارم از شما / چشم ادامه دوره رو میبینم بازم سپاس
احسان عبداللهی(مدیریت)
خواهش میکنم
hossein.marvi.baygi.1379( دانشجوی دوره )
سلام مهندس خسته نباشید
من برای ال سی دی پروژه رو که درست میکنم فایل السی دی دات سی و اضافه میکنم تو اتمل از سمت راست و فایل دات اچ و هم تو مسیر پروژه ادد میکنم و همچنین تو اتمل هم اضافه میکنم در کنار مین دات سی. ولی بازم هم ارور میده راهنمایی کنید لطفا روش اضافه کردن کتابخونه رو عین فیلم رفتم جلو ولی به در بسته خوردم
احسان عبداللهی(مدیریت)
درود
حتما یه اشتباه ریز وسطای کار میکنید وگرنه دلیلی نداره که جواب نده. کل پروژه را فایل زیپ کنید و داخل واتساپ بفرستید من بررسی میکنم و جوابش را اینجا منتشر میکنم که سایر دانشجویان هم استفاده کنند.
احسان عبداللهی(مدیریت)
فایل شما سه اشکال عمده داشت که برای همه میتونه مفید باشه:
۱٫ مسیر پروژه را فارسی نوشتید که کار اصولی نیست.(نام پوشه ها را فارسی ننویسید)
۲٫ فایل سورس یا همون C مربوط به LCD را به صورت Add as link اضافه نکردید.(با اینکه داخل ویدیو تاکید شده)
۳٫ داخل فایل سورس نیاز به تعریف F_CPU داره بنابراین باید فایل global.h را اونجا اینکلود کنید.
hossein.marvi.baygi.1379( دانشجوی دوره )
بسیار ممنون بابت پاسخگویی و راهنمایی
کد کیپد و هم شبیه کدی که در مقاله های اموزشی سایت گذاشتین در دوفایل با پسوند های اچ و سی درست کردم یک سری خطا دارم به دنبال رفعشون میرم اگر مشکلی بود مزاحم میشم
احسان عبداللهی(مدیریت)
خیلی عالیه که دارید دنبال رفع خطاها می گردید. برنامه نویس همیشه باید صبورانه خطاها را رفع کنه چون در این مسیر هست که یادگیریش تقویت میشه. هرجا که نیاز به مشورت داشتید حتما سوال بپرسید.
a.r.s.d.r.1370( دانشجوی دوره )
سلام و دورود خدمت مهندس عبدالهی عزیز / راهنمایی میخواستم در مورد سوال راه اندازی مالتی پلکسر سون سگمنت من مثل شما برنامشو نوشتم راه اندازیش یکم پیچیدست توی این کامنت هم نمیشه از حروف لاتین استفاده کرد راهنمایی میخواستم بی زحمت/
احسان عبداللهی(مدیریت)
درود به شما
هیچ مبحثی زمانی که براش به اندازه کافی وقت گذاشته بشه پیچیده نیست. داخل ویدیو کاملا شفاف توضیح داده شده بنابراین در درجه اول ویدیو را حتما چندین بار مشاهده کنید تا متوجه بشید و انتظار نداشته باشید یا یک بار دیدن ویدیو یک بحث مهم براتون ساده بشه. اما در مورد سوالتون، خیلی شفاف سوالی را مطرح کنید تا بنده پاسخ بدم چون امکان تدریس در کامنت که طبیعتا نیست و داخل ویدیو مفصل توضیح داده شده.
موفق باشید.
a.r.s.d.r.1370( دانشجوی دوره )
درود بر شما حق با شماست.
m.javadjj79( دانشجوی دوره )
سلام مهندس
وقتتون بخیر
ببخشید یه مشکلی برام ایجاد شده توی استفاده از ال سی دی کاراکتری
وقتی فراکنس میکرو رو روی ۸ مگ تنظیم میکنم توی پروتوس هم فرکانس رو روی ۸ مگ میزارم
ولی ال سی دی کار نمیکنه تو این حالت
فرموده بودید که ال سی دی ۴۵۰ نانوثانیه زمان لازم داره
ولی وقتی delay هم استفاده میکنم ال سی دی کار نمیکنه.
ممنون میشم راهنمایی بفرمایید.
احسان عبداللهی(مدیریت)
سلام
وقتی داخل پروتئوس کار میکنید به دلیل مشکلات ناشی از شبیه سازی بهتره فرکانس را بالا نبرید.
زمان تاخیر برای پایه E هست و طبیعتا اگر این زمان را نسازید ممکنه LCD به مشکل بخوره و کار نکنه.
اما با کتابخانه استانداردی که ارائه شده شما با هر فرکانسی نتیجه مطلوب می گیرید. کافیه فرکانس را داخل فایل global روی ۸۰۰۰۰۰۰ تنظیم کنید.
رضا محمودی( دانشجوی دوره )
سلام مهندس عبداللهی
معمولا کم پیش میاد که نظر بنویسم ولی واقعا از این دوره راضی بودم و خیلی خیلی کمک کرد که میکروکنترلرها را یاد بگیرم.
از شما برای تهیه این دوره خوب واقعا ممنونم
احسان عبداللهی(مدیریت)
درود به شما جناب محمودی
هر بار که پیامی از طرف دانشجویان میخونم و درباره نتیجه گرفتنشون از دوره ها میگن واقعا خوشحال میشم.
تمام تلاش ما اینه که شما بتونید به خوبی نتیجه بگیرید و دوره ها براتون کاربردی باشه.
masoudimohammad174( دانشجوی دوره )
عرض سلام وارادت
در مثال مربوط به ساخت ساعت توسط refresh سون سگمنت ها (۶ عدد) مدت زمان refresh را ۲ میلی ثانیه در نظر گرفتم رقم یکانش مشخص نیست(یعنی چون بسیار سریع تغییر میکنه خیلی به چشم نمیاد) اما رقم دهگان خوب مشخصه و سوسو نمیکنه
اگه امکانش هست راهنمایی کنید که رقم یکان را چکار کنم مشکلش رفع بشه(فقط ثانیه شمار را راه اندازی کردم)
احسان عبداللهی(مدیریت)
سلام
برای رفرش کردن اگر زمان را خیلی کم بگیرید کمرنگ دیده میشه و اگر زمان را زیاد بگیرید باعث چشمک زدن زیاد میشه.
اگر داخل پروتئوس تست میکنید ممکنه به نتیجه مطلوب نرسید چون شبیه سازی هست ولی اگر روی برد واقعی تست میکنید توصیه میکنم با تغییر زمان به صورت آزمون و خطا بهترین زمانی که باعث پرنور دیده شدن سون سگمنت ها میشه را پیدا کنید.
masoudimohammad174( دانشجوی دوره )
سلام
من این مدار را رو برد واقعی بستم رقم یکانش پر نوره و مشخصه ولی مشکلی که داره اینه که رقم یکان که باید در عرض ۱۰۰۰ میلی ثانیه روشن باشه فقط در چندین میلی ثانیه بیشتر روشن نیست و بقیه این مدت خاموش میمونه تامجددا بره سراغ رقم بعدی و به همین ترتیب (البته رقم دهگانش از لحاظ دیداری کاملا مشخص و خوبه)
حالا این مشکل را چطور بر طرف کنم؟
احسان عبداللهی(مدیریت)
در پاسخ قبلی گفتم که باید زمانش را با کمی آزمون و خطا پیدا کنید که در چه زمانی بهتر نمایش داده میشه که این را فقط خود شما میتونید روی بردتون تست کنید.
اشتباهی که شما مرتکب شدید اینه که فکر میکنید باید ۱۰۰۰ میلی ثانیه یا همون یک ثانیه یکان روشن باشه. در حالی که این باعث کندی و چشمک زدن میشه.
سون سگمنت در مدت ۱۰۰۰ میلی ثانیه بارها خاموش و روشن میشه ولی به دلیل عدم توانایی چشم در مشاهده این خاموش و روشن شدن کلا روشن میبینه.
به این مثال دقت کنید: مثلا ثانیه الان ۱۵ هست و من باید با یک تابعی که کار نمایش را انجام میده در بازه های زمانی معین ۵ را روشن و بعد خاموش کنم و سپس ۱ را بفرستم و سپس کل روند در حلقه بچرخه. دقت کنید که اگر در زمانی که منتظر شمارش ثانیه (همون تاخیر) هستید، چیزی روی سون سگمنت فرستاده نشه طبیعتا نمایش مختل میشه.
بهتره ویدیوی مربوطه را چند بار دیگه دقیق مشاهده کنید و بعد اقدام به نوشتن کد کنید.
hossein.marvi.baygi.1379( دانشجوی دوره )
سلام خسته نباشید
من دوتاسوال دارم اینکه برای فصل اول تمرین دوم که قراره دو فرکانس توسط یک کلید بسازیم من کدی که تو لینک زیر براتون گذاشتم و نوشتم هم اینکه یک ارور دارم هم اینکه بنظرتون کد بنده درست هست یا خیر؟
———————————————————————————–
سوال دومم مربوط به ریفرش سون سگمنت هاست که کد و عکس شبیه ساز براتون فرستادم
اما مشکل بنده اینه که سون سگمنت ها روشن نمیشن حتی کاتد همه شون و به زمین هم وصل کردم ولی همچنان خاموش هستند در حالی که به ۷پین سگمنت ها داره سیگنال لحاظ میشه
احسان عبداللهی(مدیریت)
سلام
خطایی که دارید به خاطر این داده شده که برای تابع freq هیچ گونه ورودی در نظر نگرفتید.
برای صحت عملکرد کد اگر بتونید فرکانس ها را بسازید کد درسته وگرنه باید دنبال خطا بگردید.
در مورد سوال دوم:
اول باید کد درست برای هر سون سگمنت ارسال بشه و هم چنین ترانزیستور سون سگمنتی که قصد روش کردنش را دارید فعال باشه.
اول به صورت دستی داخل پروتئوس یک سون سگمنت روشن کنید و بعد همون کار را به صورت کد نویسی برای میکرو بفرستید.
m.javadjj79( دانشجوی دوره )
سلام مهندس
وقتتون بخیر
یه سوالی از پروژه مبحث استپر موتور دارم
چجوری میتونیم از طریق کیپد عددی که وارد میکنیم رو به عنوان دوره موتور توی میکرو تعریف کنیم؟
منظورم اینه که چجوری میتونیم با کیپد از کاربر اطلاعات دریافت کنیم و تو پروژمون ازش استفاده کنیم؟
با تشکر.
احسان عبداللهی(مدیریت)
سلام
در بخش کیپد و LCD گرافیکی در این خصوص پروژه و تمرین هایی ارائه شده که اگه کار کنید این قسمت براتون ساده میشه.
حتما اونجا را کار کنید. ولی برای راهنمایی اینطور به شما پاسخ میدم: رقم های جدا جدا باید بگیرید و بعد هر کدوم را در جایگاه یکان، دهگان و … قرار بدید تا یک عدد کامل بشه و در یک متغیر ذخیره کنید.
hossein.marvi.baygi.1379( دانشجوی دوره )
سلام مهندس
من کد کیپد شمارو نوشتم تو اتمل توی پروتئوس برای اعداد ۱٫۲٫۳درست کارمیکنه ولی سایر اعداد با فشردن کلید
در حد چند صدم ثانیه نمایش میده و دوباره ۰ میشه و به خوبی نمایش نمیده
بنظرتون مشکل از کجاست؟
احسان عبداللهی(مدیریت)
درود
اگر عین کد را نوشته باشید و سخت افزار را دقیقا طبق آموزش وصل کرده باشید پس باید بدون مشکل کار کنه. کار نکردن نشونه اشکال در سخت افزار یا نرم افزار هست.
شما برای حل مشکل اول سخت افزار را دقیقا چک کنید. بعد برید سراغ کد. اولین خطا رو که دیدید دنبالش بگردید و کدها را دنبال کنید تا خطا را پیدا کنید.
خطا یابی مرحله حساسی هست و باید خیلی سر حوصله و با دقت انجام بشه.
موفق باشید
a.r.s.d.r.1370( دانشجوی دوره )
سلام مهندس خوبی وقت بخیر / برای تمرین فصل ورودی خروجی که با تاخیر زمانی میخواستیم روی ۲ تا پین از پورت سی فرکانسی با ۲ هرتز و ۴ هرتز ایجاد کنیم من فقط تونستم ۴ هرتز رو تولید کنم میشه راهنمایی کنید
احسان عبداللهی(مدیریت)
درود
ساختن ۴ یا ۲ هرتر به شکل جدا که ساده هست. بحث سوال اینه که همزمان بتونید تولیدش کنید. کلا انجام کارهای همزمان یکی از چالش های میکروکنترلر هست.
شما سوالتون را دقیق بپرسید که من بر اساس سوال و مشکل شما راهنمایی کنم.
a.r.s.d.r.1370( دانشجوی دوره )
خواهش میکنم همین ساختن همزمان فرکانس ۲ و ۴ هرتز هست که من یکیشو تونستم ولی اون یکیش رو نه یعنی ۴ رو تونستم ولی ۲ رو نه چکار کنم با کانتر و تاخیر ۱ میلی ثانیه تونستم بسازم که هر یک میلی ثانیه کانتر یک واحد اضافه میشه به محضی که به ۱۲۵ میلی ثانیه میرسه پین صفر پورت سی تاگل میشه ولی چکار کنم که از ۱۲۵ میلی ثانیه تا ۲۵۰ میلی ثانیه بره باید اولین پین که روشن بود خاموش بشه ولی دومین پین روشن بشه یه راهنمایی کنید حل میشه ممنونم/
a.r.s.d.r.1370( دانشجوی دوره )
درود مجدد حلش کردم مسئله رو۴ هرتز و ۲ هرتز رو تولید کردم همزمان سپاسگزارم
احسان عبداللهی(مدیریت)
بسیار عالی
hossein.marvi.baygi.1379( دانشجوی دوره )
سلام
من برای اولین کد اموزشی که مبوط به LEDهست دوتا ارور دارم
۱-RECIPE FOR TARGET ‘MAIN.O’ FAILED
۲- LIBRARY GLOBAL.H :NOT SUCH FILE OR DIRECTORY
راه حل چیست؟
گلوبال و هم در مسیر پروژ کپی کردم فایده نداشت
احسان عبداللهی(مدیریت)
سلام
خطای شما از LIBRARY GLOBAL.H :NOT SUCH FILE OR DIRECTORY ناشی میشه.
دلیلش اینه که دقیقا در مسیر پروژه این فایل قرار نداره.
داخل ویدیو دقیقا توضیح داده شده که در مسیر پروژه اول پوشه library بسازید سپس global.h را داخلش کپی کنید و داخل پروژه اینکلود کنید.
لازمه چند بار ویدیو را ببینید تا متوجه بشید. برای حل سوال عجله نکنید چون باعث میشه چندین بار با خطا مواجه بشید.
امید رحمان زاده( دانشجوی دوره )
سلام اقای مهندس خسته نباشید
بابت حل تمرین شماره ۳ وقفههای خارجی ، قسمت وقفههای تو در تو به مشکل بر خوردم و ارور static declaration of ‘vector_2’ follows non-static declaration میدهد.
من در ابتدا با معرفی وقفهخارجی صفر، حلقه while برای روشن و خاموش شدن ال ای دی ایجاد کردم ، و درون این حلقه while وقفه خارجی ۱(isr1) را معرفی کردم تا در صورت فعال شدن وقفه خارجی ۱ درون حلقه دیگری قرار گیرد. همچنین وقفه عمومی را هم بهصورت دستی در isr0 فعال کردم.
اگر امکان دارد در این باره به من کمک کنید.
احسان عبداللهی(مدیریت)
درود جناب رحمان زاده
برای کوتاه شدن سوال کدتون را حذف کردم.
کد شما یک اشکال بنیادی داره. منظور از وقفه در وقفه این نیست که درون تابع وقفه صفر، تابع وقفه یک را بنویسیید.
منظور اینه که دو تابع جداگانه بنویسید. وقتی وقفه صفر فعال شده برنامه بره داخل این تابع و عملیات را انجام بده. حال ضمن اینکه در حال پاسخ به این وقفه هست، اگر وقفه شماره دو فعال شد، از این تابع خارج شده و به وقفه دو رسیدگی کنه. این مفهوم وقفه در وقفه است.(ضمن پاسخ به یک وقفه بتونه به وقفه دیگه هم پاسخ دهی کنه.)
موفق باشید.
محمد( دانشجوی دوره )
با سلام
در تمرین ۲ از کلیپ IO-3 پالس ۱KHZ بازدن یکبار کلید درست میشه اما بار دوم که کلید را می زنم و رها میکنم هر کاری میکنم نمی تونم پالس ۵KHZ را ازش بگیرم خیلی روش فکر کردم اما نتونستم لطفا اگه میشه راهنمایی کنید
احسان عبداللهی(مدیریت)
درود به شما
تنها نکته این سوال اینه که شما باید تشخصیص بدید الان بار چندمی هست که کلید زده شده. وقتی بار اول باشه موج یک کیلو و وقتی بار دوم باشه موج پنج کیلو هرتز تولید می کنید.
شما کافیه یک متغیر داشته باشید که بر اساس فشرده شدن کلید مقدارش عوض بشه و از این مقدار در یک شرط برای ساخت موج متناسب استفاده کنید.
در ضمن در کامنت دیگه ای پرسیده بودید که آیا نیاز به وقفه داریم یا خیر. نه نیازی به وقفه نیست و به روش قابل حل هست.
m.javadjj79( دانشجوی دوره )
سلام مهندس
وقتتون بخیر
ببخشید یه سوالی برای حل تمرین مربوط به ال سی دی کاراکتری داشتم
اونم اینکه برای حل تمرین progress bar چجوری میتونم به تک تک دات های ال سی دی فرمان خاموش و روشن رو بدم؟
باتشکر.
احسان عبداللهی(مدیریت)
سلام
در lcd کاراکتری شما فقط به یک سلول دسترسی دارید و کاراکترهای از پیش تعریف شده را میتونید براش بفرستید. البته امکان ارسال تعداد محدودی کاراکتر تعریف شده توسط شما برای lcd کاراکتری هم وجود داره ولی چون خیلی کاربردی نیست بهتر خودتون را درگیرش نکنید و از LCD گرافیکی که امکان دسترسی نقطه به نقطه داره و ابزار مناسب تری هست استفاده کنید.
m.javadjj79( دانشجوی دوره )
سلام مهندس
وقتتون بخیر
ممنون از پاسخگوییتون
پیشنهاد شما برای حل تمرین progress bar در مبحث ال سی دی کارکتری چی هستش؟
احسان عبداللهی(مدیریت)
خواهش میکنم.
گوگل کنید که چه کد اسکی باید بفرستیم تا همه پیکسل های یک سلول از LCD پر باشه.
a.r.s.d.r.1370( دانشجوی دوره )
ببخشید مهندس مزاحم شدم رمز فایل فشرده شده نرم افزار اتمل استودیو چیه ؟ میخوام از حالت فشرده خارجش کنم رمز میخواد !!! سپاس از شما
احسان عبداللهی(مدیریت)
رمز تمامی فایل ها microlearn.ir هست که در داخل فایل ها قرار داده شده و داخل صفحات دانلود هم موجوده.
a.r.s.d.r.1370( دانشجوی دوره )
سپاسگزارم از شما
a.r.s.d.r.1370( دانشجوی دوره )
با سلام و عرض ادب خدمت مهندس عزیز و دوست داشتنی / این دوره عالیه به دلیل اینکه هیچ کس تا حالا اتمل استودیو رو آموزش نداده من از اول با اتمل شروع کردم چون محیطش شبیه ویژوال استودیو بود تونستم باهاش ارتباط برقرار کنم/ کار با اتمل خیلی لذت بخشه حتما تجربش کنید/ با سپاس فراوان از مهندس عبدالهی عزیز/
احسان عبداللهی(مدیریت)
درود بر شما
امیدوارم به خوبی نتیجه دلخواهتون را بگیرید.
a.r.s.d.r.1370( دانشجوی دوره )
در کنار شما حتما همینطور هست.
علی اعتمادی فر( دانشجوی دوره )
با عرض سلام خدمت مهندس عبدالهی
بنده چند جلسه از این دوره رو نگاه کردم و حالا یه سوال برام پیش اومد. سوالم اینه که ما اگر مقاومت Pull-up داخلی میکرو رو فعال کنیم چه لزومی داره که مقاومت pull-up خارجی برای میکرو بذاریم چون تو چند مثال اول که این کارو کردید، بهتر نیست به حالت Tri-State تنظیمش کنیم و بعد pull-up خارجی بذاریم؟؟ یا فقط Pull-up داخلیو فعال کنیم و کلید و مستقیم به میکرو متصل کنیم؟؟
احسان عبداللهی(مدیریت)
درود جناب اعتمادی فر
همونطور که در جلسات تدریس شده استفاده از مقاومت پول آپ خارجی برای اطمینان در محیطهای صنعتی هست.
اگر محیط نویز خاصی نداره میتونید فقط به پول آپ داخلی اکتفا کنید.
شما در حالت ورودی حتما باید پول آپ داخلی را فعال کنید وگرنه پین به Hi-z میره. دقت کنید که پول آپ خارجی برای اطمینان بیشتر از صحت دریافت دیتا هست.
علی اعتمادی فر( دانشجوی دوره )
این قسمتشو متوجه شدم. حالا من اگه میکرو رو رو حالت Tri-State تنظیم کنم و کلید Pull-down متصل کنم مشکلی پیش نمیاد؟ ینی میشه اعتماد کرد به ورودی پایه یا این حالت استاندارد نیست؟
احسان عبداللهی(مدیریت)
شما وقتی در حالت ورودی هستید یا از حالت پول آپ استفاده می کنید که توضیح داده شد و یا از حالت pull dowm. برای این حالت چون مقاومت داخلی ندارید مجبورید مقاومت خارجی استفاده کنید و مشکلی هم پیش نمیاد.
حالا خودتون حالت هایی رو سوال کردید را شروع کنید آزمایش کردن تا بهتر درکش کنید.
masoudimohammad174( دانشجوی دوره )
عرض سلام
<include <util/delay.h#
این هدر فایل اضافه شد اما warning میده و delay تو برنامه کار نمیکنه. برنامه خطا نداره
لطفا راهنمایی کنید
احسان عبداللهی(مدیریت)
سلام
توصیه میکنم ویدیوها را با دقت بیشتری نگاه کنید چرا که اگه یک مرحله را فراموشتون بشه انجام بدید برنامه خطا میده یا کار نمی کنه.
مشکل شما به احتمال زیاد مربوط به اضافه نکردن فایل global.h قبل از این include هست. چرا که برای کار کردن توابع تاخیر نیاز به F_CPU دارید.
masoudimohammad174( دانشجوی دوره )
#include “C:\Users\Mohammad\Desktop\microlearn\codvision_2\c2_1\c2_1\library\global.h”
این هدر فایل که گفتید در مسیر پروژه اضافه شد ولی کماکان پیغام زیر ظاهر میشود
Warning #warning “F_CPU not defined for ” [-Wcpp]
احسان عبداللهی(مدیریت)
فقط اضافه شدن به مسیر پروژه کافی نیست. باید قبل از include کردن کتابخانه delay فایل global.h را طبق توضیحات ویدیو، به پروژه include کنید.
داخل ویدیو تمام این مراحل گفته شده. مراحل را به دقت دنبال کنید.
masoudimohammad174( دانشجوی دوره )
من مشکلم حل شد.خیلی ممنون
احسان عبداللهی(مدیریت)
آفرین.
تمام مشکلاتی که براتون در مسیر برنامه نویسی پیش میاد به این ترتیب حل میشه.
این استراتژی را تا انتها دنبال کنید قطعا نتیجه می گیرید.
محمدصابر برجویی فر( دانشجوی دوره )
سلام و عرض ادب
قبل از هر چیز تشکر میکنم از زحماتی که برای این دوره کشیده شده
یه سوال داشتم اونم اینکه اگر بخوام ۴تا سنسور التراسونیک ( فاصله سنج) رو (که همشون در یک جهت و تقریبا به فاصله یک وجب از هم کنار هم هستن)راه اندازی کنم اگر این سنسورها همزمان موج ارسال و دریافت کنن (برای محاسبه فاصله) در موج دریافتی اختلال ایجاد میشه؟ ( یعنی ممکنه سنسور شماره یک موج رو ارسال کنه ولی سنسور شماره ۲ موج رو دریافت کنه) پیشنهاد شما چیه؟( اینکه همزمان اندازه گیری کنن یا دونه دونه رو به ترتیب مقدارشون رو بخونم؟)
باتشکر
احسان عبداللهی(مدیریت)
درود جناب برجویی فر
ببینید میکروکنترلر کلا سری کار میکنه یعنی یک وظیفه را تکمیل میکنه و بعد میره سراغ کار دیگه. حالا با وجود وقفه ها میشه در ضمن انجام یک کار، وظایف دیگه را هم به نوعی انجام داد که تداخلی ایجاد نشه. خب اینجا یک ترید آف وجود داره.در واقع اگر کارهایی که در خلال هم انجام میشن زیادی کند باشن تداخل پیش میاد.
بنابراین شما نمیتونید همه سنسورها را همزمان بخونید. بلکه میتونید با یک تاخیر زمانی جزئی نسبت به هم بخونید. اگر این تاخیر براتون مشکل پیش نمیاره که هیچ وگرنه باید براش راهکار مناسبی اندیشیده بشه.
محمدصابر برجویی فر( دانشجوی دوره )
سپاس گزارم
علیرضا ندایی( دانشجوی دوره )
سلام مهندس..خدا قوت
استاد بنده ب کمک و راهنماییتون نیاز دارم..من پروژه کارشناسی درباره ریزپردازنده ها دارم و پروژم ب این صورت هست که باید
با یک سیستم حضور و غیاب با استفاده از اثر انگشت راه اندازی بکنم مانند آنچه در ادارات وجود داره..و اطلاعات حضوری یک دانش آموز یا کارمند رو بر روی سایتی نشون بده
من با این فرستادن اطلاعات بر روی سایت مشکل دارم..اگه میشه یک سرنخی،راهنمایی بکنید ک چجوری این اتفاق میتونه بیفته؟
آیا ماژول خاصی میخواد یا چی؟
ممنون استاد از شما
احسان عبداللهی(مدیریت)
سلام جناب ندایی
پروژه ای که مد نظر دارید به دو بخش کلی تقسیم میشه.۱) بخش الکترونیک که شامل دریافت اثر انگشت تا آماده سازی اطلاعات برای ارسال به یک سرور هست ۲) بخش سرور که باید اطلاعات برد الکترونیک شما را دریافت کنه سپس داخل دیتابیس ذخیره کنه و در نهایت روی بخش front-end سایت به کاربر نهایی نشون بده.
توصیه ای که براتون دارم اینه که این پروژه را به شکل تیمی و دو نفره انجام بدید. شما روی بخش اول کار کنید و فردی که مسلط به مباحث سرور، دیتابیس و front-end هست بخش دوم را دنبال کنه. فقط کمی آپشن های پروژه را بیشتر کنید تا وزن و اعتبار بیشتری برای ارائه داشته باشه.
اما اگه بخواهید صفر تا صد انجامش بدید خب باید در حوزه دوم هم وارد بشید و مطالعات کافی کنید. برای آشنایی شما پیشنهاد می کنم مطالب مربوط به فرانت اند و بک اند را که در سایت میکرولرن هست ابتدا به صورت خلاصه وار و سریع مطالعه کنید: https://microlearn.ir/category/programming/web-programming
هم چنین در خصوص این مباحث اگر علاقه داشتید میتونید مطالعات تکمیلی را در سایت های تخصصی تر برنامه نویسی وب دنبال کنید.
توجه کنید که برای ارسال اطلاعات به یک سرور من پیشنهاد میکنم از آردوینو و شیلد شبکه استفاده کنید. با توجه به آماده بودن خیلی از کتابخانه ها میتونه کمک خوبی براتون باشه.
اما در نهایت نمایش اطلاعات از سرور بر روی سایت دیگه موضوع الکترونیک نیست و همونطور که چند خط بالاتر عرض کردم تخصصی کاملا جداگانه محسوب میشه.
نیما( دانشجوی دوره )
سلام وقت بخیر
آیا برای راه اندازی قطعات و بخش های عملی ، توضیحات به صورت تئوری بیان میشوند یا از نحوه ی کار به صورت عملی هم فیلمبرداری شده؟
احسان عبداللهی(مدیریت)
سلام و درود
دوره ای که مشاهده می کنید از مقدماتی تا پیشرفته و جهت آمادگی برای صنعت هست. معنی این حرف اینه که از پایه ای ترین نکات تا تخصصی ترین نکات در این دوره بحث شده. نکات تئوری و عملی به صورت شفاف و دقیق در دوره آموزش داده میشه. شبیه سازی انجام میشه. هر جا هم که لازم هست خروجی کار فیلم برداری شده. به طور کلی با گذروندن این دوره به راحتی شما به میکروکنترلر مسلط خواهید شد. در ابتدای دوره هم یک لیست کامل قطعات به شما ارائه میشه که باید تهیه کنید و تمرین های عملی دوره را با اون قطعات انجام بدید.
mrhabibpour( دانشجوی دوره )
سلام وقت بخیرر استاد
مربوط به GLCD فقط ۲ فایل اپدیت شده درسته ؟
احسان عبداللهی(مدیریت)
سلام
تا این تاریخ بله بخش اول و دوم تکمیل و آپلود شده. بخش های بعدی به ترتیب در حال ضبط هست و بعد از تکمیل آپلود خواهد شد.
yasinkarimi1205
سلام خدمت استاد گرامی
بنده قصد خرید این دوره را دارشتم منتها در بخش کامنتها متوجه شدم اسلایدهای درس در اختیار دانشجویان دوره قرار نخواهد گرفت.از آنجایی که نوشتن جزوه مباحث میکروکنترلری به دلیل نیاز به رسم اشکال IC و جداول زمان بر و سخت است آیا همچنان جزوات در اختیار قرار نخواهد گرفت؟
احسان عبداللهی(مدیریت)
سلام به شما
در ویدیوها تمام مباحث و جزئیات کامل ارائه شده. توجه کنید که شما در جزوه قرار نیست رسم شکل و IC انجام بدید. هدف از جزوه نوشتن مواردی هست که نیاز به یادآوری داره. رسم شکل و IC باید در نرم افزار انجام بشه. برای مثال شما وقتی قرار ۱۰ عدد IC برای یک مثال استفاده کنید اصلا منطقی نیست که بیاد در جزوه شکل بکشید(کلاس نقاشی که نیست 😉 )
بنابراین اصلا نگران نباشید. شما با ویدیو تمام نکات را یاد می گیرید، در نرم افزار کدنویسی و رسم مدار این موارد را پیاده سازی می کنید که به تسلط برسید. سپس در جزوه نکات مهم را نت برداری می کنید.
این روش درست کار کردن این دوره هست و تمام دوستان هم به این روش تا الان کار کردن و نتیجه مطلوب به دست آوردن. حتما شما هم میتونید نتیجه بگیرید.
احمد( دانشجوی دوره )
سلام و دورود
نرم افزار پروتئوس من ۳ روزه که شبیه سازی نمی کنه و خطا میده. خیلی سعی کردم درستش کنم ولی نشد حتی نسخه های قدیمی تر هم نصب کردم اما خیلی ارور میده. نرم افزار دیگه ای میشناسید که بشه AVRباهاش شبیه سازی کرد؟؟
احسان عبداللهی(مدیریت)
سلام
بهترین شبیه ساز که سال هاست امتحان خودش رو پس داده proteus هست. به طور معمول نباید خطایی بده مگر اینکه سیستم شما به مشکلی بر خورده باشه.
پیشنهاد میکنم همیشه خطایی که میده رو گوگل کنید تا سریع ترین راه کار را پیدا کنید. چون به احتمال زیاد دیگران هم به این خطا برخوردن.
dpd_hoseinpour( دانشجوی دوره )
سلام
من قبلا از تابع sbi راحت استفاده می کردم چون با ایکلود کردن فایل global.h تعریف این تابع وجود داشت. ولی جدیدا برا stepper motor برنامه می نویسم و با وجود این کلود بودن global.h این خطا را می ده و تابع sbi را نمی شناسه.
Error called object is not a function or function pointer interupt1 global.h ۹۵
باید چیکار کنم؟
احسان عبداللهی(مدیریت)
برای تشخیص خطا باید کد را به شکل کامل برای بنده در واتساپ بفرستید تا بررسی کنم.
اما برای راهنمایی شما باید عرض کنم که بهترین کار در چنین مواقعی کپی کردن متن خطا در گوگل هست. اینجوری زودتر سرنخ دستتون میاد.
ممکنه سمی کالن (;) جا انداخته باشید یا خطاهای این شکلی.
نکته مهم: برای خطایابی برنامه هاتون تا میتونید وقت صرف کنید. چون باعث درک بهتر ساختار برنامه میشه.
dpd_hoseinpour( دانشجوی دوره )
با سلام و وقت بخیر
دوره کامل و خیلی خوبی است و کاملا پروژه محور است.
من یک پیشنهاد برای هرچه کامل تر و پر بارتر شدن این دوره و دوره های دیگر دارم. فایل های ارائه و تدریس را همراه دوره ارسال کنید چراکه موقع حل تمرین و مثال ها به تعاریف و کدهایی احتیاج داریم که در طول ویدئو گفته شده بود. بازگشت به ویدئو و دیدن دوباره آن زمانبر است. پس اگر لطف کنید و فایل های ارائه را هم با دوره بدهید خیلی ممنون می شویم.
احسان عبداللهی(مدیریت)
سلام و درود
قرار نگرفتن جزوه و اسلاید به این علت هست که شما در درجه اول جزوه مخصوص خودتون را بنویسید تا بتونید از اون در آینده استفاده کنید. بنابراین زمان حل تمرین به جزوه مراجعه می کنید و یادگیری تقویت میشه.
کدهای آماده هم مشخصه وقتی قرار داده بشه دیگه شما کد نمی نویسید. پشت سر هم کدها را run می کنید و اینطوری هم کسی چیزی یاد نمی گیره. اصل آموزش در حل تمرین و کدنویسی هست.
بنابراین زمان کافی برای دوره بگذارید و با این متد جلو برید شک نکنید که در پایان دوره یکی از مسلط ترین افراد به میکروکنترلر AVR خواهید شد.
علیرضا ندایی( دانشجوی دوره )
عرض سلام و خدا قوت خدمت استاد
بنده دوره رو اخیرا تموم کردم و برای کسانی که تردید در تهیه دوره دارند باید عرض کنم که با خیال راحت این دوره را تهیه و استفاده کنند چرا که در کنار تدریس مفهومی همراه با مثال و با انجام پروژه های عملی تعبیه شده و ممارست و پشتکار خودتون کاملا در مباحث خبره خواهید شد . میتونید هزینه دوره ها رو براحتی با انجام پروژه های دانشجویی برگردونید.
ممنون از استاد عزیز و اینکه بی صبرانه منتظر آپدیت جدید میکروکنترلر و همچنین آموزش نرم افزار آلتیوم دیزاینر هستم که انشالله به زودی منتشر بشوند.
احسان عبداللهی(مدیریت)
سلام و درود جناب ندایی
خوشحالم که با موفقیت آموزش را تکمیل کردید. کار ضبط آپدیت دوره شروع شده و پله پله آموزش ها در دوره آپلود خواهند شد. بعد از تکمیل آپدیت دوره AVR ضبط دوره آلتیوم دیزانر شروع خواهد شد.
علیرضا ندایی( دانشجوی دوره )
سلام و خداقوت..
استاد برای راه اندازی موتور های تک قطبی و دو قطبی از مد pwm نمیشه استفاده کرد؟
احسان عبداللهی(مدیریت)
سلام جناب ندایی
اصولا pwm برای کنترل میزان توان تحویلی به وسیله مصرف کننده استفاده میشه. مثل کنترل سرعت موتور یا روشنایی لامپ.
و این کار در فرکانس ثابت با تغییر پهنای پالس انجام میشه.
برای موتور پله ای کنترل سرعت از طریق پهنای پالس نیست و شما باید فرکانس تحویلی به موتور را تغییر بدید. بنابراین در اصل شما پالس هایی با فرکانس متغییر میدید تا سرعت این موتور تغییر پیدا کنه.
عادل اسماعیلی( دانشجوی دوره )
سلام
مهندس وقتتون بخیر
یه پالس ۱۲ ولتی داریم زمان خاموش و روشن بودنش بر حسب میلی ثانیه است، چطوری میتونیم زمانی که خاموش یا روشن را بطور دقیق اندازه گیری کنیم که چند میلی ثانیه است؟
حالا اگر بخواهیم این زمان روی ال سی دی ببینیم چطور امکان پذیره؟
احسان عبداللهی(مدیریت)
سلام جناب اسماعیلی
پالس ۱۲ ولتی را میکرو نمیتونه دریافت کنه. بنابراین باید با op-Amp تضعیف بشه و به محدوده ۵ یا ۳٫۳ ولت برسته تا بتونید به میکرو اعمال کنید.
بعد به وسیله تایمر/کانتر میتونید پالسهای دریافتی را بررسی و محاسبه کنید که مدت خاموش و روشن و فرکانس چه مقدار هست.
حالا عدد به دست اومده را روی LCD پرینت میکنید. اگر از پورت سریال هم استفاده کنید که میتونید روی صفحه کامپیوتر مشاهده کنید.
در بخش تایمر کانتر دوره مفصل این تمرین ها را انجام دادیم.
علیرضا زندی( دانشجوی دوره )
سلام
خیلی ممنون از اموزش های خوبتون اقای عبداللهی، به جرئت میتونم بگم کامل ترین و با کیفیت ترین دوره ای هست که در این زمینه میشه پیدا کرد و کمتر دوره ای پیدا میشه که همچین پشتیبانی عالی رو داشته باشه
و نوع تدریس استاد بیشتر از اینکه فقط تئوری حوصله سربر باشه درمورد تمرین هاییه که کاربرد اونها واقعا حس میشه و باعث میشه انجام دادن اونها و نتیجه گرفتن حس خوبی به دانشجو بده و اونو مشتاق اموزش های بعد کنه
بازم ممنون 🙂
منتظر اپدیت جدید و دوره های جدید هستیم
احسان عبداللهی(مدیریت)
سلام آقای زندی
ممنون از نظر ارزشمند شما. بسیار خوشحالم که از دوره به خوبی تونستید استفاده کنید.
حتما دوره های بعدی را با کیفیت بالاتری ارائه می کنیم تا برای همه دوستان نتیجه بخش باشه.
اسدی
سلام
اگر مقدوره یکی از دوره های پایه یا پیش نیاز این کورس را؛ رایگان یا با تخفیف خوب ارائه بدید
احسان عبداللهی(مدیریت)
سلام و درود دوست عزیز 🙂
حتما پیشنهاد شما را بررسی می کنیم و در مناسبتهای مختلف برای شما دوستان عزیز تخفیف در نظر می گیریم.
اما در کل بدونید وقتی دوره ای را رایگان ارائه میدن یا تخفیف های نجومی مثل ۷۰ درصد ارائه میدن باید به کیفیت محتوای اون دوره شک کرد. یا شاید هم دوره را دارن به چندین برابر ارزش واقعی اون به فروش میرسونن.
دوره هایی که در میکرولرن ارائه میشه جزء بهترین دوره های الکترونیکی هست که در ایران ارائه میشه. چون پشت مطالب هر دوره ای که تدریس شده چندین سال تجربه وجود داره.
هم چنین قیمت گذاری دوره ها هم به صورت کاملا منصفانه انجام شده.
بنابراین خیلی درگیر قیمت نباشید. چون آموزش یک سرمایه گذاری بلند مدته و با یادگیری هر کدوم از این دوره ها میتونید چندین برابر هزینه ای که کردید را جبران کنید و تا سال ها از منافعش بهره مند بشید.
ابراهیم ژاله رو( دانشجوی دوره )
با روشی که کار کردم این خطا ها ایجاد شد:
Errorlibrary/global.h: No such file or directory
سلام به دوستان و استاد گرامی
باتوجه به راهنمایی شما برای ساخت کتابخانه(config) در مثال چهارم من از مسیر زیر:
• Click on “Atmel Studio -> File -> New -> Project… -> GCC C Static Library Project” to create a new Library project
یک کتابخانه ساختم و کد های داخل ویدیو رو وارد کردم که یک فایل با پسوند.c به صورت خودکار توسط کامپایلر تولید شد و من فایل config.c رو در اختیار داشتم
حالا برای ساخت فایل با پسوند .h باید چکار کنیم؟
آیا باید پروژه جدیدی در همین مسیر بسازیم و فقط با نام config.h در مسیر قبلی ذخیره کنیم؟
یا باید کامپایلر آن را تولید کند؟
احسان عبداللهی(مدیریت)
سلام و درود جناب ژاله رو
قبل از هر چیزی از شما و همه دانشجویان عزیز خواهش میکنم که ویدیوها را با دقت مشاهده کنید. چون تمام این خطاها به این دلیل ایجاد شده که به نکات جزئی داخل ویدیو بی توجهی شده.
اما روش کار:
شما داخل فایل پروژه یک پوشه می سازید به نام library و داخل اون باید دو تا فایل دیگه با نام config و پسوندهای c. و h. بسازید. که ساختن فایل با این پسوند توسط محیط اتمل استدیو به سادگی انجام میشه.
حالا طبق روش توضیح داده شده در ویدیو این فایل ها را به پروژه باید اضافه کنید. و قطعا خطاهایی مثل این خطا که نشون میده فایل اصلا وجود نداره یا مسیر مشکل داره براتون پیش نمیاد.
mah
سلام 😃
وقت بخیر. امروز با این سایت آشنا شدم یکم بررسیش کردم امکانش هست از رزومه صنعتیتون بگید؟ نمونه برد هایی که طراحی کردید و فعالیت ها و محصولاتی که تولید کردید و دارید اموزش میدید
و اینکه چرا pic یا arm درس ندادید به جای این؟ فقط مثل استاد ما نگید به خاطر کاربرد بیشترش تو بازار.مرسی
احسان عبداللهی(مدیریت)
سلام و درود به شما
حوزه فعالیت ما با برنامه نویسی سخت افزار شروع شده و البته رو به گسترش هست. در همین زمینه هم پروژه های متعددی که بیشتر به اتوماسیون مربوط هست اجرا کردیم. برای آشنایی بیشتر با سوابق بنده میتونید روی نام مدرس کلیک کنید و صفحه بنده را مطالعه کنید.
اما سوال دومتون: برای ARM هم آموزش مورد نظر در حال طراحی هست که با آماده شدن منتشر میشه. هر میکروکنترلری کاربرد خاص خودش را داره. AVR میکروکنترلری هست که در بازار ایران تونسته به اغلب نیازها پاسخ خوبی بده. میکروکنترلرهای PIC و ARM هم کاربرد خودشون را دارند.
اساسا شما نباید دنبال مقایسه میکروکنترلرها با هم دیگه باشید. بهتره نیاز خودتون را بشناسید و طبق نیازتون میکروکنترلری را که مناسب هست انتخاب کنید.
ابراهیم ژاله رو( دانشجوی دوره )
سلام خدمت استاد گرامی
آیا کتابخانه config.h در مثال شماره ۴ باید در کتابخانه ای که به صورت zip به همراه ویدیوی آموزشی قرار دادید باید وجود داشته باشد؟
کتابخانه هایی که در اکستراکت پوشه من وجود دارد:
uart, twimaster, spi, lcd, global, ۷segmentcode
لطفا راهنمایی کنید؟
متشکرم
احسان عبداللهی(مدیریت)
سلام جناب ژاله رو
خیر این فایل در پوشه کتابخانه موجود نیست. با توجه به توضیحات ویدیو باید این فایل را خودتون بسازید و کد نویسی کنید.
همانطور که در ویدیو هم گفته شده بود برای ساخت کتابخانه از مقاله زیر کمک بگیرید:
https://microlearn.ir/5347/library-in-c-language.html
alirezanedaei21( دانشجوی دوره )
سلام و خدا قوت استاد عزیز
۱-مشخصات استپر موتور دو قطبی داخل پروتئوس به چه شکل هست و چه اسمی داره؟
۲-مهندس یه سوال از شرط حلقه for برای استپر موتور تک قطبی در بخش حرکت معکوس شفت، ذهنمو مشغول کرده و این هست که چرا index !=255 قرار داده شده؟
من این شرط رو برابر index >=0 قرار دادم ولی فقط یک دور موتور شروع به چرخش معکوس میکنه و می ایسته..در صورتی که اگر همون شرط index !=255 قرار بدیم متناسب با نیاز ما دور معکوس میزنه و نمی ایسته..!!! چرا؟
بسیار سپاس گزارم از آموزش عالی و وقتی که برای پشتیبانی میزارید
احسان عبداللهی(مدیریت)
سلام و درود
۱- شما فقط کافیه stepper motor سرچ کنید و انواعش را براتون میاره. برای مشخصات هم که روی proprieties کلیک کنید قابل مشاهده و تغییر هست.
۲- دلیل این کار اینه که متغیر بدون علامت تعریف شده و زمانی که کم میشه و از صفر رد میشه دوباره بر میگرده به ۲۵۵ ولی اگه شما شرط را بزرگتر از صفر بگذارید همیشه شرط برقرار هست و کار نمی کنه.
امین گلستانی فرد( دانشجوی دوره )
سلام خدمت جناب عبداللهی عزیز
بسیار ممنونم بابت کیفیت بالای آموزشی که در اختیار قرار دادید و همچنین بابت احساس مسئولیتی که نسبت به پاسخگویی به دانشجویان دارید.
خدمت عزیزانی که میخوان این دوره آموزشی را تهیه کنند باید بگم بدون شک این یکی از با کیفیت ترین آموزشهایی هست که میتونید در این زمینه پیدا کنید چرا که مفاهیم به صورت پایه ای آموزش داده شده و تمرین هایی که در انتهای هر فصل طراحی شدن به شرط اینکه جدی گرفته بشن بسیار به مهارت و دید برنامه نویسی شما کمک میکنه. یکی دیگه از نقاط قوت این دوره استفاده از کامپایلر Atmel Studio هست که به دلیل نداشتن ابزاری شبیه به Wizard در Code Vision شما را ملزم میکنه که با تمام رجیسترها که البته به بهترین شکل توسط مدرس توضیح داده شدن آشنا بشید و این واقعا درک عمیقتری به شما میده و تو کیفیت کدی که مینویسید خیلی تاثیر میزاره.
بی صبرانه منتظریم دوره آپدیت بشه و بشینم پای ادامه این آموزش
احسان عبداللهی(مدیریت)
سلام جناب گلستانی فرد عزیز
از لطف شما به بنده متشکرم. هر کاری کردم قطعا وظیفه ای بوده که نسبت به دانشجویان داشتم.
امیدوارم که دوستان از نظر کارشناسی شما استفاده کنند تا بهتر بتونند برای دوره تصمیم گیری کنند.
برای آپدیت هم انشالله به زودی ویدیوها را منتشر می کنم که آموزش را ادامه بدید.
موفق باشید.
taheri551( دانشجوی دوره )
سلام استاد
من تمرین راه اندازی سگمنت به روش رفرشو که بارها در کدویژن(مثلا پروژه ولتمترهم بروش معمولی و هم با نوشتن حلقه برای پایه مشترک ) انجام دادم و نتونستم برای یه سگمنت مولتی پلکس ۲ دیجیت اونم فقط نمایش یه عدد دورقمی انجام بدم در نهایت تو پروتیوس فلیکر دارم و یه اروری هم پروتیوس میده که فرکانس شبیه ساز واقعی نیست
استاد میشه چک کنین اشکالم کجاست ومیشه لطفا یه نمونه از رفرش شما رو داشته باشم چون تجربه شما متفاوت تر از جاهای دیگه هست (مثلا در مورد استفاده از۴ بیت یک پورت و حفظ ۴ بیت دیگه )
ممنون برای زحمت ها تون
احسان عبداللهی(مدیریت)
سلام
کدی را که فرستادید من حذف کردم که کامنت طولانی نشه. ولی بررسی که کردم تاخیرهای یک میلی ثانیه خیلی ضروری نبود.
بهترین حالتی که در پروتئوس میتونید جواب بگیرید با سون سگمنت مولتی پلکس هست. دقت کنید که فرکانس CPU داخل پروتئوس و هم چنین محیط Atmel studio یکی باشه.
در نهایت اگه هنوز اخطار زمان واقعی می گیرید و هم چنین با تغییر مقادیر تاخیر تحت هیچ عنوان فلیکر حذف نمیشه پیشنهاد می کنم که خیلی خودتون را درگیر پروتئوس نکنید.
چون روش کار شما درسته و مهم اینه که روی سون سگمنت واقعی جواب بگیرید. پس ادامه کار را روی برد واقعی تست کنید چون اون جا قطعا جواب میگیرید. اگه باز هم به سوالی بر خوردید حتما مطرح کنید با کمال میل پاسخ میدم.
موفق باشید
taheri551( دانشجوی دوره )
استاد خیلی ممنون از پاسختون
کد رو روی یه سیستم دیگه اجرا کردم درست شد ظاهرا برای نرم افزار مشکلی پیش اومده .
در هر حال ممنون .
احسان عبداللهی(مدیریت)
خواهش میکنم. ممنونم که تجربه خودتون را به اشتراک گذاشتید.
مشکلی که برخوردید عادی هست و گاها در پروتئوس این مسائل پیش میاد.
پروتئوس برای ما در مرحله آموزش خیلی مهم هست اما اگه به هر حال جواب لازمه را از اون نگرفتید یا مجبور بودید برید روی یک سیستم دیگه بدونید که کار شما درست بوده و دیگه انرژی اصلی را باید روی برد واقعی بگذارید.
ابراهیم ژاله رو( دانشجوی دوره )
سلام خسته نباشید من فقط نمی دونم چطور کتابخانه های که برای دانلود گذاشتید رو به برنامه اضافه کنم و در اولین تمرین مربوط به ورودی و خروجی مشکل دارم
احسان عبداللهی(مدیریت)
سلام
در مسیر پروژه یک پوشه به نام library بسازید و فایل های کتابخانه را به اونجا کپی کنید.
ابراهیم ژاله رو( دانشجوی دوره )
خیلی عالی
کیارش حبیبی( دانشجوی دوره )
درود خدمت مهندس عبداللهی عزیز
چند روزی بود که دروس دوره تمام شده بود وباید بازخورد آموزش این دوره به اطلاع دوستان میرسوندم
تا دوستانی که کمی تردید در تهیه دوره دارند راهنمایی دقیق تری دریافت کنند.بنده با کامپایلر های مختلفی
جهتavr کار کردم مثل بسکام یا فلو کد ودوره های زیادی پشت سر گذاشتم
به لحاظ فنی این دوره با کیفیت ترین دوره هست به چند دلیل
اول نوع نگاه استاد یعنی تمامی سطوح هوشی واستعداد مشکلی جهت فهم مطالب ندارند
دوم مطالب عنوان شده بسیار کاربردی و قابل لمس در زندگی عادی است
سوم بیان جزییات به طوری که کمتر نیاز به جستجو در وب دارد
جهت دهی وتغییر ساختار ذهنی برای برنامه نویس شدن دانشجو درجهت مثبت
شخصا دوست داشتم نکات بیشتری رو عنوان کنم که باعث طولانی شدن مطلب میشد
بدرود
احسان عبداللهی(مدیریت)
با تشکر از جناب حبیبی عزیز
قطعا حضور دانشجویان پر تلاش و پیگیری مثل شما که با تمام مشغله های زندگی اینقدر پیگیرانه در حال افزایش دانش خودتون هستید باعث میشه تا ما هم هر روز دوره های با کیفیت تری برای شما تولید کنیم.
amin.golestanifard( دانشجوی دوره )
سلام. اگر ممکنه در مورد چاپ کاراکترهای کاستوم روی lcd کاراکتری هم توضیح بدید. در دوره اشاره ای نشده بود. ممنونم
احسان عبداللهی(مدیریت)
سلام
در آپدیت های بعدی دوره پیشنهاد شما را بررسی می کنیم.
تشکر
novinhamidreza( دانشجوی دوره )
سلام استاد
ببخشید یک سوال از قسمت ۱-۲ دارم
با وجود اینکه در حالت ورودی میتونیم از طریق رجیستر port مقاومت pull-up رو فعال یا غیر فعال کنیم، چه نیازی به بیت pud از رجیستر sfior هست؟
آیا این رجیستر کاربرد خاص دیگری هم داره؟
احسان عبداللهی(مدیریت)
سلام
دقت کنید که از طریق PORT شما VCC را به مقاومت pull-up وصل می کنید اما در صورت وصل نکردن عملا پین رها هست.
ولی وقتی از طریق PUD مقاوم را غیر فعال می کنید دیگه کلا این مقاومت از مدار خارج میشه و وصل کردن VCC به اون هم باعث وصل شدنش نمیشه.
مهسا( دانشجوی دوره )
سلام وقتتون بخیر بابت ساعت دیجیتال میشه یک سری توضیحات به اینکه به چه صورت کار میکنه بدین — مخصوصل تو بخش lcdکه خبری از تایمرها نیست ی کم مشکل هست سپاس
احسان عبداللهی(مدیریت)
سلام
سوالتون یکم مبهمه. دقیق تر بپرسید که با کدوم بخشش مشکل دارید.
اما من یک توضیح کلی میدم. ببینید ساعت دیجیتال بدون تایمر خیلی ساده ساخته میشه. کافیه شما فقط یک ثانیه شمار با برنامه بسازید. بعدش دیگه به راحتی میتونید دقیقه و ساعت را هم به وسیله حلقه ها پیاده سازی کنید.
امیدوارم براتون رفع ابهام شده باشه.
مهسا جمیلی( دانشجوی دوره )
سلام وقتتون بخیر اقای مهندس
واقعااا ممنونم ازتون بابت این دوره عالی جامع و کامل و از همه مهمتر مشاوره دادن عالی تون که پیش نیاز رو معرفی کردین که خیلی به بنده کمک کرد به فهم این علم شیرین میکروکنترلر.
ارزوی موفقیت دارم واستون و منتظر به روز رسانی های فایل ها هستیم.
احسان عبداللهی(مدیریت)
سلام خانم جمیلی
خواهش میکنم نظر لطف شما هست.
هرکاری که کردم برای کمک به شما و سایر دانشجویان بوده و از اینکه می بینم دارید نتیجه میگیرید واقعا خوشحال هستم.
چشم حتما فایل های جدید را هم به زودی منتشر می کنیم.
رامین محمودی
سلام
من یک بار AVR را با کدویژن کار کردم. اما از وقتی با دوره شما آشنا شدم و متوجه شدم که اتمل استدیو چه مزیتهایی داره خیلی علاقه مند شدم باهاش کار کنم اما یه مشکلی که دارم اینه که به روش قبل عادت کردم و یکم سختمه خودمو تغییر بدم. یک جورایی مطمئن نیستم که روش جدید را شروع کنم یا نه. ممنون میشم راهنماییم کنید.
احسان عبداللهی(مدیریت)
سلام
بهتره یک بار دیگه مزیتهای اتمل استدیو نسبت به کدویژن را با دقت مطالعه کنید و بعد با کار خودتون مقایسه کنید. ببینید آیا وقعا شما هم این مشکلات را دارید؟(به احتمال زیاده همینطوره)
پس اگر شما هم این مشکلات را دارید حتما در این دوره شرکت کنید. علاوه بر اتمل استدیو که مزیتهای زیادی داره، در این دوره نکات صنعتی بسیار زیادی وجود داره که میتونید یاد بگیرید.
رامین محمودی
بله دقیقا همین مشکلات هم در کار من وجود داره. سالهاست سعی کردم با مشکلات کدویژن کنار بیام و تحملشون کنم. همیشه میخواستم یکی این مشکلات را حل کنه ولی خبری نشد. امیدورام با اتمل استدیو بتونم بهتر کارمو پیش ببرم.
انشالله به زودی در دوره شما ثبت نام می کنم.
احسان عبداللهی(مدیریت)
خیلی خوشحالم میشیم که جزء دانشجویان خوب میکرولرن باشید.
محمدحسین شیخی( دانشجوی دوره )
سلام مهندس عبداللهی خسته نباشید
برای من یک مشکلی داخل کامپایل کردن کتابخانه lcd به وجود امد وقتی میخواهم برنامه خودم رو که به وسیله کتابخانه lcdنوشتم کامپایل کنم این ارور برای من میاد میشه راهنمایم کنید
(F_cpu’ undeclared(first use in this function’
احسان عبداللهی(مدیریت)
سلام و درود
داخل کتابخانه LCD نیاز به یک define داره به اسم F_CPU. برای حل این مشکل دو راه دارید.
قبل از include کردن کتابخانه LCD خودتون F_CPU را define کنید و مقدارش را ۱۰۰۰۰۰۰UL یا هر عددی که فرکانس CPU هست قرار بدید.
قبل از include کردن کتابخانه LCD فایل global.h را include کنید. داخل فایل گلوبان F_CPU وجود داره و میتونید مقدارش را تنظیم کنید.
محمد رضاسلطانی( دانشجوی دوره )
سلام مهندس عبداللهی عزیز دوره تون خیلی خوب و جامع هست و اینکه پشتیبانی دوره همیشه جوابگو هستند.من یه سوال برام پیش اومده در کتابخانه هایی که گذاشتید برای دانلود من کتابخانه ی config رو پیدا نمیکنم ممنون میشم پاسخم رو بدین
احسان عبداللهی(مدیریت)
سلام جناب سلطانی عزیز
دقت کنید که config یک کتابخانه نیست. بلکه فقط، فایلی هست که شما باید برای هر پروژه طبق تنظیمات اون بنویسید. هر جایی که در پروژه این فایل را مشاهده کردید طبق ویدیو میتونید خودتون باز نویسی کنید. دقت کنید برای اینکه تمرین باشه براتون فایل را قرار ندادیم.
موفق باشید.
محمدحسین شیخی( دانشجوی دوره )
سلام مهندس عبداللهی خسته نباشید
یه یک سوالی برام پیش اومد درمورد مبحث سون سگمنت
میخواستم توضیح درمورد سون سگمنت مالتی پلکس بدید و روش راه اندازی آن
ممنون
احسان عبداللهی(مدیریت)
سلام آقای شیخی
سون سگمنت مالتی پلکس چیز خیلی عجیبی نیست. مثل اینه که شما مثلا ۴ تا سون سگمنت عادی را بخواهید روشن کنید. ۸ تا خط داده داره که اطلاعات میفرستید براش. و تعدادی خط انتخاب که هر کدوم فعال باشه باعث نمایش اطلاعات روی سون سگمنت متناظر با اون میشه. این فعال بودن هم بستگی داره که آند مشترک هست یا کاتد مشترک. فقط یادتون باشه اگه جریان کافی لازم دارید از ترانزیستور استفاده کنید.
مجید شیخی
تا حالا چندتا کتاب برای AVR خوندم ولی آخرش یه جاهایی رو به مشکل می خوردم. با تحقیق زیاد بالاخره تصمیم گرفتم دوره شما رو شرکت کنم. اولش هم خیلی شک داشتم. اما حالا از تصمیم خودم خیلی راضی هستم. خدا خیرتون بده که آموزش با کیفیت میسازید.
احسان عبداللهی(مدیریت)
نظر لطف شماست. همین که به دردتون خورده و راضی بودید برای من ارزشمنده.
محمد حسین چراغی( دانشجوی دوره )
جامع ترین آموزشی بوده که من دیدم ممنون از استاد عبداللهی
احسان عبداللهی(مدیریت)
امیدورام که براتون مفید باشه جناب چراغی عزیز.
mrhabibpour( دانشجوی دوره )
سلام مهندس وقتت بخیر , سپاس از آموزش های خوبتون
من به یک مشکلی برخوردم در مورد اضافه کردن کتابخانه به نرم افزار ممنون میشم در مورد این موضوع ینی اضافه کردن library به ATMEL STDIO ویدیو ضبط کنید
سپاس
احسان عبداللهی(مدیریت)
سلام و درود
در مورد نحوه اضافه کردن کتابخانه به اتمل استدیو در آموزش ها توضیح داده شده. شما دقیقا مشکل را بفرمایید تا براتون توضیح بدم.
محمد
سلام مهندس ببخشید از کی دوباره کلاس شروع میشود
احسان عبداللهی(مدیریت)
سلام
نیمه دوم آبان ماه دوره شروع میشه.