import face isButtonPressedA = 0 isButtonPressedB = 0 time.sleep(0.5) print("VGA sensor QR-image demo starts now(boot.py)!") version_info = sys.version QR_detect = False TF_Card_OK = False OV77XX_EN = True # UNIT V RGB Pixel LED PIXEL_LED_pin = 8 PIXEL_LED_num = 1 PIXEL_LED = class_ws2812 = ws2812(PIXEL_LED_pin, PIXEL_LED_num) Color_Green = 0xE0 Color_Green_half = 0x80 Color_Green_min = 0x40 Color_Red_max = 0xFF Color_Red = 0xE0 Color_Red_half = 0xA0 Color_Blue = 0xE0 def RGB_LED_RED(): #class_ws2812.set_led(num,color), color` : 该灯珠赋值的颜色,为 `tuple` 类型, (R,G,B) PIXEL_LED = class_ws2812.set_led(0, (Color_Red, 0, 0)) PIXEL_LED = class_ws2812.display() time.sleep(0.01) PIXEL_LED = class_ws2812.set_led(0, (0, 0, 0))
fm.register(20, fm.fpioa.I2S0_IN_D0) fm.register(19, fm.fpioa.I2S0_WS) fm.register(18, fm.fpioa.I2S0_SCLK) rx = I2S(I2S.DEVICE_0) rx.channel_config(rx.CHANNEL_0, rx.RECEIVER, align_mode=I2S.STANDARD_MODE) sample_rate = 38640 rx.set_sample_rate(sample_rate) sample_points = 1024 FFT_points = 512 hist_num = 41 #changeable hist_width = 1 #int(lcd_width / hist_num)#changeable x_shift = 0 # init LEDs n_leds = 41 leds = ws2812(6, n_leds) # port 6, # leds for i in range(n_leds): leds.set_led(i, (0x10, 0x10, 0x10)) # all leds white leds.display() def fft_output(leds): while True: audio = rx.record(sample_points) FFT_res = FFT.run(audio.to_bytes(), FFT_points) FFT_amp = FFT.amplitude(FFT_res) interval = int(hist_num / n_leds) count = 0 for i in range(0, hist_num, interval): if FFT_amp[i] > 240:
# fftEqualizer - By: Sahil Rastogi - Sat Nov 21 2020 from Maix import GPIO from Maix import I2S from Maix import FFT from fpioa_manager import fm from modules import ws2812 import lcd, time, random lcd.init(color=(0, 0, 255)) lcd.draw_string(lcd.width() // 2 - 54, lcd.height() // 2 - 4, "fftEqualizer", lcd.WHITE, lcd.BLUE) ledPin, ledNum = 24, 150 #24 is digitalPin 5 of Maixduino ws = ws2812(led_pin=ledPin, led_num=ledNum) for i in range(ledNum): ws.set_led(i, (0, 0, 0)) ws.display() fm.register(20, fm.fpioa.I2S0_IN_D0, force=True) fm.register(19, fm.fpioa.I2S0_WS, force=True) fm.register(18, fm.fpioa.I2S0_SCLK, force=True) rx = I2S(I2S.DEVICE_0) rx.channel_config(rx.CHANNEL_0, rx.RECEIVER, align_mode=I2S.STANDARD_MODE) sampleRate = 38640 rx.set_sample_rate(sampleRate) samplePoints = 1024 fftPoints = 128 # 64, 128, 256, 512 histNum = 10 # should ideally be equal to fftPoints
版本:v1.0 日期:2019.12 作者:01Studio 【www.01Studio.org】 说明:通过编程实现灯带红、绿、蓝不同颜色的变化。 ''' from modules import ws2812 import utime #定义红、绿、蓝三种颜色 RED=(255,0,0) GREEN=(0,255,0) BLUE=(0,0,255) #定义RGB灯带对象,引脚32连接,灯珠数量:30。 np = ws2812(32,30) while True: #显示红色 for i in range(30): np.set_led(i,RED) np.display() utime.sleep(1) #显示绿色 for i in range(30): np.set_led(i,GREEN) np.display() utime.sleep(1)
def __init__(self, pin, n): self.n = n self.data = [(0, 0, 0) for _ in range(self.n)] self.leds = ws2812(pin, self.n)
import sensor import image try: from modules import ws2812 except ImportError: class ws2812(): def __init__(self, p1, p2): pass def set_led(self, a, b): pass def display(self): pass LED = ws2812(8,1) RES = [sensor.VGA, sensor.QVGA, sensor.QQVGA, sensor.QQVGA2, sensor.CIF, sensor.SIF, sensor.B128X128, sensor.B64X64] CLR = [sensor.RGB565, sensor.GRAYSCALE, sensor.YUV422] class UART: def __init__(self, checkInterval,callback): from machine import Timer self.callback = callback self.timer = Timer(Timer.TIMER0, Timer.CHANNEL0, start=False, callback=self.inputCheck, period=checkInterval, mode=Timer.MODE_PERIODIC) self.checking = False self.sending = False self.uart = False def connect(self): from fpioa_manager import fm
RGB565_Green = 0x07E0 RGB565_Red = 0xF800 #single color for ws2812 Color_Green = 0xE0 Color_Green_half = 0x80 Color_Green_min = 0x40 Color_Red_max = 0xFF Color_Red = 0xE0 Color_Red_half = 0xA0 Color_Blue = 0xE0 # UNIT V RGB Pixel LED PIXEL_LED_pin = 8 PIXEL_LED_num = 1 #PIXEL_LED = class_ws2812 = ws2812(PIXEL_LED_pin,PIXEL_LED_num) PIXEL_LED = ws2812(PIXEL_LED_pin, PIXEL_LED_num) def RGB_LED_RED(): #class_ws2812.set_led(num,color), color` : 该灯珠赋值的颜色,为 `tuple` 类型, (R,G,B) PIXEL_LED.set_led(0, (Color_Red, 0, 0)) PIXEL_LED.display() #PIXEL_LED.del() time.sleep(0.01) #PIXEL_LED.set_led(0,(0,0,0)) #PIXEL_LED.display() def RGB_LED_RED_DK(): PIXEL_LED.set_led(0, (Color_Red >> 4, 0, 0)) PIXEL_LED.display()
def __init__(self): self.w = ws2812(8, 100)
y_last = 0 datetime_str = ' ' color_index = 0 ver_str = '' img = image.Image(size=(widht, height)) lcd.init(freq=15000000) lcd.clear(lcd.RED) # backlight part fm.register(17, fm.fpioa.GPIO0) bl = GPIO(GPIO.GPIO0, GPIO.OUT) bl.value(1) class_ws2812 = ws2812(22, 1) print(os.listdir('/')) if 'sd' in os.listdir('/'): img.draw_string(0, 0, 'SdCard in...', color=(0, 0xFF, 0)) img.draw_string(0, 16, 'SdCard in...', color=(0, 0xFF, 0)) img.draw_string(0, 32, 'SdCard in...', color=(0, 0xFF, 0)) img.draw_string(0, 48, 'SdCard in...', color=(0, 0xFF, 0)) lcd.display(img) else: img.draw_string(0, 0, 'SdCard lost...', color=(0xFF, 0, 0)) img.draw_string(0, 16, 'SdCard lost...', color=(0xFF, 0, 0)) img.draw_string(0, 32, 'SdCard lost...', color=(0xFF, 0, 0)) img.draw_string(0, 48, 'SdCard lost...', color=(0xFF, 0, 0)) lcd.display(img)
def unitv_check(): uniV_use=0 i2c = I2C(I2C.I2C0, freq=100000, scl=28, sda=29) devices = i2c.scan() if len(devices)==0: uniV_use=1 return uniV_use print("Initialize") uniV_use=unitv_check() m5stickv_init(uniV_use) if uniV_use==1: class_ws2812 = ws2812(8,1) class_ws2812.set_led(0,(0,0,0)) class_ws2812.display() print("M5 Button def") but_a_pressed = 0 but_b_pressed = 0 if uniV_use==0: fm.register(36, fm.fpioa.GPIO1) fm.register(37, fm.fpioa.GPIO2) else : fm.register(18, fm.fpioa.GPIO1) fm.register(19, fm.fpioa.GPIO2) but_a = GPIO(GPIO.GPIO1, GPIO.IN, GPIO.PULL_UP)
##############demo1 from modules import ws2812 class_ws2812 = ws2812(board_info.D[4], 30) for i in range(30): class_ws2812.set_led(i, (0xff, 0, 0)) class_ws2812.display() #############demo2 from modules import ws2812 class_ws2812 = ws2812(board_info.D[4], 30) r = 0 dir = True while True: if dir: r += 1 else: r -= 1 if r >= 255: r = 255 dir = False elif r < 0: r = 0 dir = True for i in range(30): a = class_ws2812.set_led(i, (r, 0, 0)) a = class_ws2812.display()
from modules import ws2812 from fpioa_manager import * fm.register(board_info.CONNEXT_A) class_ws2812 = ws2812(board_info.CONNEXT_A,130) r=0 dir = True while True: if dir: r += 1 else: r -= 1 if r>=255: r = 255 dir = False elif r<0: r = 0 dir = True for i in range(130): a = class_ws2812.set_led(i,(0,0,r)) a=class_ws2812.display()
from modules import ws2812 # test maix cube grove ws2813 24 led_io, led_num = 24, 24 ws = ws2812(led_io, led_num) for i in range(led_num): ws.set_led(i, (0, 0, 0)) ws.display() import time, math value = 0 while True: value += 1 for i in range(value, value + led_num): ws.set_led(i % led_num, (value + i, value + i, value + i)) ws.display() time.sleep_ms(10)
from modules import ws2812 from time import sleep import random n_leds = 41 leds = ws2812(6, n_leds) for i in range(n_leds): leds.set_led(i, (0x10, 0x10, 0x10)) leds.display() def move(leds): index = 0 while True: leds.set_led(index, (0xff, 0xff, 0xff)) index = (index + 1) % n_leds leds.set_led(index, (0, 0, 0xff)) leds.display() sleep(0.2) def driver(leds): while True: move(leds) sleep(0.2) try: move(leds)
def unitv_init(): global class_ws2812 class_ws2812 = ws2812(8, 1) class_ws2812.set_led(0, (32, 16, 0)) class_ws2812.display()