pixeleditor/pico.py

53 lines
1.1 KiB
Python

import machine
import sdcard
import uos
import array, time
from machine import Pin
import rp2
from ws2812b import WS2812B
NUM_LEDS = 256
ws = WS2812B(256, 28, 0.1)
# Assign chip select (CS) pin (and start it high)
cs = machine.Pin(13, machine.Pin.OUT)
# Intialize SPI peripheral (start with 1 MHz)
spi = machine.SPI(1,
baudrate=1000000,
polarity=0,
phase=0,
bits=8,
firstbit=machine.SPI.MSB,
sck=machine.Pin(10),
mosi=machine.Pin(11),
miso=machine.Pin(12))
# Initialize SD card
sd = sdcard.SDCard(spi, cs)
# Mount filesystem
vfs = uos.VfsFat(sd)
uos.mount(vfs, "/sd")
print(uos.listdir("/sd"))
with open("/sd/art.grb", 'rb') as f:
while True:
frame = f.read(256*3)
if not frame:
print("End of frames")
break
for i in range(256):
offset = i * 3
green, red, blue = frame[offset:offset + 3]
print(red, green, blue)
ws.pixels_set(i, (red, green, blue))
ws.pixels_show()