diff --git a/oled.py b/oled.py index a14b814..50e08f9 100644 --- a/oled.py +++ b/oled.py @@ -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()