توجه :
 
 چنانچه مفاهیم یا عبارت ها و اصطلاحات به کار رفته در این صفحه را متوجه نمی شوید، می توانید مطالعه خود را از اولین جلسه آموزشی رباتیک شروع نمایید. بدین منظور روی لینک زیر کلیک فرمایید:
 
 
همچنین چنانچه بخشی از مطالب را قبلا خوانده اید، برای مشاهده فهرست موضوعات جلسات آموزشی رباتیک، لطفا روی لینک زیر کلیک فرمایید:
 
 
در این بخش از سایت رشد، مطالب آموزشی در زمینه رباتیک با زبان بسیار ساده و بر مبنای مطالبی که در سنین راهنمایی آموخته اید ارائه شده و در هر جلسه مطالب جدیدی آموزش داده شده اند.
 آخرین مطالب
 جلسه‌ی بیست و هفتم
جلسه‌ی بیست و هفتم
مراحل کامپایل کردن، پروگرام کردن میکروکنترلر و رفع نقص برنامه و ...

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

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

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


به نام خدا

با سلام خدمت همه ی دوستای خوبم و عرض پوزش به خاطر وقفه در ارایه ی مطالب

در این جلسه قراره شما رو با مراحل کامپایل کردن ، پروگرام کردن میکروکنترلر و رفع نقص برنامه آشنا کنیم.

همانطور که گفته شد فقط «زبان ماشین»(Machine Language)، زبان قابل فهم برای پردازنده ی کامپیوتر است، و برنامه هایی که در زبان های دیگر می نویسیم برای اینکه بتوانند توسط پردازنده اجرا شوند باید حتماً توسط کامپایلرها به «زبان ماشین» ترجمه شوند. اما نوشتن برنامه در این زبان برای ما بسیار مشکل است، زیرا دستورات قابل فهم برای این زبان بسیار ابتدایی و ساده هستند و به سختی می توان برنامه های حرفه ای و الگوریتم های پیچیده را در آن پیاده سازی کرد. مثلاً حتی برای انتقال داده از یک متغیر به متغیر دیگر، باید چندین خط برنامه بنویسید، اما در زبان C این کار در 1 عبارت انجام می شود. برنامه نویسی در این زبان دشواری های مختلفی دارد که فعلاً به آن ها نمی پردازیم.

به همین خاطر ما برنامه های خود را در زبان C می نویسیم و باقی کارها را به کامپایلر می سپاریم. کامپایلر ابتدا برنامه ی ما را از زبان C به زبان اسمبلی ترجمه می کند، سپس برنامه ی دیگری به نام «اسمبلر»(" Assembler") برنامه ی ما را از اسمبلی به «زبان ماشین» تبدیل می کند.
زبان اسمبلی یک پله کاملتر از زبان ماشین است. برنامه نویسی در این زبان بسیار ساده تر از زبان ماشین است و بعضی از مشکلاتی که در زبان ماشین وجود داشت در این زبان برطرف شده و یکی از زبان های رایج فعلی برای برنامه نویسی میکروکنترلرها همین زبان اسمبلی است که بیشتر هم در برنامه نویسی میکروکنترلرهای سری 8051 استفاده می شود. اما برنامه نویسی در این زبان هم بسیار پیچیده تر از زبان C است و نوشتن برنامه های حرفه ای و طولانی در این زبان بسیار دشوار است.


حال چگونه باید این مراحل را در محیط
CodeVisionانجام داد:
بعد از نوشتن برنامه، شما می توانید با فشار دادن کلید F9 برنامه ی خود را کامپایل کنید. با فشار دادن همزمان Shift+F9 برنامه ی شما ابتدا کامپایل شده و به اسمبلی تبدیل می شود وسپس توسط اسمبلر، به زبان ماشین تبدیل می شود. سپس فایلی با پسوند .HEX در محلی که شما مشخص کرده اید(در هنگام ساختن پروژه) ساخته می شود.این فایل همان برنامه ی شماست و شما باید این فایل را طی مراحلی که در ادامه توضیح داده می شود، در میکروکنترلر Load کنید.

در اینجا ما نیاز به نرم افزارِ پروگرامر "Programmer" داریم تا اطلاعات ما رو با پرتوکل های مشخصی که در جلسات آینده در مورد آن ها توضیح خواهیم داد، به میکروکنترلر منتقل کند.

همانطور که در جلسات پیش مطرح شد، CodeVision مجموعه ای از چند برنامه ی مختلف است که در کنار هم جمع شده اند تا همه ی نیازهای کاربر را برطرف کنند. در اینجا هم پروگرامر CodeVision مشکل ما رو حل می کند. برای استفاده از پروگرامر، باید در نوارابزار بالا روی "Chip Programmer" کلیک کنید تا پنجره ای به شکل زیر باز شود.



حال از منوی File"" ِ همین پنجره، گزینه ی Load Flash"" را انتخاب کنید. حالا فایلی که در قسمت بالا ساختید (.Hex) را از پوشه ی "exe" انتخاب کنید. البته به صورت پیش فرض این کار انجام می شود و فایل .HEX برنامه ی شما در پروگرامر Load می شود، اما ممکن است گاهی به دلایل مختلف نیاز باشد فایل دیگری را Load کنید.

حالا شما باید کابل ارتباطی بین میکروکنترلر و کامپیوتر را متصل کنید ارتباط بین میکروکنترلر و کامپیوتر برقرار شود. توضیحات مفصل در مورد این قسمت و نحوه ی ساخت این کابل در جلسات آینده به تفصیل توضیح داده خواهد شد.

حالا از منوی "Program" گزینه ی "Erase Chip" را انتخاب کنید تا برنامه های قبلی ای که رو میکروکنترلر شما هست پاک شود و میکروکنترلر آماده دریافت برنامه ی جدید شود. سپس از همین قسمت، گزینه ی "Flash" را انتخاب کنید تا برنامه ی جدید شما در داخل میکروکنترلر Load شود. حالا میکروکنترلر شما پروگرام شده و آماده ی استفاده است.

مشکلات احتمالی:

در بخش کامپایل کردن برنامه، ممکن است برنامه ی شما ایرادات مختلفی داشته باشد که مانع کامپایل شدن برنامه شود. این ایرادات(Errors)، همراه با شماره ی خطی که در آن ایراد وجود دارد، بعد از هربار که برنامه را کامپایل می کنید در قسمت سمت چپ، در لبه ی"Code Navigator" نمایش داده می شوند .



نکته ی مهم:
یکی از رایج ترین ایرادات که مربوط به نگذاشتن ";" در پایان جملات است، ایراد "missing';' " است.

سپس بعد از رفع ایراد ، دوباره برنامه را کامپایل کنید و اگر Error در آن قسمت نبود، برنامه ی شما کامل است.

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

منتظر سوالات و نظرات دوستان خوبم هستم.

جلسه ی آینده، جمعه ی هفته ی آینده بر روی سایت قرار خواهد گرفت.

تا جلسه ی آینده خدا نگه دار.

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


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

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

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


1387/9/6 لينک مستقيم

فرستنده :
نغمه HyperLink HyperLink 1387/12/7
مـتـن : اگر erase chip نكنيم چي ميشه؟
پاسـخ : سلام
اگر اين كارو نكنيد نمي‌تونيد ميكرو را پروگرام كنيد.

فرستنده :
hichkas HyperLink HyperLink 1387/10/11
مـتـن : واقعا از شما ممنونم که با این آموزش منو بهتر با دنیای رباتیک آشنا کردید
سعی کنید مطالب رو زودتر در سایت بگزارید
ممنون
پاسـخ : سلام دوست عزيز
خواهش مي‌كنم، چشم دوست عزيز، حتماً
پيروز باشيد

فرستنده :
omid HyperLink HyperLink 1387/10/11
مـتـن : سلام فراز جان عزیز
از این که روباتیک رو به ما آموزش میدی ممنونم
ولی یه خورده سرعت کارت رو زیاد کن
پاسـخ : سلام اميد جان
خواهش مي‌كنم دوست عزيز، چشم، حتماً بيشتر ميشه سرعت كار
موفق باشي

فرستنده :
رضا HyperLink HyperLink 1387/10/11
مـتـن : با عرض سلام.اول از شمابه خاطرمطالب جالبتون تشکر میکنم.
من یک مشکل با نرم افزار codevision دارم.میخواستم ببینم میتونید کمکم کنید.
من یک برنامه باcodevisionنوشتم و بعد اونو رو میکرو پروگرم کردم . اما بعد از اون دیگه نمیتونم میکرو رو دوباره پاک یا پروگرم کنم.
ازیک از دوستام که با bascom کار میکنه پرسیدم گفت اول برنامه اسیلاتور داخلی تعریف نکردم.می خواستم ببینم شما میتونید کمکم کنید.
با تشکر
پاسـخ : سلام رضا جان
اين مشكل مي‌تونه دلايل متعددي داشته باشه، و بعيد مي‌دونم ربطي به اسيلاتور داشته باشه. به هر حال شما مي‌تونيد در بخش پروگرامر، از قسمت "Program Fuse bit" ،فيوز بيت مربوط به اسيلاتور خارجي غير فعال كنيد(تيك اولين فيوز بيت را برداريد ).
ممكن است به احتمال زياد، ميكروكنترلر شما سوخته باشه، ميكروكنترلر رو تعويض كنيد و دوباره امتحان كنيد
موفق باشيد دوست عزيز

فرستنده :
farzad HyperLink HyperLink 1387/10/9
مـتـن : سلام
لطفا طريقه ي اتصال رله به ميكرو را بگزاريد
پاسـخ : سلام فرزاد جان
ميكروكنترلر جريان دهي كافي براي تحريك رله رو نداره، به همين خاطر شما بايد براي راه اندازي رله از يك تقويت كننده مثل ترانزيستور استفاده كنيد (مثلاً TIP42) . همچنين مي‌تونيد از آي‌سي بافر استفاده كنيد. براي رله هاي 12 ولت هم مي‌تونيد از آي سي ULN2003 يا L298 استفاده كنيد.
موفق باشي

فرستنده :
امید HyperLink HyperLink 1387/10/9
مـتـن : سلام من دارم آموزش شما رو دنبال میکنم ولی در جلسه نوزده تصویر
شماتیک مدارنشان داده نمی شود لطفا تصویر شماتیک مدار را جایی آپلود کنیدولینک را بدهیدیا رسیدگی کنید وتصویر را یک بار دیگر آپلود کنید
یه انتقاد هم داشتم سرعت گذاشتن مطالب هم خیلی کم است
لطفاضربدر1000بکنید!
یه سول هم داشتم اینکه ما در آینده با آی سی 7408کار میکنیم؟؟؟
پاسـخ : سلام دوست عزيز
ممنون از تذكرت، مشكل حل شد اميد جان، الان مي تونيد عكس رو ببينيد.
انتقاد شما هم به جاست، انشاالله كار رو منظم تر دنبال خواهيم كرد.
اين آي سي يكي از معروفترين آي سي هاي ديجيتال است و مي تواند در جاهاي مختلف كاربرد داشته باشد، اما در حضور ميكروكنترلر نياز ما به اين آي سي ها خيلي كم مي‌شود، اما ما در همه‌ي مدار‌‌ها ميكروكنترلر وجود ندارد!
موفق و پيروز باشيد

فرستنده :
امید HyperLink HyperLink 1387/10/4
مـتـن : سلام. من دارم اموزش شما را دنبال می کنم و خیلی هم ممنونم از این مطالب مفید اما از جلسه 19 به بعد بعضی از عکسهای مهم مثل شماتیک کلی مدار نشان داده نمی شوند و حسابی گیج شدم. لطفا در این مورد کمکم کنید.
پاسـخ : سلام اميد جان
ما سعي مي كنيم تا جاي ممكن از تعداد و حجم عكس‌هاي هر جلسه كم كنيم تا دوستان براي ديدن صفحه دچار مشكل نشوند، ولي اگر هر جايي از مطلب گنگ هست، حتماً بپرسيد تا مفصل توضيح بدم.
موفق و پيروز باشيد

فرستنده :
حمیدرضا HyperLink HyperLink 1387/10/2
مـتـن : سلام.من دانشجوی ترم 3 برقم.مابا2 تاازبچه ها(هوافضا و کامپیوتر)قصد ساخت یک deminer robot داریم.ولی نمیدانیم برای کشف مینهای فلزی و پلاستیکی ازچه نوع سنسورهایی استفاده کنیم.لطفا ما را راهنمایی کنید
پاسـخ : سلام دوست عزیز
شما برای کشف مین ها، باید از سنسور فلزیاب استفاده کنید. مین های پلاستیکی هم فلزی هستند، فقط میزان فلزشان خیلی کمتر است، مثلاً اندازه ی یک تشتک نوشابه. براتون آرزوی موفقیت می کنم

فرستنده :
vesta HyperLink HyperLink 1387/9/22
مـتـن : واقعا ممنون اين كارتون خيلي بهمون كمك ميكنه
پاسـخ : مرسی دوست عزیزم، براتون آرزوی موفقیت می کنم

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

 

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