مقدمه:
رزبری پای پیکو (Raspberry Pi Pico) یک برد توسعه با میکروکنترلر ARM Cortex-M0 و 264 کیلوبایت RAM میباشد که یکی از محصولات ارزان قیمت بنیاد رزبری است. این برد از میکروکنترلر دوهسته ای RP2040 با فرکانس 133 مگاهرتز تشکیل شده و حافظه فلش جدا از میکروکنترلر که روی برد نصب شده معمولا حدود 2 مگابایت میباشد.
از ویژگیهای این برد توسعه پروگرم کردن راحت آن است به طوریکه با اتصال این برد به وسیله کابل USB به کامپیوتر براحتی میتوان برنامهها و فایلها را به حافظه برد انتقال داد. این برد در حدود 26 پایه قابل استفاده دارد و تمام پایهها 3.3 ولت هستند.
برای برنامهنویسی دو انتخاب اصلی داریم اول میکروپایتون (Micro Python) و دوم آردوینو، هرچند ممکن است روشهای دیگری هم برای برنامهنویسی با SDK های خاص وجود داشته باشد. ما در این سری مقالات قصد داریم در ابتدا با میکروپایتون کد بزنیم.

آمادهسازی نرم افزارها
با توجه به اینکه قصد داریم با میکروپایتون برنامهنویسی کنیم نیاز است که مفسر میکروپایتون را روی برد ذخیره کنیم تا بتواند اسکریپتهای ما را که به زبان python نوشته شده در لحظه تفسیر و اجرا کند. دقت داشته باشید بر خلاف حالتی که برای میکروکنترلرها با زبان C یا بیسیک برنامه نویسی میشود و برنامه کامپایل شده و کد هگز داخل فلش میکرو پروگرم میشود در حالت کار با میکروپایتون، سورس برنامه به طور مستقیم داخل فلش ذخیره میشود و مفسر که آن هم داخل فلش ذخیره شده سورس را در لحظه تفسیر و اجرا میکند. پس نیاز است که در ابتدا مفسر میکروپایتون را که میتوانید آن را چیزی شبیه به سیستم عامل در نظر بگیرید (ولی اصلاً خصوصیات سیستم عامل را ندارد و فقط مثال است) از سایت مربوطه دانلود و داخل برد ذخیره کنید. برای این منظور ایندا وارد سایت زیر شوید:
https://micropython.org/download/RPI_PICO/
آخرین نسخه Firmware را که یک فایل با پسوند UF2 است از بخش Releases دانلود کرده و روی کامپیوتر ذخیره کنید. برای انتقال این فایل به رزبری پای پیکو ابتدا کلید BOOTSEL روی برد رزبری پای پیکرو را نگه داشته، سپس برد را با کابل USB به کامپیوتر متصل کنید. در این حالت یک درایو در کامپیوتر ظاهر میشود که باید فایل دانلود شده را که مفسر میکروپایتون مخصوص برد رزبری پای پیکو است داخل این درایو ذخیره کنید.
مرحله بعدی دانلود محیط برنامه نویسی یا همان IDE است. ما از Thonny استفاده میکنیم. وارد سایت زیر شوید:
سعی کنید نسخه پرتابل را دانلود کنید که نامی شبیه به thonny-4.1.7-windows-portable.zip دارد (شماره نسخه نرم افزار در زمان مطالعه این مقاله ممکن است تغییر کرده باشد). بعد از unzip پوشه دانلودی روی Thonny.exe کلیک کنید. در اولین راهاندازی پنجرهای مطابق شکل زیر ظاهر میشود، زبان را ترجیحاً روی همان پیش فرض یعنی انگلیسی قرار دهید و initial Setting حتماً روی Standard باشد (مد دوم برای حالتی است که IDE بجای کامپیوتر بر روی بردهای رزبری اصلی LCD دار اجرا میشود و ربطی به رزبری پیکو ندارد و برای اجرا روی ویندوز حتما باید روی مد استاندارد اجرا شود)
پس از کلیک روی کلید Lets go پنجرهای مطابق شکل زیر نمایش داده خواهد شد. از منوی Run روی Configure interpreter کلیک کنید:
در پنجره باز شده در منوی …Which Kind of مطابق شکل گزینه MicroPython (Raspberry Pi Pico) را انتخاب کنید و روی کلید OK کلیک نمایید:
در این هنگام پنجره برنامه Thonny مطابق شکل زیر باز میشود و آماده کد نویسی است. دقت کنید که برد Raspberry Pi Pico به کامپیوتر متصل باشد و همچنین توجه داشته باشید که از این به بعد دیگر موقع اتصال برد به کامپیوتر نیازی نیست که کلید BOOTSEL فشرده شود (کلید بوت فقط برای نمایش درایو برای ذخیره firmware اولیه لازم است). در اتصال برد برای برنامه نویسی نباید درایو نمایش داده شود و برد از طریق پروتکل سریال با IDE ارتباط برقرار میکند. ممکن است از روی کنجکاوی بخواهید مجدداً کلید بوت را فشار دهید و کابل USB را وصل کنید و داخل درایو اثری از firmware میکروپایتون که قبلا ذخیره کردید پیدا نکنید، دقیقا همینطور است و قرار نیست فایل UF2 داخل درایو مشاهده شود، این روش انداختن Firmware داخل درایو یک روش جدید برای پروگرم کردن فلش برد رزبری پیکو است و فایل firmware داخل درایو باقی نمیماند و بلافاصله بعد از کپی روی فلش پروگرم میشود و کاربر را از برد پروگرامر جداگانه بینیاز میکند.
پنجره Thonny آماده است و در پایین سمت راست مشخصات برد و پورت سریال را مشاهده میکنید. بعنوان اولین برنامه تصمیم داریم یک کد ساده داخل این محیط بنویسیم که LED سبز روی برد را که به پایه شماره 25 متصل شده روشن و خاموش کند. کد زیر را کپی کرده و داخل محیط Thonny ذخبره کنید و روی فلش سبز رنگ در نوار ابزار کلیک کنید تا برنامه روی برد اجرا شود.
1 2 3 4 5 6 7 8 |
from machine import Pin import time led = Pin(25, Pin.OUT) while True: led.toggle() time.sleep(0.5) |
با فشار کلید فلش سبز رنگ LED روی برد شروع به چشمکزدن می کند و با فشار کلید STOP قرمز رنگ برنامه متوقف میشود:

توضیح برنامه
برای برنامه نویسی میکروپایتون باید زبان پایتون را بلد باشید و توصیه میکنم این سایت را حتما ببینید:
https://www.w3schools.com/python/default.asp
در این برنامه در خط اول کلاس Pin را از ماژول machine وارد برنامه کردهایم که اصطلاحاً به آن import کردن میگویند. ماژول machine ماژولی است که شامل توابع و کلاسهایی برای دسترسی به سختافزار برد (مثل GPIO، I2C، ADC و غیره) است. کلاس Pin هم یکی از کلاسهای موجود در این ماژول است و برای کنترل پایهها (پینهای GPIO) بهکار میرود؛ مثلاً تنظیم پایه بهعنوان ورودی یا خروجی.
در خط بعدی ماژول time را وارد میکنیم چون نیاز به ایجاد تاخیر یا همان delay برای ساخت چشمکزن داریم. خط بعدی پایهی 25 را بهعنوان یک خروجی (output) تعریف میکند و آن را در متغیری به نام led ذخیره میکند.
در نهایت در حلقه while True که برای همیشه اجرا میشود در خط اول وضعیت پایه خروجی که نامش led است معکوس شده و پس از 0.5 ثانیه تاخیر، مدام تکرار میشود که باعث 0 و 1 شدن یا روشن و خاموش شدن پایه 25 متصل به LED روی رزبری پای پیکو میگردد.
نحوه ذخیره کردن برنامه در کامپیوتر و پروگرم کردن در برد رزبری پای پیکو
برنامه چشمکزن در حال اجراست اما درصورتی که برد را از USB جدا کنید و مجدداً به کامپیوتر وصل کنید مشاهده میکنید که LED خاموش است. برای ذخیره کردن برنامه باید مطابق شکل زیر از نوار ابزار روی علامت فلاپی کلیک کنیم:
به محض کلیک روی فلاپی پنجرهای دیگر ظاهر میشود که از ما سوال میکند برنامه داخل این کامپیوتر ذخیره شود یا داخل رزبری پای پیکو. اگر گزینه اول را انتخاب کنید میتوانید برنامه را در یک پوشه داخل کامپیوتر ذخیره کنید که برای بایگانی برنامهها توصیه میشود حتما یک نسخه را داخل سیستم ذخیره کنید. پس از ذخیره برنامه داخل کامپیوتر علامت فلاپی غیر فعال میشود و برای ذخیره برنامه داخل برد و به اصطلاح پروگرم کردن برد باید از منوی File روی Save as کلیک کنید تا مجدداً پنجره بالا نمایش داده شود. اگر برنامه روی برد درحال اجراست حتماً قبل از ذخیره برنامه روی برد در ابتدا کلید قرمز STOP را کلیک کنید تا برد متوقف شود سپس روی Save as و گزینه Raspberry Pi Pico از پنجره کوچک کلیک نمایید.
در این هنگام پنجره ای مطابق شکل زیر نمایان میشود. در این پنجره در قسمت File name حتما عبارت main.py را نوشته و روی کلید OK کلیک کنید تا برنامه داخل رزبری پای پیکو ذخیره شود. در این حالت با قطع و وصل USB مشاهده میکنید که رزبری به صورت خودکار فایل main.py را از داخل فلش پیدا کرده و اجرا میکند. در دفعات بعدی نیز باید همین فایل را بازنویسی کنید. اگر فایل با نام دیگری ذخیره کنید بصورت خودکار اجرا نخواهد شد.
بدین ترتیب اولین و ساده ترین برنامه یعنی یک چشمکزن با میکروپایتون نوشتیم و داخل برد رزبری پای پیکو ذخیره کردیم. در جلسه بعد به امید خدا به نحوه اتصال OED SSD1306 به رزبری پای پیکو خواهیم پرداخت. پس تا جلسات بعدی سعی کنید زبان پایتون را بخوبی یاد بگیرید چرا که این زبان برای برنامه نویسی بسیار پر کاربرد است و کتابخانههای فراوانی خصوصاً در زمینه هوش مصنوعی با این زبان نوشته شده که براحتی می توانید در زمینه یادگیری ماشین و شبکههای عصبی و غیره از آنها استفاده کنید.
بازدیدها: 2