میکروپایتون برای کدنویسی میکروکنترلرها طراحی شده است. در این پست راجع به برد میکروپایتون صحبت میکنیم. اگر همین الان فکر میکنید پایتون برای میکروکنترلرهاست، این تصور را حذف کنید. پایتون قابلیت اجرا بر روی بردها را ندارد. به همین دلیل میکروپایتون از پایتون توسعه یافته است تا بتوانیم ایده ها را روی میکروها پیاده سازی کنیم. بسیاری از میکروکنترلرها با زبان های برنامه نویسی وفق داده نشده است و جای خالی یک زبان برنامه نویسی شی گرا و ساده برای ارتباط با میکرو به شدت احساس میشد. همه چیز دشوار بود تا اینکه زبان برنامه نویسی میکروپایتون شکل گرفت. تمامی این اتفاقات در سال ۲۰۱۳ زمانی رخ داد که چندین دانشجو در حال ساخت رباتی بودند که پایتون به تنهایی امکان ارتباط با میکروکنترلر را نداشت. در نهایت یک خلق ارزشی رخ داد که نتیجه ی آن چیزی نبود جز پدید آمدن میکروپایتون MicroPython. پس از سال ها پایتون از دسکتاپ و سرورها با میکروپایتون به سنسورها، بردها، نمایشگرها، موتور، کلیدها، مدارهای الکترونیکی کوچ کرد و یک اتفاق جدید در دنیای اینترنت اشیا رقم زده شد.
زبان برنامه نویسی میکروپایتون از زبان برنامه نویسی پایتون ۳ همراه با کتابخانه های کاربردی پایتون است که برای ارتباط با میکروکنترلرها و بردهای امبدد ساخته شده است. این پست یک راهنمای کلی برای انتخاب برد میکروپایتون است. در ادامه با دیجی اسپارک همراه باشید.
میکروپایتون برای pyboard
pyboard محبوب میکروپایتون
برد pyboard از چیپ STM32 استفاده میکند که این برد در سال ۲۰۱۴ توسط Damien George برای پروژه کیک استارترش برای اجرای میکروپایتون طراحی کرد. این برد بر پایه تراشه STM32 CORTEX M4CPU است. Pyboard در نسل های محتلف تولید شده است که در هر نسل یک ویژگی مهم در طراحی آن اضافه شده است مانند افزایش تعداد پایه های GPIO و افزودن وای فای و بلوتوث به برد که قابلیت های آن را توسعه دهد. افزایش رم و حافظه فلش در نسل D از برد pyboard است. برای راه اندازی pyboard فانکشن و کلاس های مخصوص میکروپایتون توسعه یافته است تا به راحتی قابل استفاده باشد.
- pyboard 1
- pyboard D
میکروپایتون برای ESP8266
کمپانی ESPressif از قافله عقب نمونده
چیپ ESP8266 از میکروپایتون پشتیبانی میکند. پس اگر الان یک برد NodeMCU دارید، برای شروع کار با میکروپایتون ۵۰ درصد آمادگی دارید. تمامی سنسورهایی که تا به حال با برد آردوینو راه اندازی شده است، از این بعد با زبان جدید و یک فریمور جدید قابل راه اندازی است. شروع کار قطعا سخت خواهد بود. اما تجربه ی یادگیری نسل جدیدی از برنامه نویسی میکروکنترلرها فراتر از سختی ها خواهد بود. تمامی بردهایی که در حال حاضر با تراشه ESP8266 تولید شده است، قابلیت کدنویسی با میکروپایتون Micropython را دارد. از نرم افزار Thonny IDE و نرم افزار MU برای برنامه نویسی میتوانید استفاده کنید. کدنویسی وابسته به فانکشن های تعریف شده است و بایسیتی از قبل دانش و مطالعه کافی داشته باشید.
- ESP8266 ESP01S
- ESP8266 NodeMCU
- ESP8266 Wemos D1 mini
- ESP8266 ESP12E
- ESP8266 ESP12F
میکروپایتون برای ESP32
در مقایسه با ESP8266، برد ESP32 نسل جدید است و امکانات بیشتری را برای کدنویسی در میکروپایتون در اختیار ما قرار میدهد. وای فای، بلوتوث در کنار هم برای اجرای پروژه ها بهترین انتخاب خواهد بود. پشتیبانی از ADC, PWM, I2C, SPI, UART و همخوانی با میکروپایتون از دیگر دلایل استفاده از این برد برای میکروپایتون است. در حال حاضر کمپانی های بسیاری از این تراشه در ساخت بردها استفاده میکنند که این نشان از رقابتی بودن بازار میکروکنترلرها و اضافه شدن قابلیت کدنویسی میکروپایتون در پروژه هاست. بردهایی مانند برد هوش مصنوعی اینترنت اشیا Firebeetle، Maixduino, ESP32 NodeMCU با میکروپایتون سازگاری دارند.
- ماژول اورجینال فایربیتل FireBeetle 2 ESP32-E IoT DFR0654
- برد هوش مصنوعی AI + IoT مایکسدوینو Maixduino Sipeed
- ماژول وای فای بلوتوث ESP32 DevKitC WROOM-32D
- برد ESP32-S CAMERA با شیلد پروگرامر و تغذیه
- ماژول ESP32 دوربین تایمردار M5STACK TimerCam
- ماژول دوربین M5 UNIT Cam دارای WIFI ESP32 و سنسورOV2640
و تمامی بردهایی که از تراشه ESP32 ساخته شده باشد، میتواند برای میکروپایتون انتخاب فوق العادی باشد.
میکروپایتون برای RP2040
RP2040 یک پردازنده ی ۳۲ بیتی dual ARM Cortex-M0+ Microcontroller است. تراشه از یک سیلیکون ۴۰nm با ابعاد ۷X7 میلی متری از پکیج QFN-56 SMD است. فرکانس پردازنده ۱۳۳MHz و حافظه SRAM برابر با ۲۶۴KB است. این تراشه فاقد حافظهی EEPROM و FLASH داخلی است و پس از ریست بوت لدر فایرمور را از حافظه فلش خارجی و یا از حافظه SRAM درگاه USB بارگیری میکند. رزبری پای Pico یک برد توسعه یافته بر پایه تراشه RP2040 است. RP2040 یک پردازنده ی ۳۲ بیتی dual ARM Cortex-M0+ Microcontroller است. رسپری پای پیکو RASPBERRY PI PICO از به دو زبان برنامه نویسی C , MICROPYTHON قابل اجرا و برنامه نویسی است. با توجه به ماهیت و تکنولوژی ساخت با بسیاری از سنسورها و سخت افزارها ارتباط برقرار کرده و برای مبتدیان و حتی سطوح پیشرفته با توجه به پشتیبانی از میکروپایتون انتخاب مناسبی است. برای اینکار بر روی برد از رابط I2C, SPI و ۸ پایه ی برنامه پذیر برای ارتباط با سخت افزارها طراحی و ایجاد شده است. برد رزبری پای پیکو به واسطه دارا بودن RP2040 بهترین انتخاب برای یادگیری میکروپایتون است. برد دیگری که تراشه RP2040 بهره برده است از خانواده آردوینو Arduino است.
میکروپایتون برای STM32
تراشه STM32 از میکروپایتون پشتیبانی میکند و برای استفاده از کتابخانه STM32 Cube HAL استفاده میکند. در ادامه لیست بردهایی که از میکروپایتون از خانواده STM پشتیبانی میکند، نوشته شده است.
- B-L072Z-LRWAN1
- B-L475E-IOT01A
- NUCLEO-F091RC
- NUCLEO-F401RE
- NUCLEO-F411RE
- NUCLEO-F413ZH
- NUCLEO-F429ZI
- NUCLEO-F446RE
- NUCLEO-F722ZE
- NUCLEO-F746ZG
- NUCLEO-F767ZI
- NUCLEO-H743ZI
- NUCLEO-L073RZ
- NUCLEO-L432KC
- NUCLEO-L452RE
- NUCLEO-L476RG
- NUCLEO-WB55
- STM32F411E-DISCO
- STM32F429I-DISCO
- STM32F4DISCOVERY (with STM32F407 MCU)
- STM32F769I-DISCO
- STM32F7DISCOVERY (with STM32F746 MCU)
- STM32L476G-DISCO
- STM32L496G-DISCO
- USBDONGLE-WB55
میکروپایتون برای BBC: Microbit
برد میکروبیت از تراشه قدرتمند nRF52833 ساخته شده و پردازنده اصلی برد ۶۴MHz Arm Cortex-M4 + FPU است. فرکانس پردازنده مرکزی برد ۶۴MHz است و حافظه فلش ۵۱۲KB , حافظه رم ۱۲۸KB است. برد میکروبیت دارای ۲۰ پایه است. بر روی برد از دو کلید در نقش ورودی استفاده شده و دارای ردیف ۵X5 ال ای دی است که برای نمایش متن و تصویر استفاده میشود. در ردیف بالای برد پاور ورودی برای باتری، ورودی میکرو یو اس بی برای برنامه نویسی و کلید ریست قرار گرفته شده است. برد میکروبیت دارای تراشه بلوتوث همراه با قابلیت اتصال به موبایل را دارد. سنسورهای کاربردی به صورت داخلی برای برد طراحی و جاسازی شده است که برد را متمایز با بسیاری از میکروکنترلرهای مناسب برای برنامه نویسی میکروپایتون کرده است.