This commit is contained in:
bton 2024-04-12 21:20:15 +02:00
parent e80b943e3c
commit 81c8df3b67

54
oled.py
View file

@ -1,26 +1,36 @@
from luma.core.interface.serial import i2c, spi, pcf8574
from luma.core.interface.parallel import bitbang_6800
from luma.core.render import canvas
from luma.oled.device import ssd1306
from PIL import ImageFont
from pathlib import Path
import time
Basic example of clearing and drawing pixels on a SSD1306 OLED display.
# This example and library is meant to work with Adafruit CircuitPython API.
# Author: Tony DiCola
# License: Public Domain
serial = i2c(port=1, address=0x3C)
device = ssd1306(serial)
# Import all board pins.
from board import SCL, SDA
import busio
#fonts
name_font=ImageFont.truetype("Purisa.ttf", 20)
name_position=(50,0)
user_id_font=ImageFont.truetype("Purisa.ttf", 20)
user_id_position=(30,0)
# Import the SSD1306 module.
import adafruit_ssd1306
def balance(user_name, balance):
with canvas(device) as draw:
pass
with canvas(device) as draw:
#draw.rectangle(device.bounding_box, outline="white", fill="black")
draw.text(user_id_position, "1", fill="white", font=(user_id_font))
draw.text(name_position, "Test", fill="white", font=(name_font))
time.sleep(10)
# Create the I2C interface.
i2c = busio.I2C(SCL, SDA)
# Create the SSD1306 OLED class.
# The first two parameters are the pixel width and pixel height. Change these
# to the right size for your display!
display = adafruit_ssd1306.SSD1306_I2C(128, 32, i2c)
# Alternatively you can change the I2C address of the device with an addr parameter:
#display = adafruit_ssd1306.SSD1306_I2C(128, 32, i2c, addr=0x31)
# Clear the display. Always call show after changing pixels to make the display
# update visible!
display.fill(0)
display.show()
# Set a pixel in the origin 0,0 position.
display.pixel(0, 0, 1)
# Set a pixel in the middle 64, 16 position.
display.pixel(64, 16, 1)
# Set a pixel in the opposite 127, 31 position.
display.pixel(127, 31, 1)
display.show()