Created
November 24, 2025 19:28
-
-
Save pingswept/870d40ea8b82203dbe1bbebb2321b5dc to your computer and use it in GitHub Desktop.
analog meter test code, ME 30 example fall 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries | |
| # SPDX-License-Identifier: MIT | |
| """ | |
| This test will initialize the display using displayio and draw a solid green | |
| background, a smaller purple rectangle, and some yellow text. | |
| """ | |
| import analogio | |
| import board | |
| import displayio | |
| import terminalio | |
| from adafruit_display_text import label | |
| from fourwire import FourWire | |
| import time | |
| from adafruit_st7735r import ST7735R | |
| sensor = analogio.AnalogIn(board.A0) | |
| DISPLAY_WIDTH = 160 | |
| # Release any resources currently in use for the displays | |
| displayio.release_displays() | |
| spi = board.SPI() | |
| tft_cs = board.D5 | |
| tft_dc = board.D6 | |
| display_bus = FourWire(spi, command=tft_dc, chip_select=tft_cs, reset=board.D9) | |
| display = ST7735R(display_bus, width=DISPLAY_WIDTH, height=128, rotation=90, bgr=True) | |
| # Make the display context | |
| splash = displayio.Group() | |
| display.root_group = splash | |
| color_bitmap = displayio.Bitmap(DISPLAY_WIDTH, 128, 1) | |
| color_palette = displayio.Palette(1) | |
| color_palette[0] = 0xFF00FF # purple | |
| bg_sprite = displayio.TileGrid(color_bitmap, pixel_shader=color_palette, x=0, y=0) | |
| splash.append(bg_sprite) | |
| # Draw a smaller inner rectangle | |
| inner_bitmap = displayio.Bitmap(DISPLAY_WIDTH - 10, 118, 1) | |
| inner_palette = displayio.Palette(1) | |
| inner_palette[0] = 0x00FF00 # green | |
| inner_sprite = displayio.TileGrid(inner_bitmap, pixel_shader=inner_palette, x=5, y=5) | |
| splash.append(inner_sprite) | |
| # Draw a label | |
| text_group = displayio.Group(scale=2, x=11, y=64) | |
| text = "MASSIVE" | |
| text_area = label.Label(terminalio.FONT, text=text, color=0xFF0000) | |
| text_group.append(text_area) # Subgroup for text scaling | |
| splash.append(text_group) | |
| offset = 0 | |
| while True: | |
| time.sleep(0.3) | |
| offset = int((float(sensor.value) / 65536.0) * DISPLAY_WIDTH) | |
| # inner_sprite = displayio.TileGrid(inner_bitmap, pixel_shader=inner_palette, x=offset, y=5) | |
| bg_sprite.x = 0 | |
| inner_sprite.x = DISPLAY_WIDTH - offset |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment