🍓 رزبری پای پیکو (Raspberry Pi Pico)
| اسم انگلیسی | Raspberry Pi Pico |
|---|---|
| در ووکوی (Wokwi) | wokwi-pi-pico |
| دسته | 🧠 بردهای میکروکنترلر |
| در شبیهساز فارسی | مود آردوینو · جزو اشتراک Plus |
رزبری پای پیکو (Raspberry Pi Pico) برد میکروکنترلر ارزانی با تراشهی RP2040 است: دو هستهی ۱۳۳ مگاهرتزی، ۲۶۴ کیلوبایت رم، ۲۶ پایهی GPIO و منطق ۳٫۳ ولت. آن را هم با MicroPython برنامه مینویسی و هم با زبان آردوینو؛ برای یادگیری پایتون روی سختافزار، نمایشگر و نئوپیکسل و پروژههایی که سرعت بیشتری از اونو میخواهند عالی است. با رزبری پای معمولی که یک کامپیوتر کامل است اشتباهش نگیر.
رزبری پای پیکو در ووکوی (Wokwi)
شناسهی برد wokwi-pi-pico است و پایهها با اسم GP نوشته میشوند: pico:GP15، pico:GP26، pico:3V3 و pico:GND.1. این diagram.json یک LED روی GP15 و یک پتانسیومتر روی GP26 (ورودی آنالوگ ADC0) میگذارد:
{
"version": 1,
"parts": [
{ "type": "wokwi-pi-pico", "id": "pico", "top": 0, "left": 0, "attrs": {} },
{ "type": "wokwi-resistor", "id": "r1", "top": 120, "left": 120, "attrs": { "value": "220" } },
{ "type": "wokwi-led", "id": "led1", "top": 60, "left": 200, "attrs": { "color": "red" } },
{ "type": "wokwi-potentiometer", "id": "pot1", "top": -60, "left": 120, "attrs": {} }
],
"connections": [
[ "pico:GP15", "r1:1", "green", [] ],
[ "r1:2", "led1:A", "green", [] ],
[ "led1:C", "pico:GND.1", "black", [] ],
[ "pot1:SIG", "pico:GP26", "orange", [] ],
[ "pot1:VCC", "pico:3V3", "red", [] ],
[ "pot1:GND", "pico:GND.1", "black", [] ]
]
}
| پایهی قطعه | پایهی پیکو |
|---|---|
| LED، پایهی A (از راه مقاومت ۲۲۰ اهم) | pico:GP15 (پایهی فیزیکی ۲۰) |
| LED، پایهی C | pico:GND.1 |
| پتانسیومتر، SIG | pico:GP26 (ADC0، پایهی فیزیکی ۳۱) |
| پتانسیومتر، VCC و GND | pico:3V3 و pico:GND.1 |
پتانسیومتر را از 3V3 تغذیه کن، نه از ۵ ولت USB؛ ورودی آنالوگ پیکو بیشتر از ۳٫۳ ولت را تحمل نمیکند.
خلاصهی پین اوت پیکو
| دسته | پایهها | نکته |
|---|---|---|
| GPIO | GP0 تا GP22 و GP26 تا GP28 | همه ورودی و خروجی، با PWM و وقفه |
| ورودی آنالوگ | GP26 (ADC0)، GP27 (ADC1)، GP28 (ADC2) | read_u16 عددی بین ۰ تا ۶۵۵۳۵ میدهد |
| LED روی برد | GP25 در پیکوی معمولی | در پیکو W با اسم LED صدا زده میشود |
| I2C، SPI، UART | چند جفت پایه برای هر کدام | پایهها را در کد صریح بنویس |
| تغذیه | VBUS (۵ ولت USB)، VSYS (ورودی ۱٫۸ تا ۵٫۵ ولت)، 3V3(OUT) | ماژولهای ۳٫۳ ولتی را از 3V3 تغذیه کن |
| زمین | چند پایهی GND در هر دو ردیف | هر پنج پایه یک زمین |
| RUN | ریست | اتصالش به زمین برد را ریست میکند |
جدول کامل ۴۰ پایه با همهی جفتهای I2C و SPI را در پین اوت رزبری پای پیکو گذاشتهایم.
کد نمونه
# Raspberry Pi Pico, MicroPython: blink speed set by a potentiometer
from machine import Pin, ADC
import time
led = Pin(15, Pin.OUT) # GP15, physical pin 20
pot = ADC(26) # GP26 = ADC0
while True:
raw = pot.read_u16() # 0 .. 65535
wait_ms = 50 + raw * 950 // 65535 # 50 .. 1000 ms
print("pot:", raw, "wait:", wait_ms)
led.value(1)
time.sleep_ms(wait_ms)
led.value(0)
time.sleep_ms(wait_ms)
اگر زبان آردوینو را ترجیح میدهی، همین مدار با analogRead(26) هم کار میکند؛ راهش را در برنامهنویسی پیکو با زبان آردوینو ببین. پیکو و MicroPython در تینکرکد فارسی جزو اشتراک پلاس هستند؛ مثال آمادهی دیمر LED با MicroPython برای خواندن رایگان باز میشود و برای اجرا پلاس لازم داری.
اشتباههای رایج
- شمارهی فیزیکی بهجای GP:
Pin(20)یعنی GP20، نه پایهی فیزیکی ۲۰. همیشه برچسب GP را روی جدول پیدا کن. - ۵ ولت به پایهها: وصل کردن VBUS یا خروجی یک ماژول ۵ ولتی به GPIO میتواند تراشه را بسوزاند.
- ADC روی پایهی اشتباه:
ADC(15)خطا میدهد؛ ورودی آنالوگ بیرونی فقط روی GP26 تا GP28 است. - sleep به ثانیه:
time.sleep(500)یعنی پانصد ثانیه؛ برای میلیثانیه ازtime.sleep_msاستفاده کن.
آموزشهای مرتبط
- شبیه ساز رزبری پای پیکو آنلاین
- اولین برنامهی میکروپایتون روی پیکو
- ADC پیکو و خواندن پتانسیومتر
- فهرست مدارهای پیکو
سؤالهای رایج
فرق شمارهی فیزیکی و GP در پیکو چیست؟
شمارهی فیزیکی جای سوراخ روی برد است (۱ تا ۴۰) و GP اسم پایه در تراشه. در کد همیشه GP را مینویسی؛ مثلاً Pin(15) یعنی GP15 که پایهی فیزیکی ۲۰ است.
پیکو را با زبان آردوینو هم میشود برنامه نوشت؟
بله، با هستهی arduino-pico همان توابع آشنای آردوینو روی پیکو کار میکنند. در ووکوی هم پروژهی پیکو را میشود با MicroPython یا آردوینو شروع کرد.
پیکو در شبیهساز فارسی رایگان است؟
برد پیکو و MicroPython جزو اشتراک پلاس تینکرکد فارسی هستند؛ مثالهای آماده برای خواندن رایگان باز میشوند و برای اجرا پلاس لازم داری.