ساخت ربات با استفاده از با آموزش برنامه نویسی رزبری پای
ساخت ربات و بازی با آن یکی از علائق بسیاری از افراد به خصوص کودکان میباشد. در کشورهای مختلف حتی در دورههای دبستان نیز به کودکانی که سن کمی دارند، دورههای ساخت انواع ربات آموزش داده میشود. دلیل این موضوع آن است که در سالهای آینده رباتها بسیار مورد توجه بوده و بسیاری از کارها با استفاده از آنها صورت میپذیرد. در این قسمت با استفاده از برنامه نویسی رزبری پای به دنبال ساخت ربات خواهیم بود.
اما علاوه بر نرم افزار باید یک سری از سختافزارها را نیز در اختیار داشته باشیم. به عنوان مثال برای ساخت یک ربات به لوازم زیر نیاز خواهیم داشت:
- رزبری پای
- برد کنترل موتور
- موتور DC 6 ولتی یا 3 ولتی به تعداد 2 عدد
- 2 عدد چرخ
- باتری AA به تعداد 4 عدد
- شارژر باتری
- سیم های مرتبط
- بسته باتری USP
- آچار پیچ کوشتی
- لحیم و ملحقات آن
- جعبه مقوایی یا پلاستیکی به همراه چسب و نوار کوچک
سیستم عامل رزبری
البته لازم به توضیح است که این بخشی از مواد مورد نیاز بوده که البته بخش عمده را پوشش داده است. در قسمت نرمافزاری نیز به آخرین ورژن سیستم عامل رزبری برای برنامه نویسی رزبری پای نیاز داریم. موارد اضافی نیز شامل جعبه مقوایی کوچک و انواع چسب به تناسب نیاز بوده که جهت به کاربردن دیوارهای ربات مورد استفاده و توجه است.
اما در این قسمت به دنبال ساخت ربات خواهیم بود که در آن نقش برنامه نویسی رزبری پای مورد توجه قرار خواهد گرفت. زبان برنامه نویسی پایتون یکی از زبانهای قدرتمند و ساده در کاربرد است که برای انجام پروژههای مرتبط با برنامه نویسی رزبری پای مورد استفاده قرار میگیرد. دستورات پایتون بسیار شفاف است و از کلمات کلیدی زبان انگلیسی استفاده مینماید.
پس در ادامه این موضوع را پی میگیریم. تمام مباحث این قسمت به بیان کدنویسی و آموزش برنامه نویسی رزبری پای اشاره خواهد داشت. لذا تمرکز خود را بیشتر بر کدنویسی معطوف مینماییم و ساخت فیزیکی و سخت افزاری را در مقالات بعد مرور خواهیم نمود. با ما همراه باشید.
برنامه نویسی رزبری پای ربات با پایتون
برنامه نویسی ربات گام مهمی در هنگام ساخت و آزمایش رباتها است. با استفاده از زبان برنامه نویسی پایتون و ویژوال کامپوننت API بستر خوبی برای آموزش، اتوماتیک سازی و برنامه نویسی ربات پس از پردازش ارائه میشود.
برای برنامه نویسی ربات میتوان اسکریپتی نوشت که کل برنامه ربات را محاسبه، ضبط و شبیهسازی کند. این موضوع این امکان را میدهد که به سرعت راه حل خود را شبیهسازی نموده و سپس با آزمایش کردن و تجسم آن چه در ذهن دارید، برنامه و منطق آن را اصلاح نمایید.
با استفاده از اسکریپت های پایتون می توان یک ربات را کنترل کرد و لذا برای این کار باید ساختار یک ربات را آموخت و نحوه تفهیم به ماشین را یاد گرفت. البته باید گفت که برای برنامه نویسی ربات با پایتون باید اصول برنامه نویسی این زبان را تا حد زیادی دانست.
رزبری پای یک رایانه است که تک برد بوده و اندازه بسیار کوچک دارد. بنیاد رزبری پای آن را راه اندازی نمود و به واسطه آن آموزش علوم رایانه در مدرسهها را حمایت نمودهاند. تقریبا نسخه جدیدتر آن در سال 2019 معرفی شد و در نسخههای مختلف ارائه شده است. این رایانههای تک برد محصول شرکت سونی ولز بریتانیا میباشند.
رزبری پای
این رایانه با استفاده از سیستم عاملهای مختلف سازگاری دارد و اندروید را نیز پشتیبانی میکند. زبری پای با این وسعت کوچک قابلیتهای متعددی در بخش صوت و تصویر دارد و ورودیهای USB و HDMIهای متنوعی دارد. شاید بتوان گفت که علاوه بر قابلیتهایی که دارد، مهمترین کاربرد آن در روباتیک است که توسط برنامه نویسی رزبری پای قابل دستیابی است.
نکتهای دیگر
بعد از این که ساختار سخت افزاری یک ربات آماده میشود، می توان با استفاده از ساختار برنامه نویسی، به کنترل ربات و تفهیم آن که اعمال مورد نظر را انجام دهد مبادرت ورزید. در زیر برخی از دستورات مرتبط با با هم مرور مینماییم:
برای شروع فرض کنید که میخواهیم حرکت به چپ یا راست را برای ربات فراهم کنیم. ابتدا از رزبری پای، mu را باز کنید. این گزینه در programming menu رزبری پای قرار دارد. برای انجام کدنویسی نیاز است تا یک کلاس برای ربات ایجاد شود. به کدنویسیهای زیر توجه نمایید.
from gpiozero import Robot robby = Robot(left=(7,8), right=(9,10))
با توجه به کدهای نوشته شده، نام ربات را robby در نظر گرفتیم. دستور رفتن به چپ و راست نوشته شده است. حال فایل خود را ذخیره نمایید و robby.py را فراخوانی کنید. با کلیک بر run برنامه اجرا خواهد شد. حال با کلیک کردن روی نماد ترمینال در نوار وظیفه بالای صفحه، ابتدا پایتون را باز نموده و سپس python را تایپ نموده و enter بزنید. با تایپ موارد زیر نجوه حرکت موتور مشخص میشود:
robby.forward()
برای متوقفسازی ربات می توان از دستور robot.stop() بهره برد.
رزبری پای و پایتون در ساخت ربات
با نوشتن هر ستور باید قسمت سخت افزاری را بررسی کنید تا مشخص شود کدام موتور، چپ یا راست، عمل مینماید. حتی نجوه چرخش و عکس العملها نیز با استفاده از دستورات مشخص خواهند شد.
robby.forward(0.4) robby.right(0.4)
با توجه به دستوری که نوشته شد، هر موتوری که به حرکت درآمد و تغییر جهت داد، موتور راست است. یعنی ماشین آن را به عنوان موتور سمت راست شناسایی میکند. زمانی که با این روش کدنویسی موتور چپ و راست مشخص میشوند و حرکت آنها نیز میشود. حال با استفاده از کدهای زیر میتوان حرکت به جلو و عقب را کنترل کرد:
robby.forward(0.4) robby.backward(0.4)
با استفاده از کدهای برنامه نویسی زیر میتوان کاری کرد تا ربات در مسیری مربع شکل به حرکت خود ادامه دهد. این مسیر میتوان برای ربات دنبال کننده توپ و یا ربات مسیریاب مناسب باشد:
from gpiozero import Robot robot = Robot(left = (7, 8), right = (9, 10)) while True: robot.forward() sleep(3) robot.stop() robot.right() sleep(1) robot.stop()
کدهای حرکتی ربات
در نتیجه به طور خلاصه توانستیم کدهای حرکتی ربات را به صورت زیر خلاصه نماییم:
robot.forward() robot.backward() robot.right() robot.left() robot.stop()
حتما برای ساخت ربات نیازمند صرف هزینه برای بخش سخت افزاری و کمی زمان برای نوشتن چند کد کوتاه هستیم که در بالا به آنها اشاره شد.
زبان برنامه نویسی سطح پایین و بالا چیست؟
در توصیف یک زبان برنامه نویسی، اصطلاحاتی مانند سطح پایین و بالا را خواهید شنید.
این اصطلاحات به طور کلی نشان دهنده میزان استفاده از زبان مورد نظر در نرم افزار هستند.