صفحه اصلي صفحه اطلاعات کاربران درباه ما تماس باما سبد خريد نقشه سايت
 
 
جمعه 1 آذر 1387
Skip Navigation Links

بازدید کنندگان
يك روز گذشته
يك هفته گذشته
يك ماه گذشته
يك سال گذشته
كلي

 
 
 

روبورو در امتحانات !


سلام!

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

خوب برگرديم سر ادامه آشنايي با دستورات روبورو. امروز چند دستور کاربردي را کاملا ياد مي گيريم. در ضمن اگر يادتان باشد در مطلب پيش با برخي از اين دستور ها يک برنامه ساده هم نوشته بوديم، اما قبل از آن ها يک مفهوم خيلي مهم .

پارامتر چيست؟

غالب دستورات روبورو چند تا پارامتر هم مي خواهند تا تکميل شوند. پارامتر ها اعداد يا کلماتي هستند که به روبورو کمک مي کنند تا بهتر منظور شما را در رابطه با دستورات درک کند.
مثلا دستور motor همانطور که از اسمش هم پيدا است دستوري است در رابطه با موتور ها اما همين جوري خشک و خالي که نمي شود که! شما بايد مشخص کنيد کدام موتور منظورتان است و مي خواهيد آن موتور چه کار کند. در نتيجه دستور موتور داراي دو تا پارامتر مي شود ...

خوب حالا توضيحات کوتاهي در باره چند دستور مهم:


دستور موتور: Motor / دستور حرکتي


پارامتر ها: سمت موتور و جهت حرکت

مثال: Motor Right Up

ترجمه به زبان آدمي زاده ها! : موتور سمت راست به بالا حرکت کند!

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

دستور LED / کنترل چراق هاي روبورو


پارامتر ها: سمت چراغ و رنگ چراغ و وضعيت چراغ

مثال:Yellow Right ON LED

ترجمه به زبان برره اي!: چراغ زردسمت چپ روشن وشد! ( ديدم ترجمه به فارسي معمولي ديگر عادي شده خواستم يک تنوعي ايجاد کرده باشم !)

توضيحات: اين چراغ ها براي اين است که روبورو بتواند از راهي به غير از موتور ها و حرکت کردن، منظور خودش را به صاحبش حالي کند! . مثلا فرض کنيد مي خواهيد وقتي روبورو نور را ديد به طرف نور حرکت کند. براي تنظيم سنسور هاي روبورو مي توانيد از اين چراغ ها استفاده کنيد تا وقتي سنسور ها تحريک مي شوند چراغ ها هم روشن بشوند. اين جوري بهتر مي توانيد سنسور ها را تنظيم کنيد ... يک روبوروي شلوغ و شيطان که تا ولش مي کنيد حرکت مي کند که به درد تنظيم سنسور ها نمي خورد که! .... شما به يک روبوروي آرام و ساکت هم نياز خواهيد داشت!!


دستور wait / دستور صبر کردن


پارامتر : يک عدد به ميلي ثانيه

مثال Wait for 1000 millisecond

ترجمه: يک ثانيه صبر کن!

توضيح: اين دستور به اين درد مي خورد که شما روبورو را در حالت دلخواه براي چند ثانيه نگه داريد. فرض کنيد مي خواهيد موانع روبه روي خود را رد کنيد و ماز را حل کنيد. بايد در ازاي برخورد به هر مانع کمي به عقب بياييد و بعد کمي زاويه را تغيير دهيد تا مانع را رد کنيد. پس بايد اول به عقب بياييد، بعد wait کنيد، بعد يکي از چرخ ها را بر حسب اينکه کدام سنسور تماسي تحريک شده خاموش کنيد و ديگري را روشن نگه داريد و دوباره wait کنيد و بعد هم به جلو حرکت کنيد ... همان طور که ديديد در اين عمليات دو بار از wait استفاده کرديم .

دستور Goto و دستور label / دستورات پرشي


پارامتر : يک عدد که جاي پرش را مشخص کند

مثال:
label : 12
….
….
….
Goto -> 12

ترجمه: هر وقت اجراي برنامه به دستور goto رسيد روبورو در کل برنامه دنبال دستور label مشابه مي گردد. در اين مثال label:12 مد نظر است. وقتي آن را پيدا کرد به آنجا پرش مي کند و اجراي برنامه از بعد از دستور label ادامه پيدا مي کند.

توضيح: اين دستور دستور خيلي مهمي است. با کمک اين دستور شما مي توانيد برنامه هاي خود را تا ابد توي روبورو به اجرا بگذاريد ...
يعني چي؟

ببينيد اگر شما چند تا دستور بنويسيد و روبورو را روشن کنيد. او دستور ها را اجرا مي کند و از برنامه خارج مي شود. حالا فرض کنيد مي خواهيم ببينيم چه وقت سنسور مادون قرمز فعال مي شود تا در آن هنگام چراغ هاي روبورو را روشن کنيم. اگر فقط چند تا دستور بنويسيم و روبورو را روشن کنيم روبورو فقط يک بار سنسور مادون قرمز را چک مي کند و از برنامه خارج مي شود، در صورتي که ما مي خواهيم هر بار که سنسور تحريک شد چراغ روشن شود. براي اين کار بهتر است کل برنامه را بين يک goto و label قرار دهيم تا هميشه برنامه در حال اجرا باشد ...
البته اين يکي از کاربرد هاي goto است. فعلا تا اين حدش را داشته باشيد تا بعدا که فلوچارت و الگوريتم را با هم ياگرفتيم از آن بهتر استفاده کنيد !

خوب حالا با کمک اين دستورات يک برنامه رقص نور مي نويسيم، ببينيد متوجه مي شويد چه شد يا نه:


label: 1
LED Yellow Right ON
Wait for 1000 MilliSecond
LED Yellow Right OFF
LED Green Right ON
Wait for 1000 MilliSecond
LED Green Right OFF
LED Green Left ON
Wait for 1000 MilliSecond
LED Green Left OFF
LED Yellow Left ON
Wait for 1000 MilliSecond
LED Yellow Left OFF
goto: 1

اين برنامه را در روبات خود بريزيد و آن را اجرا کنيد. اگر با مشکلي مواجه شديد و به هيچ طريقي هم از پس حل آن بر نيامديد با مشاوره ما تماس بگيريد تا شما را راهنمايي کنند!
موفق باشيد.



آرمين سنقري (نويسنده مقالات رباتيک سايت تبيان: www.Tebyan.ir)

Asonghori@gmail.com

دانلود فايل Word همراه با شکل "روبورو در امتحانات"
تمام حقوق این سایت متعلق به سرای ربات سازان پارسی است
بلوار میرداماد ، جنب برج آرین ، پلاك 176 ، واحد 6 ، 03 24 22 22