# uncomment next line if you are using Pimoroni 11x7 LED Matrix Breakout # from adafruit_is31fl3731.matrix_11x7 import Matrix11x7 as Display # uncomment this line if you use a Pico, here with SCL=GP21 and SDA=GP20. # i2c = busio.I2C(board.GP21, board.GP20) i2c = busio.I2C(board.SCL, board.SDA) # fmt: off sweep = [ 1, 2, 3, 4, 6, 8, 10, 15, 20, 30, 40, 60, 60, 40, 30, 20, 15, 10, 8, 6, 4, 3, 2, 1, ] # fmt: on frame = 0 display = Display(i2c) while True: for incr in range(24): # to reduce update flicker, use two frames # make a frame active, don't show it yet display.frame(frame, show=False) # fill the display with the next frame for x in range(display.width): for y in range(display.height): display.pixel(x, y, sweep[(x + y + incr) % 24]) # show the next frame display.frame(frame, show=True) if frame: frame = 0 else:
# SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries # SPDX-License-Identifier: MIT import board import busio # uncomment next line if you are using Feather CharlieWing LED 15 x 7 from adafruit_is31fl3731.charlie_wing import CharlieWing as Display # uncomment next line if you are using Adafruit 16x9 Charlieplexed PWM LED Matrix # from adafruit_is31fl3731.matrix import Matrix as Display # uncomment next line if you are using Adafruit 16x8 Charlieplexed Bonnet # from adafruit_is31fl3731.charlie_bonnet import CharlieBonnet as Display # uncomment next line if you are using Pimoroni Scroll Phat HD LED 17 x 7 # from adafruit_is31fl3731.scroll_phat_hd import ScrollPhatHD as Display i2c = busio.I2C(board.SCL, board.SDA) display = Display(i2c) # draw a box on the display # first draw the top and bottom edges for x in range(display.width): display.pixel(x, 0, 50) display.pixel(x, display.height - 1, 50) # now draw the left and right edges for y in range(display.height): display.pixel(0, y, 50) display.pixel(display.width - 1, y, 50)
# uncomment next line if you are using Feather CharlieWing LED 15 x 7 from adafruit_is31fl3731.charlie_wing import CharlieWing as Display # uncomment next line if you are using Adafruit 16x9 Charlieplexed PWM LED Matrix # from adafruit_is31fl3731.matrix import Matrix as Display # uncomment next line if you are using Adafruit 16x8 Charlieplexed Bonnet # from adafruit_is31fl3731.charlie_bonnet import CharlieBonnet as Display # uncomment next line if you are using Pimoroni Scroll Phat HD LED 17 x 7 # from adafruit_is31fl3731.scroll_phat_hd import ScrollPhatHD as Display i2c = busio.I2C(board.SCL, board.SDA) # array pattern in bits; top row-> bottom row, 8 bits in each row an_arrow = bytearray((0x08, 0x0C, 0xFE, 0xFF, 0xFE, 0x0C, 0x08, 0x00, 0x00)) display = Display(i2c) # first load the frame with the arrows; moves the an_arrow to the right in each # frame display.sleep(True) # turn display off while updating blink bits display.fill(0) for y in range(display.height): row = an_arrow[y] for x in range(8): bit = 1 << (7 - x) & row if bit: display.pixel(x + 4, y, 50, blink=True) display.blink( 1000) # ranges from 270 to 2159; smaller the number to faster blink display.sleep(False) # turn display on
# uncomment next line if you are using Adafruit 16x8 Charlieplexed Bonnet # from adafruit_is31fl3731.charlie_bonnet import CharlieBonnet as Display # uncomment next line if you are using Pimoroni Scroll Phat HD LED 17 x 7 # from adafruit_is31fl3731.scroll_phat_hd import ScrollPhatHD as Display # uncomment next line if you are using Pimoroni 11x7 LED Matrix Breakout # from adafruit_is31fl3731.matrix_11x7 import Matrix11x7 as Display # uncomment this line if you use a Pico, here with SCL=GP21 and SDA=GP20. # i2c = busio.I2C(board.GP21, board.GP20) i2c = busio.I2C(board.SCL, board.SDA) # arrow pattern in bits; top row-> bottom row, 8 bits in each row arrow = bytearray((0x08, 0x0C, 0xFE, 0xFF, 0xFE, 0x0C, 0x08, 0x00, 0x00)) display = Display(i2c) # first load the frame with the arrows; moves the arrow to the right in each # frame display.sleep(True) # turn display off while frames are updated for frame in range(display.width - 8): display.frame(frame, show=False) display.fill(0) for y in range(display.height): row = arrow[y] for x in range(8): bit = 1 << (7 - x) & row # display the pixel into selected frame with varying intensity if bit: display.pixel(x + frame, y, frame ** 2 + 1) display.sleep(False)