رزبری پای پیکو Raspberry Pi Pico
رزبری پای پیکو Raspberry Pi Pico
رزبری پای پیکو در ابعاد کوچک، سریع اما در یک ظاهر و کارآیی کاملا متفاوت نسبت به دیگر رزبری پای های ارائه شده توسط بنیاد رزبری پای Raspberry Pi است. تراشه اصلی استفاده شده در ساخت رزبری پای پیکو RP2040 است. رزبری پای پیکو از یک پردازنده ی دو هسته ای ARM CORETX M0+ DUAL CORE طراحی شده و از 246 کیلوبایت حافظه رم داخلی و از حافظه فلش 16مگابایتی پشتیبانی میکند. پایه های GPIO از پروتکل های ارتباطی I2C, SPI و پایه های برنامه پذیر I/O شکل گرفته است.
زبان های برنامه نویسی رزبری پای پیکو
رسپری پای پیکو RASPBERRY PI PICO از به دو زبان برنامه نویسی C , MICROPYTHON قابل اجرا و برنامه نویسی است. با توجه به ماهیت و تکنولوژی ساخت با بسیاری از سنسورها و سخت افزارها ارتباط برقرار کرده و برای مبتدیان و حتی سطوح پیشرفته با توجه به پشتیبانی از میکروپایتون انتخاب مناسبی است. برای اینکار بر روی برد از رابط I2C, SPI و 8 پایه ی برنامه پذیر برای ارتباط با سخت افزارها طراحی و ایجاد شده است.
مشخصات سخت افزاری رزبری پای PICO
- 21 mm × 51 mm form factor
- RP2040 microcontroller chip designed by Raspberry Pi in the UK
- Dual-core Arm Cortex-M0+ processor
- فرکانس پردازنده 133mhz
- 264KB on-chip SRAM
- 2MB on-board QSPI Flash
- دارای 26 پایه gpio
- پشتیبانی از دو UART, از دو I2C, از دو SPI و 16 کانال PWM
- دارای یک پورت usb
- دارای 8 پایه برنامه پذیر gpio
- ولتاژ ورودی 1.8 - 5.5 ولت dc
- دمای کاری - 20 تا + 85 درجه سانتی گراد
ّبررسی پایه های رزبری پای پیکو
رزبری پای پیکو دارای ۲۶ پایه GPIO (ورودی/خروجی عمومی) است که میتوانید از آنها برای اتصال به انواع حسگرها، ماژولها و دستگاههای الکترونیکی استفاده کنید. در زیر، پایههای موجود در رزبری پای پیکو را بررسی میکنیم:
- GP0 - GP19: این پایهها (پایه ۰ تا پایه ۱۹) پایههای GPIO هستند که میتوانید آنها را به عنوان ورودی یا خروجی استفاده کنید. هر کدام از این پایهها دارای قابلیتها و ویژگیهای مختلفی هستند مانند ورودی دیجیتال، خروجی دیجیتال، PWM و ...
- VBUS: این پایه جهت تامین تغذیه ۵ ولت برای برد استفاده میشود. معمولاً برای اتصال به منبع تغذیه خارجی یا USB به کار میرود.
- ۳V۳ (3.3V): این پایه تامین تغذیه ۳.۳ ولت برای برد و دستگاههای متصل به آن فراهم میکند. میتوانید از آن برای تغذیه حسگرها و ماژولهایی که نیاز به تغذیه ۳.۳ ولت دارند استفاده کنید.
- GND: پایههای GND مربوط به اتصال به زمین برد هستند و جهت اتصال مشترک به منابع تغذیه و سایر دستگاهها استفاده میشوند.
- ۵V (5V): این پایه تغذیه ۵ ولت از منبع تغذیه خارجی یا USB را فراهم میکند.
- ۳V۳ EN: این پایه جهت کنترل تغذیه ۳.۳ ولت روی برد استفاده میشود.
به همراه رزبری پای پیکو چه اقلامی باید خریداری شود؟
- کابل Micro USB
- برد بورد
- پین هدر نری
- در صورت نیاز پین هدر مادگی
- کابل فلت
- ماژول وای فای ESP
- سنسورهای مختلف جهت اجرای پروژه
نمونه کد میکروپایتون با رزبری پای پیکو
در ادامه یک نمونه کد میکروپایتون برای رزبری پای پیکو ارائه میشود که یک LED را روشن و خاموش میکند. در این مثال، LED به پایه GPIO یک متصل شده است.در این کد، ابتدا ماژول machine را وارد میکنیم و پس از آن یک شیء Pin برای کنترل پایه GPIO مربوط به LED ایجاد میکنیم. سپس در یک حلقه بینهایت، مقدار پایه را به 1 (روشن) و 0 (خاموش) تغییر میدهیم و با استفاده از تابع utime.sleep تاخیر میدهیم. LED به صورت مداوم روشن و خاموش شود، هر یک ثانیه یک بار خاموش و روشن میشود.
import machine
import utime
led_pin = machine.Pin(25, machine.Pin.OUT) # پایه GPIO برای LED
while True:
led_pin.value(1) # روشن کردن LED
utime.sleep(1) # تاخیر 1 ثانیه
led_pin.value(0) # خاموش کردن LED
utime.sleep(1) # تاخیر 1 ثانیه
نمونه کد دوم میکروپایتون با رزبری پای پیکو
در این کد، ابتدا ماژولهای machine و utime و urandom را وارد میکنیم. سپس یک لیست از شیءهای Pin برای کنترل پایههای GPIO مربوط به LEDها ایجاد میکنیم.سپس در یک حلقه بینهایت، ابتدا یک LED را به صورت تصادفی انتخاب میکنیم و سپس آن را روشن میکنیم. سپس با استفاده از تابع urandom.uniform(0.2, 1.0) تاخیر تصادفی بین ۰.۲ تا ۱ ثانیه ایجاد میکنیم. سپس LED را خاموش کرده و باز هم با تاخیر تصادفی مشابه انتظار میکشیم. این روند برای همیشه ادامه پیدا میکند.
import machine
import utime
import urandom
led_pins = [machine.Pin(25, machine.Pin.OUT), machine.Pin(26, machine.Pin.OUT), machine.Pin(27, machine.Pin.OUT)] # پایههای GPIO برای LEDها
while True:
led_index = urandom.randint(0, len(led_pins) - 1) # انتخاب تصادفی یک LED
led = led_pins[led_index]
led.value(1) # روشن کردن LED انتخاب شده
utime.sleep(urandom.uniform(0.2, 1.0)) # تاخیر تصادفی بین 0.2 تا 1 ثانیه
led.value(0) # خاموش کردن LED انتخاب شده
utime.sleep(urandom.uniform(0.2, 1.0)) # تاخیر تصادفی بین 0.2 تا 1 ثانیه
مشخصات
- کاربری
- مناسب برای استفاده شخصی
- نوع ماژول
- رزبری پای - Raspberry Pi
- ابعاد فیبر
- 21X51 میلی متر
- سطح تجربه مورد نیاز
- پیشرفته
- ولتاژ ورودی
- 1.8 تا 5 .5 ولت DC
- دمای کاری
- - 20 تا + 85 درجه سانتی گراد
- چاپ مس
- سبز
- تعداد پایه ها
- دارای 26 پایه GPIO
- اقلام همراه محصول
- ندارد
- سازنده
- Raspberry PI
- کشور سازنده
- انگلستان
- نوع کانکتور
- پین هدر
- معماری پردازنده
- میکروکنترلر
- سنسور
- دارای سنسور دمای داخلی
- پروتکل ارتباطی
- دارای دو UART, دارای دو SPI, دارای دو I2C, دارای 16 کانال PWM
- حافظه
- حافظه SRAM 264KB on-chip
- حافظه Flash
- 2MB
- ارتباط UART
- دارد
- تعداد پورت USB
- دارای یک پورت MICRO USB
- پردازنده
- RP2040 microcontroller
- نوع پردازنده
- Dual-core Arm Cortex-M0+
- فرکانس آی سی
- 133MHz
- وضعیت لوازم جانبی
- ندارد
- سایر توضیحات
- برنامه نویسی از به صورت DRAG 7 DROP از طریق USB
- Wifi
- ندارد
- سایر قابلیتها
- دارای 8 پایهی برنامه پذیر GPIO
- Bluetooth
- ندارد
- نسخه رزبری پای
- رزبری سری Pico
بله، MicroPython از برخی از ماژولهای تصویری پشتیبانی میکند. برای استفاده از دوربینها یا ماژولهای تصویری دیگر، شما نیاز به فلش کردن کتابخانهها و ماژولهای مربوطه دارید.
بله این امکان وجود دارد. با توجه به اینکه برد رزبری پای دارای پایههای GPIO است. امکان اتصال انواع ماژولهای مختلف را دارد. ماژولهای اترنت به SPI هم یکی از این موارد پر مصرف هستند. میتوانید از شاخه ماژول اترنت و شبکه انواع این بردها را برای اتصال به رزبری پای بررسی کنید.
دوربین IMX219 یک دوربین با رابط MIPI CSI-2 است که اکثرا با بردهای توسعهی مبتنی بر پردازندههای ARM که دارای رابط CSI-2 هستند، سازگاری دارد. برخی از این بردها شامل Raspberry Pi، Jetson Nano، Odroid و Orange Pi is هستند. با این حال، برای استفاده از دوربین IMX219 با هر برد دیگری، باید بررسی کنید که آیا برد شما دارای رابط MIPI CSI-2 است یا خیر. CSI2 یک رابط سریال پایدار برای انتقال داده های تصویری از سنسورهای تصویری به پردازنده ها است. برخی از بردهایی که دارای CSI2 هستند عبارتند از:
1- Raspberry Pi CM4
2- Nvidia Jetson Nano
3- Orange Pi
4- BeagleBone Black
5- Coral Dev Board
6- Qualcomm DragonBoard
7- HiKey 960
و بسیاری بردهای دیگر با پردازنده های مختلف از جمله ARM و x86.
لازم به ذکر است که برخی از این بردها ممکن است نیاز به ماژول تبدیل CSI2 به HDMI یا USB داشته باشند تا بتوانند با دوربین های دیگری که از رابط های HDMI یا USB استفاده می کنند سازگاری پیدا کنند.
ابتدا نرم افزار Thonny را از وبسایت رسمی آن دانلود و نصب کنید. Thonny یک محیط توسعه Python راحت برای کار با میکروکنترلرهای مانند RP2040 ارائه میدهد. پس از نصب Thonny، برد RP2040 خود را از طریق پورت USB به کامپیوتر خود وصل کنید. Thonny باید برد RP2040 را تشخیص دهد و در پنجره "Python Shell" نمایش دهد. از وبسایت رسمی MicroPython فایل firmware مورد نظر خود را برای RP2040 دانلود کنید.
این فایل به صورت یک فایل UF2 در دسترس است.در Thonny، بر روی "File" کلیک کرده و "Open" را انتخاب کنید. سپس مسیر فایل firmware UF2 را انتخاب کنید. پس از انتخاب فایل، در برگه "Device"، پورت مربوط به RP2040 را انتخاب کنید.با کلیک بر روی "Run" یا "Flash"، Thonny firmware را بر روی RP2040 نصب خواهد کرد. این عملیات ممکن است مدتی طول بکشد. به طور خودکار، برد RP2040 دوباره راهاندازی میشود و firmware جدید نصب میشود.پس از نصب firmware، میتوانید از پنجره "Python Shell" در Thonny یا از یک ترمینال سریال دیگر برای اتصال به RP2040 و اجرای دستورات خود استفاده کنید.
باگ های نرم افزاری به مرور زمان با بهروزرسانی جدید به صورت اتوماتیک رفع خواهد شد. پیشنهاد میشود ورژن 3 را نصب کنید.
اگر نسخه 4 از Thonny IDE بر روی ویندوز 7 برای شما مشکلساز است و به دنبال جایگزینی مناسب برای توسعه میکروپایتون هستید، میتوانید از محیطهای توسعه دیگری استفاده کنید.
Mu: Mu یک محیط توسعه سبک و کم حجم برای میکروپایتون است. این نرمافزار بر روی ویندوز 7 نصب و اجرا میشود و ویژگیهای ساده و کاربرپسندی دارد.
IDLE (Integrated Development and Learning Environment): IDLE یک IDE رسمی برای میکروپایتون است و به صورت پیشفرض در همراه با نصب پایتون نصب میشود. این IDE از ورژنهای مختلف میکروپایتون پشتیبانی میکند.
Visual Studio Code (VS Code): اگر از یک IDE قدرتمند و انعطافپذیر برای توسعه میکروپایتون بهره میبرید، میتوانید از VS Code با استفاده از افزونههای مرتبط با میکروپایتون استفاده کنید. این IDE روی ویندوز 7 نیز عملکرد مناسبی دارد.
PyCharm Community Edition: اگر به دنبال یک IDE حرفهای برای توسعه پروژههای میکروپایتون هستید، میتوانید از نسخه رایگان PyCharm Community Edition استفاده کنید. این IDE ویژگیهای بسیار زیادی دارد و بر روی ویندوز 7 نیز قابل نصب است.
ارور "MPY: soft reboot" در میکروپایتون (MicroPython) به مشکلات مربوط به کد یا اشتباهات در اجرای برنامه اشاره دارد. همچنین، ارور "ImportError: can't import name pin" نیز به نشانه این است که درخواست به ایمپورت ماژول pin ناموفق بوده است.
ابتدا باید کدی که اجرا میشود را بررسی کنید. ممکن است در کد خود از ماژول pin به نادرستی استفاده کرده باشید یا اینکه این ماژول در محیط میکروپایتون مورد تعریف نشده باشد.اطمینان حاصل کنید که ماژول pin در میکروپایتون به درستی تعریف شده و موجود است. در برخی از نسخههای میکروپایتون، این ماژول ممکن است به نام machine تعریف شده باشد. بنابراین، باید از machine به جای pin استفاده کنید.
برای بررسی اینکه یک رزبری پای (Raspberry Pi) پیکو (Pico) آیا سوخته یا نه، میتوانید مراحل زیر را انجام دهید:
رزبری پای پیکو دارای یک LED سبز و یک LED قرمز بر روی برد است. اگر برد به درستی تغذیه شده باشد، LED سبز باید روشن باشد. اگر LED سبز روشن نشود، احتمالاً مشکلی در تامین برق وجود دارد.مطمئن شوید که همه کابلها و اتصالات به درستی انجام شده باشد. منبع تغذیه (مثل باتری) به درستی کار میکند. برای اطمینان از سالم بودن منبع تغذیه، آن را برای تغذیه یک دستگاه دیگر تست کنید.
برای کار با برد پیکو در نرم افزار آردوینو باید نسخه Arduino Mbed OS RP2040 Boards را نصب کنید.