diff --git a/examples/pcd8544_pillow_demo.py b/examples/pcd8544_pillow_demo.py new file mode 100644 index 0000000..c1e44e0 --- /dev/null +++ b/examples/pcd8544_pillow_demo.py @@ -0,0 +1,68 @@ +""" +This demo will fill the screen with white, draw a black box on top +and then print Hello World! in the center of the display + +This example is for use on (Linux) computers that are using CPython with +Adafruit Blinka to support CircuitPython libraries. CircuitPython does +not support PIL/pillow (python imaging library)! +""" + +import board +import busio +import digitalio +from PIL import Image, ImageDraw, ImageFont +import adafruit_pcd8544 + +# Define the Reset Pin +oled_reset = digitalio.DigitalInOut(board.D4) + +# Parameters to Change +BORDER = 5 +FONTSIZE = 10 + +spi = busio.SPI(board.SCK, MOSI=board.MOSI) +dc = digitalio.DigitalInOut(board.D6) # data/command +cs = digitalio.DigitalInOut(board.CE0) # Chip select +reset = digitalio.DigitalInOut(board.D5) # reset + +display = adafruit_pcd8544.PCD8544(spi, dc, cs, reset) + +# Contrast and Brightness Settings +display.bias = 4 +display.contrast = 60 + +# Turn on the Backlight LED +backlight = digitalio.DigitalInOut(board.D13) # backlight +backlight.switch_to_output() +backlight.value = True + +# Clear display. +display.fill(0) +display.show() + +# Create blank image for drawing. +# Make sure to create image with mode '1' for 1-bit color. +image = Image.new('1', (display.width, display.height)) + +# Get drawing object to draw on image. +draw = ImageDraw.Draw(image) + +# Draw a white background +draw.rectangle((0, 0, display.width, display.height), outline=255, fill=255) + +# Draw a smaller inner rectangle +draw.rectangle((BORDER, BORDER, display.width - BORDER - 1, display.height - BORDER - 1), + outline=0, fill=0) + +# Load a TTF font. +font = ImageFont.truetype('/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf', FONTSIZE) + +# Draw Some Text +text = "Hello World!" +(font_width, font_height) = font.getsize(text) +draw.text((display.width//2 - font_width//2, display.height//2 - font_height//2), + text, font=font, fill=255) + +# Display image +display.image(image) +display.show()