نرم افزار CircuitPython از نظر اجرا و برنامه نویسی بسیار به شبیه به Micropython است. CircuitPython برای مبتدیان، برای تدریس و آموزش و برای شروع یادگیری سریع مناسب است. در این بخش روش نصب CircuitPython بر روی رزبری پای پیکو را یاد خواهیم گرفت.
CircuitPython
CircuitPython دارای رابط کاربری ساده برای شروع یادگیری و نسخه ی اوپن سوری از پایتون و انتخاب فوق العاده ای برای میکروکنترلر ها است. طراحی CircuitPython دارای دیسک درایو USB است که پس از اتصال به سیستم نمایش داده میشود و فایل و کدها را در خود ذخیره میکند. به راحتی میتوانید تمامی فابل ها را بدون نیاز به نصب هیچ برنامه ای با استفاده از Drag and Drop به درایور USB انتقال دهید. زمانیکه فایل را در درایو دیسک ذخیره می کنید ، CircuitPython کد شما را مجدد راه اندازی می کند. بدین صورت که وقتی کد پایتون را می نویسید ، پس از ذخیره به صورت اتوماتیک کد را برای شما اجرا و ریلود میکند تا سریع استفاده کنید. CircuitPython بر روی تمامی بردهای امبدد یعنی Pico, NRF, ESP سازگار است و از آن ها پشتیبانی میکند. تا به حال بیش از ۲۶۰ کتابخانه ی استاندار برای آن توسعه یافته است که این روند همچنان ادامه دار و در حال به روز رسانی است.
CircuitPython یک زبان برنامه ساده برای میکروکنترلر ها است . به واسطه همه جانبه بودن و توسعه ی سریع زبان برنامه نویسی پایتون و رشد جامعه کاربری آن زیر شاخه هایی مانند CircuitPython به سرعت رشد کرده است و از قابلیت ویژه ی حذف کامپایل استفاده میکند تا سرعت و روند اجرای پروژه افزایش یابد.
- اجرای سریع – فایل را بسازید، کد را ادیت کنید. فایل را ذخیره کنید. بلافاصله اجرا کنید. هیچ کامپایل، دانلود و آپلودی نیاز نیست.
- تازه کار هستید 🙂 – با همین هدف توسعه یافته است. یادگیری سریع
- آپدیت آسان کدها – تا زمانیکه کد در DISK DRIVE است در هر زمان میتوانید ادیت کنید.
- Serial console and REPL – دریافت گزارش در هر لحظه از کدها
- محل ذخیره فایل – با توجه به اینکه محل ذخیره فایل داخلی است فرصت خوبی برای دیتالاگینگ است.
- پایتون! چی بهتر از اینکه با پایتون کار میکنید.
تفاوت بین MicroPython, CircuitPython
CircuitPython
- پشتیبانی از Native USB برای تمامی بردها
- امکان ادیت فایل بدون نیاز به ابزار خاصی
- ارورها به ۱۰ زبان ترجمه میشود.
Micropython
- ویژگی های زبان برنامه نویسی پایتون در میکروپایتون در دسترس است.
- دارای API پیشرفته مثل وقفه ها
- پشتیبانی از PIO API
- دارای کتابخانه ی زیر شاخه ی پایتون و آماده
نصب CircuitPython روی پیکو
برای نصب CircuitPython ابتدا بر روی لینک زیر کلیک کنید تا فایل دانلود Download شود.
بر روی Download.UF2 کلیک کنید تا مراحل دانلود انجام شود. فایل دانلودی را در دسکتاپ Desktop ذخیره کنید. برد رزبری پای پیکو را از کابل USB خارج کنید. کلید BOOTSEL را نگه داشته و همزمان کابل USB را به سیستم وصل کنید و پس از اتصال کلید BOOTSEL را رها کنید. تا زمانیکه درایو RPI-RP2 را در صفحه ندیده اید، یعنی ارتباط برقرار نشده است.
فایل دانلودی با اسم adafruit_circuitpython_etc.uf2 با موس کشیده و وارد پوشه RPI-RP2 کنید ( توسط DRAG AND DROP ). نام پوشه RPI-RP2 به CIRCUITPY تعییر میکند.
هر برنامه ای که ایجاد کنید با اسم دلخواه شما در این درایور نمایش داده میشود.
نصب MU EDITOR
MU از سری نرم افزارهای کاربردی با رابط کاربری ساده برای یادگیری و کدنویسی با پایتون است. برای دانلود MU کلیک کنید. پس از نصب وقتی وارد MU شدید، در ابتدا صفحه ی Select Mode برای شما نمایش داده میشود. این صفحه در هر زمان بر اساس مود انتخابی قابل تغییر است. برای استفاده از CircuitPython مد انتخابی بایستی CircuitPython باشد.
پس از انتخاب مود CircuitPython وارد صفحهی زیر میشوید. خوش آمدید!
رابط کاربری و محیط MU برای کدنویسی پایتون فوق العاده است.
تست اولین پروژه با CircuitPython
ساده بگیرید. قدم به قدم با سری آموزش های CircuitPython برنامه نویسی را یاد خواهیم گرفت. اولین نکته برای یادگیری در هر زبان برنامه نویسی نمایش یک متن در خروجی است. برای پایتون از ساده هم ساده تر است! کافیست از کلید واژه print استفاده کنید.
print("Hello, world!")
پس از نصب، MU رزبری پای پیکو را به عنوان یک USB DRIVE معرفی میکند که تحت عنوان CIRCUITPY مشخص شده است. تمامی کدها و کتابخانه های مورد نیاز در لحظه در این درایور نمایش داده میشود. پس از نصب اولین برنامه پیش فرض با نام CODE.PY در لیست CIRCUITPY با نام CODE.PY و یک پوشه خالی با عنوان lib وجود دارد. با نصب CIRCUITPY یک فایل با عنوان CODE.PY در پوشه ساخته میشود که با هر بار ریست به صورت اتوماتیک برنامه ی ذخیره شده در آن اجرا میشود.
- وارد کردن کد در پوشه CODE.PY
- ذخیرهی فایل SAVE
- انتخاب SERIAL
- CTRL + D
برای نوشتن کد جدید در MU بایستی محتوایات پوشه CODE.PY را پاک کرده و کد جدید را نوشته و ذخیره SAVE کنید. سپس مجدد اجرا کنید. به عنوان مثال یک کد دستوری ساده با FOR مینویسم که اعداد بین بازه ۰ تا ۵ را نمایش دهد.
print("Loop starting!") for i in range(5): print("Loop number", i) print("Loop finished!")
استفاده از دستورات شرطی و متغیرها
در CircuitPython مثل زبان برنامه نویسی پایتون میتوانیم متغیر تعریف کنیم.
در این کد یک متغیر با نام user_name میسازیم. به عنوان ورودی در برنامه تعریف میکنیم که چه سوالی را در REPL نمایش دهد.
"""Example of assigning a variable.""" user_name = input("What is your name? ")
اگر بخواهیم کد را تعمیم دهیم تا پس از تشخیص اسم صحیح در خروجی نمایش دهد.
"""Example of assigning a variable and comparing it to a value.""" user_name = input ("What is your name? ") if user_name == "parisa": print("bah bah!") else: print("bye!")
برای اجرای دوباره ی برنامه CTRL + D را بزنید. برای اولین اجرا قدم بزرگی برداشته اید. در سری آموزش های CircuitPython به ترتیب با ماژول های کاربردی اقدام به راه اندازی سنسورها و نحوه ی کدنویسی پایتون خواهیم کرد.
خرید رزبری پای پیکو
از لینک زیر میتوانید نسبت به ثبت سفارش و خرید رزبری پای پیکو RASPBERRYPI PICO اقدام کنید.
رزبری پای پیکو Raspberry Pi Pico
چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند میتوانید از همین طریق اطلاع رسانی کنید.
در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.
سلام متن عالی بود اتفاقا همین دیروز از realpython داشتم یک پادکست راجب همین cricuitpythonگوش میکردم فقط یک نکته راجب سرویس ها مblinka نشدم که با pip install Adafruit-Blinka
میشه دسترسی به این داشت امیدوارم به این هم اشاره بشه توی متن های بعدی فقط یک سوال دیگه چرا نمیشه از cricuit Python توی آردینو استفاده کرد؟
با سلام
سپاس از همراهی شما
حتما در سری آموزش های بعدی در این خصوص صحبت خواهیم کرد.
CIRCUITPYTHON به صورت درگ اند دراپ است و در آردوینو راه اندازی نمیشود.
سلام آیا با Thonny هم میتونیم circuitpython بنویسیم یا فقط با mu میشه؟
با سلام
mu از circuitpython پشتیبانی میکند.
سلام
طبق کامنت ها امکان استفاده از پایتون برای آردوینو وجود ندارد آیا روش دیگری نیست؟
با سلام
خیر برای استفاده از میکروپایتون بایستی از تراشه هایی که از این فریمور پشتیبانی میکنند، استفاده کنید.
برای تست میکروپایتون بین ucraft , thonny کدوم رو پیشنهاد میکنید
با سلام
هر دو برای برنامه نویسی میکروپایتون عالی است.