چشمکزن با میکروکنترلرهای AVR و PIC
در دستورالعمل پیوست شما به کمک میکروکنترلرهای PIC16F84A و AVR ATmega8 یک چشمکزن با 2 LED بسازید. تمام مراحل کار مرحله به مرحله توضیح داده شدهاست.
ساخت مدار چشمکزن به کمک میکروکنترلر PIC16F84A
سلام
در این بخش به شما کمک میشود که یک چشمکزن 2 LED را به کمک میکروکنترلر PIC 16F84A طراحی کنید.
مداری بسیار ساده و برنامهای بسیار ساده. مناسب برای ورود به دنیای میکروکنترلرها:
نقشهی پایههای میکروکنترلر انتخابشده به شکل زیر است:
اکنون بر روی بردبورد، مانند نقشهی داده شده، قطعات مدار را قرار داده و بهدقت آن را بررسی میکنیم تا اشتباهی وجود نداشتهباشد:
اکنون مدار مونتاژ شده را که احتمالا مطابق شکل زیر ( با کمی تفاوت بهخاطر تفاوت سلیقه و آزادی عمل) بستهاید مقایسه کنید. دقت کنید که ولتاژها را اشتباه وصل نکردهباشید، عناصر دقیقا به شماره پایهی مورد نظر متصل شدهباشند و ... .)
حال نوبت به برنامهنویسی میرسد. از طریق برنامهی PicBasicPro2.6 برنامهی داده شده را تایپ کنید:
از تایپ برنامه، بر روی آیکنی که با یک فلش بهسمت راست ( در کنار نام میکروکنترلر) مشخص شده، کلیک کنید. اگر اشتباهی در برنامه وجود داشتهباشد در قسمت پایین و با رنگ قرمز به شما تذکر داده میشود.
اگر برنامه هیچ نقصی نداشته باشد، چند فایل برای شما ایجاد خواهد شد.
شما اگر از پروگرمرهای مبتنی بر پورت Com یا LPT استفاده میکنید، میتوانید توسط منوها و آیکنهای همین برنامه هم آن را روی میکرو بارگذاری کنید.
چون از پروگرامر یونیورسال USB با نام MEP500 که برخی انواع AVR، PIC، Flash و ... را برنامهریزی میکند؛ استفاده میکنیم، مطابق تصویر بالا برنامهی MEPWIN را باز میکنیم. شما بسته به نوع پروگرامر خود میتوانید از برنامههای دیگری نیز استفاده فرمایید. ما در پنجرهای که باز شده، نوع uC یا میکروکنترلرها را انتخاب کرده، خانوادهی Microchip را از سمت چپ برمیگزینبم؛ و سپس در قسمت جستجو در بالا، نام PIC16F84A را تایپ میکنیم. مشاهده میشود که هرچه حروف بیشتری را تایپ میکنیم، فهرست عناصر کوتاهتر میشود. پس از تایید، پنجرهای به شکل زیر باز میشود که فعلا با آن کاری نخواهیم داشت و آن را میبندیم:
فایل HEX تولیدی را در برنامهی MEPWIN باز کرده (load) میکنیم: آیکن load را انتخاب کرده، مسیر فایل HEX خود را وارد میکنیم و بر روی OPENکلیک میکنیم. کد هگزادسیمال ما باز میشود:
نوع برنامهی خود را تایید میکنیم. (در اینجا HEX):
برنامهی هگزادسیمال به MEPWIN بار شد:
حال برنامهی هگزادسیمال را باید روی میکروکنترلر منتقل کنیم، از سمت چپ، آیکن پنجم را انتخاب میکنیم:
نوع میکروکنترلر را دقیقا بررسی کرده و بر روی گزینهی RUN کلیک میکنیم. همچنین میتوان بهصورت دستی (غیر خودکار) عملیات Erase پاککردن میکرو، Program برنامهنویسی میکرو و چککردن برنامهی منتقل شده Verify را انجام داد. در اینجا کلیه عملیات را بهطور کامل بر روی میکروی خود انجام دادیم. البته اگر شما اولینباری است که بر روی میکرو برنامه خواهید نوشت، میتوانید فقط پروگرام انجام دهید.
اکنون میکرو را دوباره به روی برد بورد منتقل کرده و با احتیاط و دقت، آن را درست در جای خود قرار میدهیم. ولتاژ تثبیتشده 5ولتی را وصل میکنیم. مدار پس از تاخیری کوتاه، شروع به چشمکزدن خواهد کرد.
این اولین تجربهی موفق شما در ورود به دنیای میکروکنترلرهاست. شاید شما هنوز چیز زیادی از برنامهنویسی و توانمندیهای میکرو ندانید، اما مهم این است که پای در راه دانستن و بیشتر دانستن گذاشتهاید. توفیق قرین راهتان باد.
تمرین منطق ( ویژهی سازندگان روباتهای مسیریاب، مینیاب، ماز، و ...)
نرمافزاری برای گسترش تفکر برنامهنویسی: RoboMind نسخه2/2 برای ویندوز، RoboMind نسخه لینوکس (راهنمای نصب در لینوکس) و کد مرجع نرمافزار
در این برنامه، با فرمان (forward(n تعداد سلولهایی که روبات به جلو میرود را تعیین میکنید. (repeat(n تعداد تکرار را تعیین میکنید. بهتر است که بر روی ۱ تنظیم شود.
فرمانهای ()left و ()right هر دو بدون پارامتر و برای چرخش به چپ و راست در نظر گرفته شدهاند.
با کنکاش بیشتر، اطلاعات ارزشمندی از برنامهنویسی برای روبات کسب خواهید کرد و میتوانید با ارائه یک منطق درست و سریع، زودتر از دیگران به هدف ارزشمند خود دست یابید.
یادتان باشد که اگر سازههای روباتیک مساوی داشتهباشید، کسی برتر است که برترین الگوریتم را ارائه میدهد. این برنامه کمک بسیار خوبی به شرکتکنندگان در لیگ روباتهای واقعی (بویژه مینیاب) میکند.
این برنامه روباتهای مسیریاب، تعقیب خط، ماز، خطکش، یافتن سکه و ... همه و همه را در قالب مثالهایی پوشش داده است.
سرآغاز در آغاز سالی نو
سرآغاز
آغاز سال نو شمسی (سال 1389) را فرصتی مناسب برای ایجاد یک سایت اینترنتی منسجم برای آموزش مسائل روباتیک یافتم.
البته باید اذعان کرد که وبلاگها، فرومها و انجمنها و سایتهای بسیاری به زبان شیرین پارسی برای ارائهی مطالب علمی و آموزشی مرتبط با روباتیک به مخاطبان ارائه شدهاست.
اما گاهی که به میان دانشآموزان دختر و پسر میرفتم، در مییافتم که در میان بسیاری از دانشآموزان که بهخوبی با مطالب سطح بالا و ارزشمند ارائهشده در این سایتها ارتباط برقرار کردهاند، اما هنوز هم وجود دارند جوانان و نوجوانانی که مطالب ارائهشده را در حد دانش خود نمیبینند و یک مرز یا فاصله میان آنها و دانش موجود در این سایتها و باشگاهها وجود دارد.
کمبود منابع مالی، کمبود منابع آموزشی، ضعف سیستم آموزشی، نبود جایگاه مستقل برای روباتیک در شهرها و ... همه و همه دست به دست هم دادهاند تا گروهی از جوانان مستعد ما فکر کنند که روباتیک، یک علم دستنیافتنی است.
این سرآغاز راهی است که به کمک هم به دروازههای دانش روباتیک گام برداریم. در ادامه، خود شما حتما سایتها و منابع معتبر بیشتری را خواهید یافت.
با احترام به همه شما