توجه :
 
 چنانچه مفاهیم یا عبارت ها و اصطلاحات به کار رفته در این صفحه را متوجه نمی شوید، می توانید مطالعه خود را از اولین جلسه آموزشی رباتیک شروع نمایید. بدین منظور روی لینک زیر کلیک فرمایید:
 
 
همچنین چنانچه بخشی از مطالب را قبلا خوانده اید، برای مشاهده فهرست موضوعات جلسات آموزشی رباتیک، لطفا روی لینک زیر کلیک فرمایید:
 
 
در این بخش از سایت رشد، مطالب آموزشی در زمینه رباتیک با زبان بسیار ساده و بر مبنای مطالبی که در سنین راهنمایی آموخته اید ارائه شده و در هر جلسه مطالب جدیدی آموزش داده شده اند.
 آخرین مطالب
Module Load Warning
One or more of the modules on this page did not load. This may be temporary. Please refresh the page (click F5 in most browsers). If the problem persists, please let the Site Administrator know.

 جلسه‌ی بیست و سوم
جلسه‌ی بیست و سوم
شروع بحث‌های تخصصی نرم‌افزاری در میکروکنترلر، ASCII Code ، اصل ضرب و ...

از این جلسه ما وارد مبحث آموزش مقدماتی زبان C می شویم تا دوستان کمی با مقدمات برنامه نویسی آشنا بشوند. در استفاده از میکروکنترلرها برای ساخت ربات های مقدماتی مثل مسیر یاب و آتش نشان و ... ما نیازی به آموختن برنامه نویسی در حد حرفه ای نداریم و کمی آشنایی با مقدمات برای ما کافیست!!!


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

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

جلسه‌ي بيست و چهارم


به نام خدا

با عرض سلام و آرزوي قبولي طاعات و عبادات شما دوستان خوبم

از اين جلسه ما وارد مبحث آموزش مقدماتي زبان C مي شويم تا دوستان کمي با مقدمات برنامه نويسي آشنا بشوند. در استفاده از ميکروکنترلرها براي ساخت ربات هاي مقدماتي مثل مسير ياب و آتش نشان و ... ما نيازي به آموختن برنامه نويسي در حد حرفه اي نداريم و کمي آشنايي با مقدمات براي ما کافيست!!!

بدون مقدمه بيشتر وارد بحث مي شويم.

همانطور که مي دانيد، کوچک ترين واحد ذخيره سازي اطلاعات در حافظه، Bit است. (جلسه ي شانزدهم در مورد يک Bit توضيح داده شده).
هر 8 بيت را يک Byte مي گويند. در حقيقت يک بايت اطلاعات، 8 تا 0 يا 1 است که در مجمع 256 حالت مختلف را پديد مي اورند.

توضيح بيشتر:
يک بيت، فقط 2 حالت دارد، 0 يا 1. وقتي 2 بيت در کنار هم قرار مي گيرند، هر کدام 2 حالت را پديد مي اورند و در مجموع طبق اصل ضرب، 4 حالت به وجود مي آيد. يعني:
1 و 1
1 و 0
0 و 1
0 و 0

اصل ضرب:


به مثال زير توجه کنيد.


در شکل بالا، براي رفتن از A به B، 3 مسير وجود دارد؛ 5 مسير هم براي رفتن از B به C وجود دارد. طبق اصل ضرب، براي رفتن از A به C مجموعاً 15=5*3 حالت وجود دارد.

در اينجا، در حقيقت تعداد کل حالت ها، برابر است با حاصل ضرب حالت هاي هر بيت (که 2 حالت مي باشد) مي باشد. به عنوان مثال براي محاسبه ي تعداد حالت هاي 3 بيت اطلاعات، داريم: 8=3^2=2*2*2.

طبق همين رابطه، يک بايت، 256=8^2 حالت مختلف مي تواند باشد.

هر 1024 بايت را 1 کيلوبايت مي گويند و هر 1024 کيلو بايت، يک مگابايت است. هر 1024 مگا بايت هم يک گيگابايت و هر 1024 گيگا بايت هم يک ترابايت نام دارد.( 1024=10^2)

حافظه هاي کامپيوترهاي خانگي امروزي، مي تواند تا چند صد گيگابايت هم باشد.

کد ASCII چيست:

موسسه ي استاندارد آمريکا، استانداردي براي ذخيره سازي اطلاعات معرفي کرد. اين استاندارد 256 کاراکتر (يک کاراکتر عبارتست از يک عدد، رقم يا يک علامت مثل + و -) را کد گذاري کرد و به هر کدام يک عدد 8 رقمي در مبناي 2(يعني يک بايت) نسبت داد. اين کارکترها شامل همه ي حروف الفباي لاتين، اعداد 0 تا 9، علامت هاي مختلف مثل نماد جمع(+) و تفريق(-) و ... هستند.

در حقيقت طبق اين استاندارد، براي ذخيره سازي هر کاراکتر، يک بايت از حافظه به آن اختصاص ميابد. مثلاً براي ذخيره سازي کلمه ي"ALI" به 3 بايت حافظه نياز داريم. جدول کدهاي ASCII را مي تونيد در کتاب هاي برنامه نويسي يا با جستجو در اينترنت به راحتي ببينيد.


انواع زبان هاي برنامه نويسي:

زبان ماشين:
سطح پايين ترين زبان برنامه نويسي زبان ماشين است. در اين زبان شما بايد به جاي گذاشتن علامت + براي جمع کردن مقدار 2 عدد، بايد از کد 00 استفاده کنيد. اين زبان، زبان قابل فهم براي کامپيوتر است، به همين خاطر به آن زبان ماشين مي گويند. برنامه هاي ما در هر زبان برنامه نويسي ديگري، حتي اسمبلي، بايد توسط کاپايلر مخصوص آن زبان، به زبان قابل فهم براي کامپيوتر يعني زبان ماشين ترجمه شود.

زبان اسمبلي:
اين زبان کمي پيشرفته تر از زبان ماشين است و کارکردن با آن خيلي راحت تر از زبان ماشين است. به عنوان مثال براي جمع کردن 2 مقدار با يکديگر مي توان از دستورADD استفاده کرد. در اين زبان سيستم کد گذاري ASCII هم تعريف شده است و کاربر به عنوان مثال فقط کافيست کلمه ي ALI را تايپ کند، کامپايلر در اينجا کدهاي مربوط به اين کلمه را از جدول استخراج کرده و جايگزين مي کند.

بعد از اين ها نوبت به زبان هاي برنامه نويسي سطح بالا مي رسد. اين زبان ها سعي کرده اند تا حد امکان به زبان گفتار انسان نزديک شوند. زبان C يکي از زبان هاي سطح بالا مي باشد.

يک برنامه، شامل چندين دستور مختلف هستش که ما آنها را پشت سرهم با ترتيب مشخصي مي نويسيم. در زبان C دستورات بايد حتماً داخل توابع باشند. يک تابع عبارتست از چند دستور که در داخل يک آکولاد ({}) نوشته مي شوند و نام مشخصي هم براي ان ها گذاشته مي شود. همچنين توابع مي توانند اطلاعاتي را به عنوان ورودي و خروجي از برنامه دريافت و به آن بازگردانند.

در زبان C وجود تابعي با نام main الزاميست. يعني ما بايد حتماً تابعي با نام main در برنامه ي خود داشته باشيم و اجراي برنامه هم از تابع main شروع مي شود.

در Codevision، بعد از انجام تنظيمات اوليه، خود برنامه براي شما قالبي را آماده مي کند که در آن تنظيمات اوليه ي پورت ها و .... همچنين بعضي تعاريف اوليه مثل تابع main انجام شده است. فقط کافيست شما دستورات خود را در داخل آن فضاي مشخص شده (در داخل تابع main) تايپ کنيد.

در جلسه آينده براي آشنايي با نحوه ي برنامه نويسي در فضاي Codevision بعد از تعريف متغيرها، برنامه ي يک ربات مسير ياب بسيار ساده را با هم خواهيم نوشت.

تا جلسه ي آينده خدا نگه دار
پيروز باشيد

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


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

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

جلسه‌ي بيست و چهارم


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

فرستنده :
amir hossein HyperLink HyperLink 1387/12/7
مـتـن : salam omidvaram haletoon khoob bashe mikhstam bedoonam too ghesmate tavabe 'void main (void)balaye tabee main minivisim ya paeinesh?
پاسـخ : سلام امير حسين جان
ممنون.
البته اين سوال ارتباطي با مطالب اين جلسه نداره. اين رو بايد در بالاي تابع Main بنويسيد.
موفق باشي

فرستنده :
ناشناس HyperLink HyperLink 1387/9/23
مـتـن : سلام ./بعد از نصب مدار بر روي بردبرد و كامل شدن ان را بر روي فيبر با چه ابعادي نصب مي كنيم ؟ اگه ميشه ابعاد ان تخته را برام بگوييد ./ اين ربات چند جلسه ديگه داره .//
با سپاس

پاسـخ :سلام
شما بايد سعي كنيد بردتون را تا حد امكان كوچك طراحي كنيد، براي برد مسير ياب بسيار ساده، حداكثر 10*10 سانتي متر مناسب هستش.
پيروز باشيد دوست عزيز

فرستنده :
فاطمه HyperLink HyperLink 1387/9/23
مـتـن : سلام،
خواهش مي كنم اين همه وقفه بين كلاسا نذارين!
اگه بخاهيم اين جوري پيش بريم، فكر مي كنين به مسابقات مي رسيم؟؟مثلا حلي كاپ؟؟؟من شنيدم توي فروردينه!
در هر حال بازم ممنون!
پاسـخ :سلام
چشم، سعي مي كنيم فاصله ي جلسات رو منظم تر كنيم انشالله.
در مورد اين مسابقات به زودي مطلبي روي سايت خواهم گذاشت.

فرستنده :
ناشناس HyperLink HyperLink 1387/9/23
مـتـن : mashalla be in hame danesh amozeshi
khashan hamintor be kareton edame bedin
پاسـخ :سلام دوست عزيز.ممنونم، حتماً

فرستنده :
رضا درودی HyperLink HyperLink 1387/9/23
مـتـن : خيلي ممنون از پاسختون. راستش فکر نمی کردم جواب بدین.اما لطفا سرعت کار رو یه کم بیشتر کنید. و در هر جلسه هم یک منبع یا سایت یا کتاب معرفی کنید تا پیشرفت ما بهتر بشه. با تشکر.
پاسـخ :سلام. خواهش مي كنم، من حتماً همه‌ي سوالات رو جواب مي دم، فقط ممكنه كمي با تاخير باشه.
چشم، سعي مي كنم اين جلسه يك كتاب در مورد آموزش AVR به دوستان معرفي كنم.
موفق باشي دوست خوبم

فرستنده :
ناشناس HyperLink HyperLink 1387/9/23
مـتـن : باسلام
مي خواستم بدانم ايا در طول امسال (87-88)مسابقات رباتيك در سطح كشور
بر گزار مي شود وما با كمك شما مي توانيم قبل از شروع اين مسابقات رباتي مناسب اين مسا بقات بسازيم و در اين مسابقات شركت كنيم
با تشكر
پاسـخ :سلام دوست عزيز
نزديكتريم مسابقاتي كه ما در پيش داريم، مسابقات بين الملي Iranopen هستش كه در ليگ هاي متعددي برگزار مي‌شود.
گزارشي در مورد نحوه ي برگزاري ، ليگ‌ها و ... را ، در مورد اين مسابقات روي سايت به زودي خواهم گذاشت.
موفق باشيد

فرستنده :
مهمد HyperLink HyperLink 1387/9/23
مـتـن : سلام و خدا قوت
آقا گفته بودين سوالهاي همه جلسات رو جواب ميدين ولي فقط جلسه آخررو جواب دادين!!! البته دستتون درد نكنه.
آي سي ال 298 نه تو بردبرد جا ميره نه تو فيبر سوراخ دار پس چه جوري بايد وصلش كنيم؟؟؟ باز هم متشكرم
پاسـخ :سلام محمد جان
حق با شماست، ببخشيد، سعي مي كنم همه‌ي جلسات رو جواب بدم.
سوال خيلي مهمي كردي!
براي اتصال L298 بايد از نوعي سوكت به نام پين هدر(Pin Header) استفاده كنيد. از همون جايي كه آي سي رو تهيه كردي، مي تونيد اين پين هدر را هم تهيه كنيد.
موفق باشي دوست خوبم

فرستنده :
HrHk HyperLink HyperLink 1387/8/12
مـتـن : فراز جان سلام هفته ها فکر کردم که اینجا برات چی بنویسم اما فقط میتونم بگم دمت گرم خیلی میخوامت
اینم بگم که اسم تو همیشه به عنوان بهترین معلم من در خاطرم موج میزنه
امیدوارم همیشه موفق باشی و به علم بقیه بیفزایی
خدا نگهدار
پاسـخ :سلام دوست خوبم
ممنونم از اين همه لطفي كه به بنده داري، و خوشحالم از اينكه مطالب تونسته رضايتت رو جلب كنه.
من هم برات آرزوي موفقيت مي‌كنم دوست عزيزم
خدا نگه دار

فرستنده :
reza baroon HyperLink HyperLink 1387/7/10
مـتـن : چرا اینقدر دیر به دیر دروس رو ارائه می کنید. به خدا کسایی که عاشق روباتیک هستند از لحاظ درسی مشکلی ندارن که شما اینقدر جوش درسشون رو می زنید. تازه اگه سه روز یکبار درس جدید رو بذارین کاری نمی شه. چون که مطالب خیلی حجمش کمه. با تشکر : رضا درودی
پاسـخ :سلام رضا جان
حرف شما درسته، ولی خوب ما نمی تونیم حجم مطالب ارایه شده رو از یه حدی بالاتر ببریم. به هر حال ممنون از نظر خوبت، حتماً حرف شما رو هم برای برنامه امسال مد نظر قرار خواهیم داد.
موفق باشی دوست عزیزم

فرستنده :
kooroshrezaee HyperLink HyperLink 1387/7/10
مـتـن : salam lotfan ghesmate badi ro upload konid man bisabrane montazeram
پاسـخ :چشم کورش جان، به زودی قسمت بعد رو میذارم رو سایت.

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

فرستنده :
فاطمه HyperLink HyperLink 1387/7/10
مـتـن : سلام و خيلي ممنون به خاطر اينكه به سوالامون جواب ميدين!
يه سواله خارج از اين جلسه داشتم!
چه جوري با مولتي متر debug بايد كرد؟من منفي مولتي متر رو به منفي مدار وصل كردم و مثبتشو دونه به دونه به قطعات اتصال دادم!
وقتي به ترانزيستور رسيدم فقط با كلكتور عددي رو نشون داد و تمام مسير هاي بعد رو ديگه كار نكرد، لحيم كاريمو چك كردم ولي مشكلي نداشت همچنين قطعات هم سالم بودند!
حالا من اشتباع كار كردم و اصلا يه جوره ديگه بايد عمل كرد يا اشكال چيزه ديگه ست !
سپاسگزارم!
پاسـخ :سلام دوست عزیز.
خواهش می کنم!
معمولاً از مولتی متر برای تست اصال ها استفاده می شه که اتصال درست هست یا نه، به جز این برای تست قطعات هم از مولتی متر استفاده می کنند و خروجی و ورودی ها رو چک می کنند.
به هر حال من نمی تونم از اینجا مشکل مدار شما رو تشخیص بدم، ولی حدس میزنم مشکل از ترنزیستورتون باشه، بهتره به جای ترانزیستور از قطعات دیگه مثل Op-Amp استفاده کنید.
پیروز باشی دوست عزیز

فرستنده :
محمد HyperLink HyperLink 1387/7/10
مـتـن : سلام
من به تازگی قسمت روباتیک این سایت رو دیدم خیلی بخش جالبیه. دستتون درد نکنه .
فقت دوتاسوال از جلسه ی چهارم داشتم.
1-ولتا مناسب برای خازنها (ولت ی که روی اونا نوشته) چیه؟
2-در جلسه ی چهارم یک بار گفته شده اگر در خازن الکترولیتی جای +و -را اشتباه وصل کنیم خازن می ترکد.و یک بار گفته شده ذوب می شود؟
راستی خازن سرامیکی چیه؟ با تشکر
پاسـخ :سلام محمد جان
ممنونم از لطفت
اگر منظورتون بهترین ولتاژ برای شارژ خازن هست، همون ولتاژی که روی بدنه ی اون نوشته شده و کاملترین حالت شارژ در این ولتاژ انجام میشه...

فرستنده :
زهره محمدی HyperLink HyperLink 1387/7/10
مـتـن : سلام . سوالی داشتم : اینکه من یه دانش آموز سال اول دبیرستان هستم و به کارای عملی مثل رباتیک خیلی علاقه دارم . می خوام ربات بسازم البته برادرم هم یک رشته ی مهندسی می خونن و اعضای خانواده ام هم می تونن از نظر فنی کمکم کنند . می خواستم بپرسم 23جلسه ی شما رو بخونم می تونم یه ربات بسازم !؟
ممنون از سایت بی نظیرتون!
پاسـخ :سلام دوست عزیز
بله، اگر خودتون هم کمی تلاش کنید خیلی راحت می تونید یک ربات مسیریاب ساده رو به زودی بسازید. چون از لحاظ علمی هر آنچه برای ساخت ربات مسیریاب ساده نیاز داشته باشید اینجا مطرح شده.
پیروز باشید

فرستنده :
علي HyperLink HyperLink 1387/7/10
مـتـن : سلام پس جلسه‌ی بیست و جهارم كو؟
پاسـخ :سلام. کمی توقف به خاطر شروع سال تحصیلی جدید داشتیم که انشاالله به زودی دوباره کار رو دنبال می کنیم.

فرستنده :
امین HyperLink HyperLink 1387/7/10
مـتـن : آقا ببخشید من ترم دو الکترونیک هستم
منتها تازه با سایتتون آشنا شدم
به شدت هم علاقه به رشته ام و ساخت ربات دارم
حالا به نظرتون من که تا اینجای کار نبودم میتونم خودم رو به مطالب سایت برسونم ؟ من خیلی دوست دارم یه ربات مسیر یاب بسازم
میشه؟
پاسـخ :سلام امین جان
بله، قطعاً می تونید، با توجه به شرایطی که شما دارید قطعاً خیلی سریع می تونید برسید و خیلی راحت یک ربات مسیریاب بسازید. بنده هم هر کمکی از دستم بر بیاد در خدمتتون هستم.
پیروز باشی دوست عزیز

فرستنده :
محمد HyperLink HyperLink 1387/7/10
مـتـن : سلام
دررگولاتورها ولتاژ خروجی ثابت مثبت یا منفی چه اهمیتی داره؟ و هر کدوم چه استفاده ای دارند؟ متشکرم
پاسـخ :سلام محمد جان
اگر سوالتو درست متوجه شده باشم، شما می خواهید فایده ی ولتاژ منفی رو بدونید. 12- ولت دقیقاً برعکس 12ولتِ، یعنی انگار شما جای سیم های + و - رو با هم عوض کرده باشید. یعنی میتونید به جای استفاده از 12-ولت و -، از 12 ولت و - به صورت وارونه استفاده کنید.
پیروز باشید

فرستنده :
ناشناس HyperLink HyperLink 1387/7/10
مـتـن : سلام
ما برای ساخت یه ربات به ولتاز های مختلفی نیاز داریم آیا باتری هایی با این ولتاز ها موجود است 5 و 9 و 12
اگه شما پیشنهاد بهتری برای تامین ولتاز دارید لطفا بیان کنید
با تشکر
پاسـخ :سلام دوست عزیزم
بله، راهکار خیلی بهتری هست. شما یک باطری 12 ولت تهیه کنید و با رگولاتورهای مختلف هر ولتاژی که نیاز دارید از همون باطری تهیه کنید.
پیروز باشید

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

 

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