The bicolor matrix display is demonstrated in the matrix_bicolor_test.py example below. This code demonstrates using the Matrix8x8x2 class in a very similar way to the Matrix8x8 class. The key difference is that are assigning color value and are not limited to a 1 or 0 value like with the Matrix8x8 class.
# SPDX-FileCopyrightText: 2019 Mikey Sklar for Adafruit Industries
#
# SPDX-License-Identifier: MIT
# Import all pins
import time
import board
import busio
from adafruit_ht16k33 import matrix
# Create the I2C interface
i2c = busio.I2C(board.SCL, board.SDA)
# Create the LED bargraph class.
bicolor = matrix.Matrix8x8x2(i2c)
# color mapping shortcut
OFF = 0
GREEN = 1
RED = 2
YELLOW = 3
# Set individual segments of the bicolor matrix
# Illuminate the first three pixels
bicolor[0,0] = GREEN
bicolor[0,1] = RED
bicolor[0,2] = YELLOW
time.sleep(2)
# Edges of an 8x8 matrix
col_max = 8
row_max = 8
# Turn all pixels off
bicolor.fill(OFF)
col = 0
row = 0
# Illuminate each pixel with each color
while row < row_max:
# Turn them on in a loop
while col < col_max:
bicolor[row, col] = RED
time.sleep(.25)
bicolor[row, col] = GREEN
time.sleep(.25)
bicolor[row, col] = YELLOW
time.sleep(.25)
col += 1
# next row when previous column is full
if row < row_max:
row += 1
col = 0
# clear matrix, start over
else:
row = col = 0
bicolor.fill(OFF)
time.sleep(1)
# Fill the entrire display, with each color
bicolor.fill(GREEN)
time.sleep(1)
bicolor.fill(RED)
time.sleep(1)
bicolor.fill(YELLOW)
time.sleep(1)
bicolor.fill(OFF)
We can easily copy this code onto our Pi's home directory using the 'wget' command and then run it using the following commands.
cd wget https://raw.githubusercontent.com/adafruit/Adafruit_Learning_System_Guides/master/Matrix_7-Segment_LED_Backpack_Raspberry_Pi/matrix_bicolor_test.py python3 matrix_bicolor_test.py
Page last edited January 22, 2025
Text editor powered by tinymce.