🍓 ۲۵ مدار رزبری پای پیکو با میکروپایتون، با اسم فارسی و انگلیسی
رزبری پای پیکو برد کوچکی است که با میکروپایتون، یعنی همان پایتون ساده و خوانا، برنامهنویسی میشود. اگر پایتون بلدی یا تازه دارد یادت میدهند، پیکو کوتاهترین راه از کد به مدار است. ولی بعد از چشمکزن اول، سؤال همیشگی این است: «حالا چه مداری بسازم؟». این صفحه جوابش را میدهد: ۲۵ مدار رزبری پای پیکو با اسم کامل فارسی و انگلیسی، قطعهها، دستور میکروپایتونی که هر مدار یاد میدهد، اینکه در شبیهساز اجرا میشود یا نه، و آموزشی که آن را قدمبهقدم درس میدهد. بعد پنج مدار میکروپایتون را با جدول سیمکشی و کد کامل میسازیم. اگر پایههای زبان را هنوز محکم نکردهای، اول آموزش میکروپایتون از صفر را بخوان.
سه قانون مدارهای پیکو
- همهچیز ۳٫۳ ولت: پایههای GP پیکو با ۳٫۳ ولت کار میکنند و ۵ ولت را تحمل نمیکنند. پتانسیومتر و سنسورها را به 3V3(OUT) (پایهی فیزیکی ۳۶) وصل کن. پایهی VBUS (پایهی ۴۰) پنج ولت USB است و فقط برای تغذیهی قطعههای پرمصرف مثل سروو و نوار نئوپیکسل به کار میرود.
- آنالوگ فقط روی سه پایه: GP26، GP27 و GP28 تنها ورودیهای آنالوگاند.
read_u16()عددی بین ۰ تا ۶۵۵۳۵ میدهد وduty_u16()در PWM هم همین بازه را میگیرد؛ پس عدد ولوم را میشود مستقیم به LED داد. - PWM و I2C به پایه حساساند: پایههایی که یک «برش» PWM را شریکاند فرکانس یکسان دارند و GP0 و GP16 حتی یک کانالاند. I2C هم باید با پایهی درستِ باس جور باشد: GP4 و GP5 مال
I2C(0)هستند و GP2 و GP3 مالI2C(1). نقشهی کامل در پین اوت رزبری پای پیکو.
machine.Pin با وقفه، PWM، ADC، Timer، I2C با درایورهای ssd1306 و i2c_lcd، ماژولهای neopixel و dht، input() و UART. دو استثنا: تابع time_pulse_us را ندارد (پس HC-SR04 را روی برد واقعی امتحان کن) و سنسور دمای داخلی تراشه دمای واقعی نمیدهد. مثالها را رایگان باز میکنی؛ اجرای پیکو و میکروپایتون جزو اشتراک Plus تینکرکد فارسی است. امکانات کامل در صفحهی شبیه ساز پیکو.جدول ۲۵ مدار رزبری پای پیکو
مدارها در پنج دستهاند. ستون «مفهوم» دستور یا ایدهی میکروپایتونی است که با ساختن آن مدار یاد میگیری. «پایین همین صفحه» یعنی سیمکشی و کد کاملش در ادامه آمده است.
۱. پایه: پایهی دیجیتال، PWM و ADC
| # | اسم فارسی | English name | قطعهها | مفهوم | در شبیهساز؟ | آموزش |
|---|---|---|---|---|---|---|
| ۱ | چشمکزن LED روی برد | Onboard LED Blink | هیچ | Pin("LED", Pin.OUT) و toggle | بله | اولین برنامهی میکروپایتون |
| ۲ | چشمکزن LED بیرونی | External LED Blink | LED، مقاومت ۲۲۰ اهم | Pin(15, Pin.OUT) و time.sleep | بله | همان آموزش چشمکزن |
| ۳ | کلید تاگل با وقفه | Button Interrupt Toggle | دکمه، LED | Pin.PULL_UP، irq و رفع لرزش | بله | دکمه و وقفه |
| ۴ | LED نفسکش | PWM Breathing LED | LED، مقاومت | PWM، freq، duty_u16 و اصلاح گاما | بله | PWM با میکروپایتون |
| ۵ | دیمر با پتانسیومتر | Potentiometer Dimmer | پتانسیومتر، LED | ADC.read_u16 به duty_u16 | بله | ADC پیکو |
| ۶ | لامپ رنگی با ولوم | RGB Hue Knob | LED RGB، سه مقاومت، پتانسیومتر | سه PWM و چرخ رنگ | بله | پایین همین صفحه |
| ۷ | چراغ عابر پیاده | Pedestrian Traffic Light | سه LED، دکمه | پرچم در وقفه و ترتیب حالتها | بله | پایین همین صفحه |
| ۸ | چند چشمکزن همزمان | Multitasking Blink with Timer | دو LED | machine.Timer دورهای | بله | Timer در میکروپایتون |
۲. سنسورها و ورودیها
| # | اسم فارسی | English name | قطعهها | مفهوم | در شبیهساز؟ | آموزش |
|---|---|---|---|---|---|---|
| ۹ | نورسنج با فتوسل | LDR Light Meter | LDR، مقاومت ۱۰ کیلواهم | مقسم ولتاژ روی GP26 | بله | مثل ADC پیکو، با LDR بهجای ولوم |
| ۱۰ | دماسنج و رطوبتسنج | DHT22 Thermometer | DHT22 یا DHT11 | dht.DHT22 و مدیریت OSError | بله | DHT با میکروپایتون |
| ۱۱ | دزدگیر حرکتی | PIR Motion Alarm | سنسور PIR، بازر، LED | وقفهی لبهی بالارونده و Timer یکباره | بله | پایین همین صفحه |
| ۱۲ | فاصلهسنج اولتراسونیک | Ultrasonic Distance Meter (HC-SR04) | HC-SR04، مقسم برای Echo | time_pulse_us | نه؛ برد واقعی | HC-SR04 با میکروپایتون |
| ۱۳ | خواندن جویاستیک | Joystick Reader | جویاستیک دومحوره | دو ADC روی GP26 و GP27 و یک دکمه | بله | — |
| ۱۴ | هشدار کج شدن | Tilt Switch Alarm | سنسور شیب، LED | ورودی دیجیتال با PULL_UP | بله | — |
| ۱۵ | دماسنج داخلی تراشه | Internal Temperature Sensor | هیچ | ADC(4) و فرمول تبدیل به دما | نه؛ برد واقعی | بخش آخر آموزش ADC پیکو |
۳. خروجی و حرکت
| # | اسم فارسی | English name | قطعهها | مفهوم | در شبیهساز؟ | آموزش |
|---|---|---|---|---|---|---|
| ۱۶ | سروو با ولوم | Servo Knob | سروو، پتانسیومتر | PWM پنجاه هرتز و پهنای پالس | بله | سروو با میکروپایتون |
| ۱۷ | کنترل سرعت موتور DC | DC Motor Speed Control (NPN) | ترانزیستور NPN، دیود، موتور، باتری | PWM و کلید ترانزیستوری | بله | کلید ترانزیستوری در مدارهای پایه |
| ۱۸ | نشانگر سطح با نوار LED | LED Bar Level Meter | نوار ۱۰تایی LED، ده مقاومت، پتانسیومتر | لیست پایهها و حلقهی for | بله | پایین همین صفحه |
۴. نمایشگرها و نور رنگی
| # | اسم فارسی | English name | قطعهها | مفهوم | در شبیهساز؟ | آموزش |
|---|---|---|---|---|---|---|
| ۱۹ | متن و شکل روی OLED | OLED Text and Shapes | OLED SSD1306 | I2C و درایور ssd1306 | بله | OLED و نئوپیکسل |
| ۲۰ | نمایشگر هوا با OLED | OLED Weather Display (DHT22) | OLED، DHT22 | ترکیب I2C و DHT در یک حلقه | بله | پایین همین صفحه |
| ۲۱ | نمایشگر LCD با ماژول I2C | I2C LCD 16×2 | LCD 16×2 با ماژول I2C | درایور i2c_lcd و آدرس 0x27 | بله | LCD I2C با میکروپایتون |
| ۲۲ | نوار رنگینکمان نئوپیکسل | NeoPixel Strip Rainbow | نوار ۸تایی WS2812 | ماژول neopixel و np.write() | بله | همان آموزش OLED و نئوپیکسل |
۵. ارتباط و پروژه
| # | اسم فارسی | English name | قطعهها | مفهوم | در شبیهساز؟ | آموزش |
|---|---|---|---|---|---|---|
| ۲۳ | گفتوگو با سریال | Serial Chat with input() | LED، مقاومت | input() و فرمان متنی | بله | پروژهی input() در پیکو |
| ۲۴ | کنترل با بلوتوث HC-05 | Bluetooth Control over UART | ماژول HC-05، LED | UART(1) و فرمان از گوشی | بله | پروژهی UART و HC-05 |
| ۲۵ | ایستگاه هواشناسی با LCD | Weather Station (DHT11 + LCD) | LCD I2C، DHT11 | ترکیب دو ماژول و قالببندی متن | بله | پروژهی LCD و DHT11 |
از کدام مدار شروع کنم؟ یک مسیر پیشنهادی
این ۲۵ مدار را لازم نیست به ترتیب شماره بسازی. اگر تازه با پیکو آشنا شدهای، این مسیر پنجمرحلهای هر بار فقط یک مفهوم تازه اضافه میکند:
- خروجی دیجیتال: مدار ۱ و ۲ (چشمکزنها). یاد میگیری
Pinبسازی،valueوtoggleرا صدا بزنی و باtime.sleepزمان بدهی. - ورودی دیجیتال و وقفه: مدار ۳ و بعد مدار ۷. فرق خواندن دکمه در حلقه با وقفه را میفهمی و یاد میگیری تابع وقفه را کوتاه نگه داری.
- آنالوگ و PWM: مدار ۴، ۵ و ۶. دو عدد جادویی ۰ تا ۶۵۵۳۵ را برای ورودی و خروجی میشناسی و میبینی چرا عدد ولوم مستقیم به LED میرسد.
- ماژولها و کتابخانهها: مدار ۱۰، ۱۹ و بعد ۲۰. با
import dhtو درایورssd1306کار میکنی، باس I2C را میشناسی و خطا را باtry/exceptمدیریت میکنی. - همزمانی و پروژه: مدار ۸ و ۱۱ و در آخر ۲۴ یا ۲۵. با
Timerچند کار را بدونsleepطولانی پیش میبری و چند ماژول را در یک برنامه ترکیب میکنی.
بعد از این پنج مرحله، هر مدار دیگری در جدول فقط ترکیب تازهای از همین مفهومهاست. اگر هنوز بین زبانها مردّدی، میکروپایتون یا C++ آردوینو فرقها را با مثال نشان میدهد.
پنج مدار پیکو با سیمکشی و کد کامل میکروپایتون
همهی کدها برای میکروپایتون رسمی رزبری پای پیکو نوشته شدهاند. روی برد واقعی فایل را با اسم main.py ذخیره کن تا با هر بار روشن شدن اجرا شود؛ در شبیهساز کافی است دکمهی اجرا را بزنی. خروجی print در سریال مانیتور دیده میشود.
مدار ۷: چراغ عابر پیاده (Pedestrian Traffic Light)
چراغ ماشینها همیشه سبز است تا وقتی عابری دکمه را بزند؛ آنوقت زرد، بعد قرمز میشود تا عابر رد شود، و دوباره سبز. دکمه با وقفه خوانده میشود: تابع وقفه فقط یک پرچم را روشن میکند و کار اصلی در حلقه انجام میشود.
| قطعه | پایهی قطعه | پایهی پیکو |
|---|---|---|
| LED قرمز | آند از راه ۲۲۰ اهم | GP13 |
| LED زرد | آند از راه ۲۲۰ اهم | GP14 |
| LED سبز | آند از راه ۲۲۰ اهم | GP15 |
| هر سه LED | کاتد | GND |
| دکمهی عابر | یک پایه / پایهی دیگر | GP16 / GND |
from machine import Pin
import time
red = Pin(13, Pin.OUT)
yellow = Pin(14, Pin.OUT)
green = Pin(15, Pin.OUT)
button = Pin(16, Pin.IN, Pin.PULL_UP) # button between GP16 and GND
requested = False
def on_press(pin):
global requested
requested = True # only set a flag: keep handlers short
button.irq(trigger=Pin.IRQ_FALLING, handler=on_press)
def lights(r, y, g):
red.value(r)
yellow.value(y)
green.value(g)
lights(0, 0, 1) # cars start on green
while True:
if requested:
print("pedestrian waiting")
time.sleep(1)
lights(0, 1, 0) # yellow
time.sleep(2)
lights(1, 0, 0) # red: people cross
print("cross now")
time.sleep(5)
lights(0, 0, 1) # back to green
requested = False
time.sleep_ms(50)
Pin.PULL_UPمقاومت داخلی را روشن میکند تا ورودی شناور نماند؛ دکمهی آزاد ۱ و دکمهی فشرده ۰ خوانده میشود.IRQ_FALLINGیعنی تابع درست در لحظهی افتادن ولتاژ از ۱ به ۰، یعنی لحظهی فشار، صدا زده شود. حتی اگر دکمه درست وسطsleep_ms(50)حلقه فشرده شود، فشار گم نمیشود.global requestedلازم است چون تابع وقفه یک متغیر بیرونی را عوض میکند. کار طولانی مثلsleepرا هیچوقت داخل تابع وقفه نگذار.requested = Falseآخر چرخه است؛ فشارهایی که وسط قرمز زده شدهاند چرخهی دوم راه نمیاندازند.
مدار ۶: لامپ رنگی با ولوم (RGB Hue Knob)
با چرخاندن یک ولوم، رنگ LED RGB روی چرخ رنگ حرکت میکند: از قرمز به زرد، سبز، آبی، بنفش و دوباره قرمز. سه PWM برای سه رنگ و یک ADC برای ولوم.
| قطعه | پایهی قطعه | پایهی پیکو |
|---|---|---|
| LED RGB (کاتد مشترک) | قرمز / سبز / آبی، هر کدام از راه ۲۲۰ اهم | GP13 / GP14 / GP15 |
| LED RGB | پایهی بلند (کاتد مشترک) | GND |
| پتانسیومتر | کناری / وسط / کناری | 3V3(OUT) / GP26 / GND |
from machine import Pin, PWM, ADC
import time
knob = ADC(26) # GP26 = ADC0
red = PWM(Pin(13))
green = PWM(Pin(14))
blue = PWM(Pin(15))
for ch in (red, green, blue):
ch.freq(1000)
def color(r, g, b): # 0..255 each, like on a web page
red.duty_u16(r * 257) # 255 * 257 = 65535
green.duty_u16(g * 257)
blue.duty_u16(b * 257)
def wheel(h): # hue 0..359 -> (r, g, b)
x = (h % 60) * 255 // 60
s = h // 60
if s == 0:
return (255, x, 0)
if s == 1:
return (255 - x, 255, 0)
if s == 2:
return (0, 255, x)
if s == 3:
return (0, 255 - x, 255)
if s == 4:
return (x, 0, 255)
return (255, 0, 255 - x)
while True:
raw = knob.read_u16() # 0..65535
hue = raw * 359 // 65535 # 0..359
r, g, b = wheel(hue)
color(r, g, b)
print("hue:", hue)
time.sleep_ms(100)
r * 257عددهای آشنای ۰ تا ۲۵۵ را به بازهی ۰ تا ۶۵۵۳۵duty_u16میبرد، چون ۲۵۵ ضرب در ۲۵۷ دقیقاً ۶۵۵۳۵ است.//تقسیم صحیح است؛duty_u16عدد اعشاری قبول نمیکند و با/خطای TypeError میگرفتی.- تابع
wheelیک «تاپل» سهتایی برمیگرداند وr, g, b = wheel(hue)آن را یکجا در سه متغیر باز میکند؛ از ترفندهای قشنگ پایتون. - GP14 و GP15 یک برش PWM را شریکاند، ولی چون هر سه کانال ۱۰۰۰ هرتزند، مشکلی پیش نمیآید.
مدار ۱۸: نشانگر سطح با نوار LED (LED Bar Level Meter)
یک نوار دهتایی LED مثل نشانگر صدای ضبطصوت: هر چه ولوم را بیشتر بچرخانی، LEDهای بیشتری روشن میشوند. این مدار نشان میدهد چرا لیست پایتون برای کار با چند پایه اینقدر راحت است.
| قطعه | پایهی قطعه | پایهی پیکو |
|---|---|---|
| نوار ۱۰تایی LED | آند LED اول تا دهم، هر کدام از راه یک مقاومت ۲۲۰ اهم | GP2 تا GP11 به ترتیب |
| نوار ۱۰تایی LED | همهی کاتدها | GND |
| پتانسیومتر | کناری / وسط / کناری | 3V3(OUT) / GP26 / GND |
from machine import Pin, ADC
import time
knob = ADC(26)
leds = [Pin(n, Pin.OUT) for n in range(2, 12)] # GP2 .. GP11: ten LEDs
while True:
raw = knob.read_u16() # 0..65535
level = raw * 11 // 65536 # 0..10 LEDs to light
for i in range(10):
leds[i].value(1 if i < level else 0)
print("level:", level)
time.sleep_ms(50)
[Pin(n, Pin.OUT) for n in range(2, 12)]در یک خط ده پایه را خروجی میکند؛ به آن «لیستسازی فشرده» میگویند.range(2, 12)یعنی ۲ تا ۱۱، چون عدد آخر جزو بازه نیست.raw * 11 // 65536بازه را به ۱۱ پله، یعنی ۰ تا ۱۰ LED، تقسیم میکند. با ۱۰ بهجای ۱۱، بیشترین حاصل ۹ میشد و LED دهم هیچوقت روشن نمیشد.1 if i < level else 0شرط یکخطی پایتون است: LEDهایی که شمارهشان از سطح کمتر است روشن، بقیه خاموش.
مدار ۲۰: نمایشگر هوا با OLED و DHT22 (OLED Weather Display)
دما و رطوبت از سنسور DHT22 خوانده میشود و روی یک نمایشگر OLED نشان داده میشود. اگر سنسور جواب ندهد، برنامه نمیشکند و روی صفحه مینویسد «Sensor error».
| قطعه | پایهی قطعه | پایهی پیکو |
|---|---|---|
| OLED SSD1306 | VCC / GND | 3V3(OUT) / GND |
| OLED SSD1306 | SDA / SCL | GP4 / GP5 (باس I2C0) |
| DHT22 | VCC / DATA / GND | 3V3(OUT) / GP15 / GND |
from machine import Pin, I2C
import ssd1306
import dht
import time
i2c = I2C(0, sda=Pin(4), scl=Pin(5), freq=400000)
oled = ssd1306.SSD1306_I2C(128, 64, i2c)
sensor = dht.DHT22(Pin(15)) # for a DHT11 write dht.DHT11(Pin(15))
while True:
oled.fill(0) # clear the screen buffer
oled.text("Pico weather", 0, 0)
try:
sensor.measure()
t = sensor.temperature()
h = sensor.humidity()
oled.text("Temp: {:.1f} C".format(t), 0, 24)
oled.text("Hum: {:.0f} %".format(h), 0, 40)
print("t =", t, "h =", h)
except OSError:
oled.text("Sensor error", 0, 24)
print("DHT did not answer")
oled.show() # send the buffer to the display
time.sleep(2) # DHT22 needs 2 s between readings
I2C(0, sda=Pin(4), scl=Pin(5)): GP4 و GP5 مال باس شمارهی ۰ هستند. اگر بنویسیI2C(1, …)با همین پایهها، خطا میگیری.sensor.measure()سنسور را میخواند و اگر جوابی نیایدOSErrorمیدهد؛try/exceptنمیگذارد برنامه متوقف شود."{:.1f}".format(t)دما را با یک رقم اعشار مینویسد. فونت داخلی OLED فقط حروف انگلیسی دارد، پس متن فارسی ننویس.oled.show()را فراموش نکن؛ همهچیز اول در حافظه کشیده میشود و فقط با این خط روی صفحه میآید.
مدار ۱۱: دزدگیر حرکتی با بازر و Timer (PIR Motion Alarm)
وقتی سنسور PIR حرکت ببیند، LED و بازر سه ثانیه روشن میشوند و بعد خودشان خاموش میشوند. خاموش کردن را به یک Timer یکباره سپردهایم تا حلقهی اصلی آزاد بماند و فقط هر چند ثانیه تعداد تشخیصها را گزارش کند.
| قطعه | پایهی قطعه | پایهی پیکو |
|---|---|---|
| سنسور PIR | VCC / OUT / GND | VBUS (۵ ولت) / GP16 / GND |
| LED | آند از راه ۲۲۰ اهم / کاتد | GP15 / GND |
| بازر فعال | مثبت / منفی | GP17 / GND |
ماژول رایج HC-SR501 با ۵ ولت تغذیه میشود ولی خروجیاش ۳٫۳ ولت است، پس مستقیم به GP16 وصل میشود. اگر ماژول تو خروجی ۵ ولتی دارد، اول با یک مقسم ولتاژ پایینش بیاور.
from machine import Pin, Timer
import time
pir = Pin(16, Pin.IN) # PIR OUT -> GP16
led = Pin(15, Pin.OUT)
buzzer = Pin(17, Pin.OUT) # an active buzzer: on/off is enough
off_timer = Timer()
count = 0
def alarm_off(t):
led.value(0)
buzzer.value(0)
def motion(pin):
global count
count += 1
led.value(1)
buzzer.value(1)
# (re)start a 3-second one-shot timer; new motion extends the alarm
off_timer.init(mode=Timer.ONE_SHOT, period=3000, callback=alarm_off)
pir.irq(trigger=Pin.IRQ_RISING, handler=motion)
while True:
print("detections:", count)
time.sleep(5)
IRQ_RISINGیعنی لحظهای که خروجی PIR از ۰ به ۱ میرود، یعنی شروع حرکت.off_timer.init(mode=Timer.ONE_SHOT, period=3000, …)یک بار، سه ثانیه بعد،alarm_offرا اجرا میکند. اگر وسط این سه ثانیه حرکت تازهای دیده شود، تایمر از نو شروع میشود.- بازر فعال با یک ولتاژ ساده صدا میدهد. اگر بازر پسیو داری، باید با
PWMو فرکانس صدا (مثلاً ۲۰۰۰ هرتز) به صدا درش بیاوری.
توضیح کامل Timer و کارهای همزمان در Timer در میکروپایتون آمده است.
این مدارها را کجا بسازی؟
- شبیهساز تینکرکد فارسی: برد پیکو و قطعههای این فهرست آنجا هست و کد میکروپایتون کنار مدار نوشته و اجرا میشود. پروژههای آماده مثل چشمکزن با MicroPython، دیمر LED با MicroPython و OLED و نئوپیکسل را رایگان باز میکنی و کدشان را میخوانی؛ اجرای پیکو و میکروپایتون جزو اشتراک Plus تینکرکد فارسی است.
- wokwi.com: ووکوی هم برد رزبری پای پیکو (
wokwi-pi-pico) را با میکروپایتون و با زبان آردوینو اجرا میکند و قطعههایی مثل LED، دکمه، پتانسیومتر، DHT22 و OLED دارد. ساختن یک مدار در آن را در ساخت مدار در ووکوی و فرق شبیهسازها را در شبیهسازی مدار با ووکوی نوشتهایم. - برد واقعی: میکروپایتون را روی پیکو نصب کن و کد را با Thonny بفرست؛ قدمبهقدم در نصب میکروپایتون و Thonny. اگر ترجیح میدهی پیکو را با C++ برنامهنویسی کنی، پیکو با زبان آردوینو را ببین.
اشکالهای رایج در مدارهای پیکو
- ValueError: invalid pin در ADC: پایهای غیر از GP26، GP27 یا GP28 را به
ADCدادهای. - OSError هنگام ساختن OLED: نمایشگر روی باس پیدا نشد؛ SDA و SCL جابهجاست یا شمارهی باس با پایهها نمیخواند.
print(i2c.scan())باید[60](یعنی 0x3C) نشان بدهد. - TypeError: can't convert float to int: به
duty_u16عدد اعشاری دادهای؛ از//یاint()استفاده کن. - دکمه بدون فشار دادن هم کار میکند:
Pin.PULL_UPرا جا انداختهای و ورودی شناور است. - IndentationError: تورفتگی خطوط داخل
while،ifیاdefیکی نیست. همه را با چهار فاصله بنویس و Tab و فاصله را قاطی نکن. - دو LED با هم عوض میشوند: هر دو روی یک کانال PWM هستند (مثل GP0 و GP16)؛ یکی را جابهجا کن.
همهی مقالههای مدار و شبیهسازی در بخش مدار و شبیهسازی مدار هستند. اگر برد ESP32 هم داری، ۳۰ مدار ESP32 با اسم فارسی و انگلیسی را ببین. برای یادگیری قدمبهقدم مدار از پایه، درسهای مدار در تینکرکد فارسی را دنبال کن.
دیمر LED پیکو را با میکروپایتون باز کن 🍓سؤالهای رایج
مدارهای پیکو را با چه ولتاژی تغذیه کنم؟
پایههای GP پیکو با ۳٫۳ ولت کار میکنند و ورودی ۵ ولت را تحمل نمیکنند. سنسورها و پتانسیومتر را به 3V3(OUT) یعنی پایهی فیزیکی ۳۶ وصل کن. پایهی VBUS پنج ولت USB است و فقط برای تغذیهی قطعههایی مثل نوار نئوپیکسل یا سروو به کار میآید.
کدام پایههای رزبری پای پیکو آنالوگ هستند؟
فقط GP26، GP27 و GP28 که کانالهای ADC0 تا ADC2 هستند. با ADC(26).read_u16() عددی بین ۰ تا ۶۵۵۳۵ میگیری.
همهی این مدارهای میکروپایتون در شبیهساز اجرا میشوند؟
بیشترشان بله: Pin، PWM، ADC، Timer، وقفه، I2C با OLED و LCD، نئوپیکسل، DHT و UART. پیکوی شبیهساز تابع time_pulse_us را ندارد، پس HC-SR04 را روی برد واقعی امتحان کن. سنسور دمای داخلی تراشه هم فقط روی برد واقعی معنی دارد.
اجرای پیکو در شبیهساز فارسی رایگان است؟
باز کردن مثالها و خواندن کد و مدارشان رایگان است. اجرای پیکو و میکروپایتون جزو اشتراک Plus تینکرکد فارسی است.