🌈 نمایشگر OLED و نئوپیکسل با میکروپایتون روی رزبری پای پیکو

✍️ تیم ووکوی فارسی ·

یک LED چشمک‌زن خوب است، ولی پروژه‌ات وقتی جان می‌گیرد که بتواند متن نشان بدهد و رنگی شود. در این آموزش با میکروپایتون روی رزبری پای پیکو یک نمایشگر OLED کوچک و یک نوار هشت‌تایی نئوپیکسل را با هم راه می‌اندازیم. کد را می‌توانی بدون خرید قطعه در شبیه‌ساز آنلاین (همان کاری که کاربران wokwi انجام می‌دهند، این بار به فارسی) اجرا کنی.

چه چیزی می‌سازیم؟

یک «نوار پیشرفت» رنگی: هر نیم ثانیه یک LED دیگر از نوار نئوپیکسل روشن می‌شود و رنگ عوض می‌کند، و هم‌زمان روی OLED عدد مرحله و یک نوار پرشونده نمایش داده می‌شود.

قطعه‌ها

سیم‌کشی

قطعهپایه‌ی قطعهپایه‌ی پیکو
OLEDVCC3V3(OUT)، پایه‌ی فیزیکی ۳۶
OLEDGNDGND
OLEDSDAGP4 (I2C0 SDA)
OLEDSCLGP5 (I2C0 SCL)
نئوپیکسلDINGP16
نئوپیکسل5V / VCCVBUS (۵ ولت USB، پایه‌ی ۴۰)
نئوپیکسلGNDGND

کد کامل میکروپایتون

from machine import Pin, I2C
import ssd1306
import neopixel
import time

i2c = I2C(0, sda=Pin(4), scl=Pin(5), freq=400000)
oled = ssd1306.SSD1306_I2C(128, 64, i2c)

NUM = 8
np = neopixel.NeoPixel(Pin(16), NUM)

colors = [(255, 0, 0), (0, 255, 0), (0, 0, 255), (255, 160, 0)]
step = 0

while True:
    lit = step % NUM
    r, g, b = colors[(step // NUM) % len(colors)]
    for i in range(NUM):
        if i <= lit:
            np[i] = (r // 4, g // 4, b // 4)   # یک‌چهارم نور، برای چشم و باتری
        else:
            np[i] = (0, 0, 0)
    np.write()

    oled.fill(0)
    oled.text("Wokwi.ir + Pico", 0, 0)
    oled.text("Step: " + str(step), 0, 20)
    oled.rect(0, 44, 128, 12, 1)
    oled.fill_rect(0, 44, (lit + 1) * 16, 12, 1)
    oled.show()

    step += 1
    time.sleep(0.5)

توضیح بخش‌های مهم

بخش OLED

بخش نئوپیکسل

برای نوشتن فارسی روی OLED فونت داخلی کافی نیست، چون فقط حروف انگلیسی دارد. برای شروع متن انگلیسی یا فینگلیش بنویس.

اجرا در شبیه‌ساز

پروژه‌ی آماده‌ی OLED و نئوپیکسل با MicroPython روی پیکو در تینکرکد فارسی همین دو قطعه را دارد. پیکو، OLED و نئوپیکسل هر سه جزو امکانات اشتراک پلاس هستند؛ مثال آماده برای خواندن رایگان باز می‌شود و برای اجرایش پلاس لازم است. صفحه‌ی قطعه‌ی نئوپیکسل هم توضیح کامل‌تری درباره‌ی این LEDهای هوشمند دارد.

اشکال‌های رایج

اگر با دکمه هم کار کرده‌ای، سعی کن با وقفه‌ی دکمه رنگ نوار را عوض کنی. همین پروژه را با آردوینو هم می‌شود ساخت: OLED با آردوینو. برای امکانات بیشتر برد، صفحه‌ی رزبری پای پیکو را ببین.

OLED و نئوپیکسل پیکو را باز کن 🌈

مقاله‌های مرتبط

🐍

آموزش میکروپایتون از صفر: متغیر، شرط، حلقه، تابع، لیست و کار با پایه‌های برد

📌

پین اوت رزبری پای پیکو: نقشه‌ی کامل ۴۰ پایه، GP، ADC، I2C، SPI، UART و تغذیه

🌗

PWM با میکروپایتون روی رزبری پای پیکو: LED نفس‌کش با duty_u16 و freq

🦾

سروو موتور با آردوینو: جاروب ۰ تا ۱۸۰ درجه و کنترل با پتانسیومتر

همه‌ی آموزش‌های رزبری پای پیکو و میکروپایتون ← · همه‌ی مقاله‌ها