توجه :
 
 چنانچه مفاهیم یا عبارت ها و اصطلاحات به کار رفته در این صفحه را متوجه نمی شوید، می توانید مطالعه خود را از اولین جلسه آموزشی رباتیک شروع نمایید. بدین منظور روی لینک زیر کلیک فرمایید:
 
 
همچنین چنانچه بخشی از مطالب را قبلا خوانده اید، برای مشاهده فهرست موضوعات جلسات آموزشی رباتیک، لطفا روی لینک زیر کلیک فرمایید:
 
 
در این بخش از سایت رشد، مطالب آموزشی در زمینه رباتیک با زبان بسیار ساده و بر مبنای مطالبی که در سنین راهنمایی آموخته اید ارائه شده و در هر جلسه مطالب جدیدی آموزش داده شده اند.
 آخرین مطالب
 جلسه‌ي بيست و ششم
جلسه‌ي بيست و ششم
آشنايي با Codevision، لبه‌ي Port، لبه‌ي Chip، آشنايي با Pullup و Output value و ...

این جلسه همان‌طور که قول داده بودیم، قراره کمی در مورد Codevision توضیحاتی بدیم. در ابتدا دوستان عزیز برای اینکه بتونن مطلب رو با ما دنبال کنند، لازمه که این نرم افزار تهیه کرده و روی کامپیوتر شخصی خود نصب کنند. در زیر نسخه ی2.03.4 Crack شده‌ی این نرم افزار را، برای دانلود دوستان قرار دادیم.(حجم 8.15مگابایت)


جلسه‌ي بيست و پنجم

صفحه‌ي اصلي رباتيك

جلسه‌ي بيست و هفتم


به نام خدا

با عرض سلام خدمت همه ی دوستان عزیزم.

و با عرض پوزش فراوان به خاطر تاخیر چند روزه در ارائه ی جلسه ی بیست و ششم.

این جلسه همان‌طور که قول داده بودیم، قراره کمی در مورد Codevision توضیحاتی بدیم.

در ابتدا دوستان عزیز برای اینکه بتونن مطلب رو با ما دنبال کنند، لازمه که این نرم افزار تهیه کرده و روی کامپیوتر شخصی خود نصب کنند. در زیر نسخه ی2.03.4 Crack شده‌ی این نرم افزار را، برای دانلود دوستان قرار دادیم.(حجم 8.15مگابایت)
براي دانلود نرم افزار اينجا كليك كنيد
پس انجام مراحل نصب برنامه، برنامه را باز کنید.


چگونه يك پروژه‌ي جديد تعريف كنيم؟

برای نوشتن یک پروژه ی جدید، باید ایتدا از منوی File، گزینه ی New را انتخاب کنید. یک پنجره ی کوچک در وسط صفحه باز می شود که در آن باید گزینه ی Project را انتخاب کرده و تایید کنید. بلافاصله پنجره ی دیگری باز می شود که از شما سوال می کند آیا تمایل دارید برای انجام پروژه ی خود از CodeWizard استفاده کنید؟

همانطور که گفته شد، CodeWizard یکی از نرم افزارهای جانبی CodeVision است که به وسیله ی یک واسط گرافیکی، در نوشتن برنامه ی اصلی و انجام تنظیمات اولیه پورت ها و ....، کمک بسیار زیادی به ما می کند.

پس گزینه ی Yes را انتخاب می کنیم و CodeWizard باز می شود.


چگونه از CodeWizard استفاده کنیم:


شکل زیر، نمای کلی از CodeWizard است:



همانطور که میبینید، لبه های متعددی برای انجام تنظیمات مختلف میکروکنترلر در آن وجود دارد.


لبه‌ی Chip:

اولین لبه ای که ما با آن کار داریم لبه ی Chip است. در این قسمت ما باید نوع میکروکنترلر خودمان را انتخاب کنیم. همانطور که در شکل بالا می بینید، میکرو کنترلر ATmega16L را انتخاب کرده ایم.

قسمت Clock مربوط به تنظیم فرکانس کاری آی سی است که ما فعلاً وارد اين مبحث نمي‌شويم و آنرا با همان مقدار پیش فرض می پذیریم. با قسمت های دیگر این لبه هم ما کاری نداریم و آن ها را به همان صورت پیش فرض می پذیریم.


لبه‌ی Port:

این لبه مربوط به تنظیمات ورودی خروجی پایه هاست.



همانطور که می بینید هر پایه از هر پورت را در این قسمت می توان به راحتی به صورت In (ورودی) و یا Out(خروجی) تنظیم کرد. فقط کافیست لبه ی مربوط به پورت مورد نظر را انتخاب کنید، حالا برای تغییر وضعیت هر پایه باید روی آن کلیک کنید.


Output value یا مقدار اولیه:

وقتی پایه ای را به صورت خروجی تنظیم می کنیم، می توان با تنظیم رجیستری PORTx تعیین کرد که سطح ولتاژ خروجی این پایه به صورت پیش فرض 0 باشد یا 1. یعنی در زمانیکه هنوز برنامه‌ي ما برای پایه ها تعیین وضعیت نکرده است، می توان به این طریق سطح ولتاژ اولیه ی پایه را تعیین نمود.

CodeWizard در این جا هم کار ما را راحت تر کرده است، در ستون مقابل یعنی ستون "Pullup/Output value" برای پایه هایی که به صورت خروجی تعریف شده اند، می توان با یک کلیک وضعیت خروجی پایه را مشخص کرد. مثلاً الآن پایه ی شماره ی 2 از پورت A به صورت خروجی تعریف شده و در ستون مقابل نیز مقدار پیش فرض خروجی 0 تعیین شده است.


Pullup:

این قابلیت سخت افزاریست و در خانواده ی AVR نیز وجود دارد. Pullup کردن به این معناست که پایه ای را با یک مقاومت بالا(مثلاً 10 کیلو اهم) به + وصل کنیم. اگر هم پایه را با این مقاومت به GND وصل کنیم، می گوییم پایه را Pulldown کرده ایم. مقاومت بزرگ باعث می شود که جریان عبوری به حداقل کاهش یابد، ولی به وسیله ی ولتاژی که بر روی پایه قرار می گیرد، می‌توان ورودی مورد نظر را در هنگامیکه هنوز ورودی از خارج دریافت نکرده به صورت پیش فرض 0 یا 1 کرد.

وقتی پایه ای را به صورت ورودی تعریف می کنیم، با تنظیم رجیستری PORTx می توان تعیین کرد که پایه ی ورودی به صورت پیش فرض Pullup باشد یا نباشد. دقت کنید که در اینجا نمی توان تنظیم کرد که مقدار ورودی پیش فرض 0 باشد، چون خانواده ی AVR قابلیت Pulldown ندارند وفقط می توان آنرا به صورت Pullup تنظیم نمود، و در نتیجه پایه ای که Pullup شده است در هنگامیکه هنوز از خارج مقداری را دریافت نکرده است، به صورت پیش فرض 1 منطقی شود.

حالا بعد از انجام تنظیمات اولیه پورت ها و خود آی سی ، باید از Codewizard بخواهیم تا یک برنامه ی نیمه آماده با توجه به تنظیماتی که تنجان داده ایم در اختیار ما بذاره.

برای این کار از منوی File گزینه ی "Generate, Save and Exit" را انتخاب کنید. حالا باید جایی که می خواهید برنامه ی شما Save شود را مشخص کنید. Codevision در اینجا 3 فایل برای برنامه ی شما می سازد که باید آن ها را نام گداری کنید. بهتر است نام این 3 فایل و محل ذخیره سازی آن ها یکی باشد.

بعد از ساخته شدن این 3 فایل توسط Codevision برنامه آماده است، حالا شما باید دستورات خود را در محل تعیین شده بنویسید.



بعد از نوشتن برنامه باید آنرا کامپایل کرده و و سپس فایلHex آنرا بسازید و بعد از آن، فایل Hex را در میکرو کنترلر Load کنید. حالا میکروکنترلر شما پروگرام شده و آماده ی استفاده است. در جلسه ی آینده با روند اجرای این مراحل در Codevision آشنا خوهید شد.

جلسه ی آینده نیز  شنبه ، 2/9بر روی سایت قرار داده خواهد شد.

منتظر نظرات و سوالات دوستان خوبم هستم.
موفق و پيروز باشيد، خدا نگه دار


دوست شما، فراز


جلسه‌ي بيست و پنجم

صفحه‌ي اصلي رباتيك

جلسه‌ي بيست و هفتم


1387/8/12 لينک مستقيم

فرستنده :
amin HyperLink HyperLink 1388/1/17
مـتـن : سلام آقا فراز اگر میشه برنامه رو دوباره آپلود کنید چون خرابه ممنون
پاسـخ : سلام امين جان. مشكل رفع شد، ممنون از تذكرت

فرستنده :
legent_girl@yahoo.com HyperLink HyperLink 1387/12/7
مـتـن : salam
chera soal haye mano jabav nadadin??????????
پاسـخ : سلام. ببخشيد، من سوالات رو با كمي تاخير جواب مي‌دهم

فرستنده :
ناشناس HyperLink HyperLink 1387/12/7
مـتـن : چرا این میکرو PULLDOWN نداره؟
pullup براي چيه؟اگر pullup نکنیم چه مشکلی پیش میاد؟
پس ما برای مقداردهی اولیه ورودی ازpullup و برای خروجی ازvalue استفاده میکنیم؟
پاسـخ : سلام
اين موضوع بر‌ميگرده به ساختار داخلي ميكروكنترلر. اگر اين كار رو نكنيم ممكن است در بعضي از مواقع كه مقدار خاصي را براي خروجي تعيين نكرديم، ميكروكنترلر در دريافت اطلاعات از ورودي دچار مشكل شود.
بله، دقيقاً درسته.
موفق باشيد

فرستنده :
احسان HyperLink HyperLink 1387/12/7
مـتـن : سلام.با عرض خسته نباشيد ...
ممنون از مطالب عاليتون من از امروز كارم رو شروع كردم انشا الله كه بهتون مي رسم.اگه مي شه بعضي از عكس ها هست كه لود نميشه اونا رو دوباره تو سايت بذارين.ممنون
پاسـخ : سلام احسان جان
ممنونم. لطفاً دقيقاً بفرماييد كدوم عكس‌ها مشكل دارند تا برطرف كنيم.
موفق باشي دوست عزيز

فرستنده :
هدي HyperLink HyperLink 1387/9/22
مـتـن : سلام... بسيار مطالب مفيدي بود..من اين ترم پرو‍ژه ي ربات مسير ياب با قابليت متراژ مسير رو دارم..
در مرحله ي ابتداييش هستم.. ميخواستم بدونم براي راه اندازي موتور به صورت چپ گرد و راست گرد كدوم يكي از آي سي هاي L297 يا L298 رو خرريداري كنم؟ چه تفاوت هايي با هم دارن و هر كدوم چه كارايي هايي...
براي دو موتور 2تا آي سي به يك شكل لازم هست؟؟؟؟
پاسـخ : سلام دوست عزیز
شما جلساتی که در مورد L298 توضیح دادم رو لطفاً بخونید، اونجا کاملاً در مورد سولات شما توضیح دادم. هر L298 توانایی راه اندازی 2 موتور همزمان رو داره.
موفق باشید

فرستنده :
محمد HyperLink HyperLink 1387/9/22
مـتـن : سلام.میخواستم یه کمکی کنید من یه تصمیمی بگیرم.
من سال دوم It هستم و به شدت به رباتیک علاقه دارم.ولی از کجا شروع کنم.
یه جا رو پیدا کردم که یاد میده ولی... مید.نین که آموزشگاهها چه جوری یاد میدن.فقط میخوان پول بگیرن.
کیت های آموزشی کمک میکنه؟
با تشکر از مطالب سایتتون.
همشو خوندم.از اول تا قسمت 26.
منتظر بعدیشم هستیما...
پاسـخ : سلام دوست عزیز
برای افرادی در شرایط شما، آموزش گاه ها تقریباً گزینه ی مناسبی نیستند.به نظر من با توجه به اینکه شما خودتون دانشجو هستید و با روش های تحقیق و ریسرچ آشنایی دارید، باید خودتون از تو اینترنت یا سایر منابع کار تحقیق رو شروع کنید.
موفق باشی محمد جان

فرستنده :
ناشناس HyperLink HyperLink 1387/9/22
مـتـن : با عرض سلام و تشکر از زحمات شما، دوست عزیز فایلی که واسه دانلود قرار دادید ارور میده.
پاسـخ : سلام دوست عزیز. ممنون از تذکرتون، مشکل رو برطرف کردیم، موفق و پیروز باشید

فرستنده :
سمن HyperLink HyperLink 1387/9/22
مـتـن : سلام
از زحماتتون بسیار متشکرم.می خواستم راجع به مسابقات امسال بدونم. میشه لطفا یک کمی توضیح بدین.
پاسـخ : سلام
مهمترین مسابقاتی که در پیش داریم، مسابقات Iran open هست که در اواسط فروردین ما برگزار میشه، این مسابقات بین المللی هست. در بخش دانش اموزی هم تیم های بسیار زیادی از سراسر ایران در این مسابقات شرکت می کنند. مسابقات دانش اموزی در بخش های امدادگر و فوتبالیست برگزار می شوند.
این هم آدرس سایت مسابقات هست:http://iranopen2009.ir
موفق باشی دوست عزیز

فرستنده :
همكار HyperLink HyperLink 1387/9/22
مـتـن : در جلسه بيست و پنجم در باره تعريف متغيرهاي كاراكتري و مقدار دهي به آن ها اين مثال ها را زده بوديد
char a1="a", a2, a3, a4="B"
Temp="B"
فكر كنم لازم باشد كه اصلاح كنيد:
براي مقدار كاراكتري دادن در اول يا وسط برنامه بايد از 'B' استفاده بشود. اگر بخواهيم مثلا از "" استفاده كنيم و چند حرف را در يك آرايه كاراكتري بريزيم بايد حتماً در اول برنامه اين كار را انجام بدهيم.(يا متغير سراسري يا محلي) مثلاً
int a[2]="B"; or int c[]="salam"; //tool c 6 char ast
البته فكر نكنم اين قسمت آخر در اين جاي درس مورد نظر شما بوده باشد
موفق باشيد.
پاسـخ : سلام دوست عزیز
ممنون از یادآوریتون، حق با شماست، مطلب رو اصلاح کردم.
موفق باشید

فرستنده :
sajjad HyperLink HyperLink 1387/9/22
مـتـن : salam
man danesh amooz pish daneshgahi hastam va alageye ziadi be elme robaric daramva alan dar hal sakhte yek robate emdadgar baraye mosabeghate iranopen hastam. aya khob hast ke dar kenar darsam robat ham besazam
mamnnon
khodahafez
پاسـخ : سلام دوست عزیز
نظر شخصی بنده اینه که سال پیش دانشگاهی وقت این کارا نیست، یه کم دندون رو جیگر بذارید، تو دانشگاه وقت زیاد برا این کارا دارید. به هر حال براتون آرزوی موفقیت می کنم دوست عزیز

نظر شما پس از تاييد در سايت قرار داده خواهد شد
نام :
پست الکترونيکي :
صفحه شخصي :
نظر:
تایید انصراف
 

 

 فعاليت هاي علمي
 تماس با ما