import board import busio import digitalio from PIL import Image, ImageDraw, ImageFont import adafruit_pcd8544 # 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.
board.SCK, MOSI=board.MOSI) #Schnittstelle des SPI (Serial Peripheral Interface) #Wird für die Steuerung des Displays benötigt. dc = digitalio.DigitalInOut( board.D23) # data/command Pin. Entspricht Pin GPIO 16 auf Raspberry Pi. cs = digitalio.DigitalInOut( board.D8 ) #chip select Pin. Wird auch chip enabled oder SCE Pin gennant. Entspricht Pin GPIO 8 auf den Raspberry Pi. reset = digitalio.DigitalInOut( board.D24) #reset Pin (=RST). Entspricht Pin GPIO 24 auf den Raspberry Pi. backlight = digitalio.DigitalInOut( board.D9 ) #backlight Pin. Kontrolliert durch die Stromregulierung das Backlight. Entspricht Pin GPIO 9 auf den Raspberry Pi. display = adafruit_pcd8544.PCD8544( spi, dc, cs, reset) #Erstellt mit den voher angegeben Daten die Verbindung zum Display. backlight.switch_to_output() #Stellt den backlight Pin auf den Ouput-Modus um. #Gibt eine Bildfäche zurück, auf der sich ein zentrierter Text befindet. def zentrierterText(text, schriftgroesse, bild, xVersatz=0, yVersatz=0, fett=False): zeichenflaeche = ImageDraw.Draw( bild) #Erstellt auf der Bildfläche eine Zeichenfläche. #Bestimmung der richtigen Schriftarte nach dem 'fett' Argument
#******!!! DE SPI CONFIGURATIE !!!**************************************************************// spi = busio.SPI(board.SCK, MOSI=board.MOSI, MISO=board.MISO) # de spi bus initializeren #******!!! DE MCP 3008 CONFIGURATIE !!!*********************************************************// cs1 = digitalio.DigitalInOut(board.CE1) # chip select voor mcp3008 adc = SPIDevice(spi, cs1, baudrate=1000000) # mcp 3008 configureren voor spi nextActive = 0 # hulpvariabelen om te voorkomen dat pot meter constant waarde stuurt voor next ch prevActive = 0 # hulpvariabelen om te voorkomen dat pot meter constant waarde stuurt voor prev ch #******!!! PYGAME INITIALIZEREN !!!*************************************************************// ##pygame.init() # voor de display te 'drawen' hebben we pygame nodig #******!!! NOKIA 5110 DISPLAY GEBRUIKEN !!!*****************************************************// dc = digitalio.DigitalInOut(board.D23) # data/command op d23 zetten cs0 = digitalio.DigitalInOut( board.CE0) # chip select CE0 for display intitializeren reset = digitalio.DigitalInOut(board.D24) # reset pin op D24 pin zetten display = adafruit_pcd8544.PCD8544( spi, dc, cs0, reset, baudrate=1000000) # display SPI configureren display.bias = 4 # bias voor de display instellen display.contrast = 32 # contrast voor de print op het scherm display.invert = True # True voor gewoon false om display te inverteren #******!!! LETTERTYPEN LADEN VOOR OP SCHERM !!!*************************************************// font1 = ImageFont.truetype("/usr/share/fonts/truetype/NokiaKokia.ttf", 12) font2 = ImageFont.truetype("/usr/share/fonts/truetype/arial.ttf", 9) font3 = ImageFont.truetype( "/usr/share/fonts/truetype/freefont/FreeMonoBold.ttf", 12) font4 = ImageFont.truetype("/usr/share/fonts/truetype/arial.ttf", 12) font5 = ImageFont.truetype( "/usr/share/fonts/truetype/freefont/FreeMonoBold.ttf", 20) #******!!! NOKIA 5110 DISPLAY GEBRUIKEN !!!*****************************************************// image = Image.new('1', (display.width, display.height)) draw = ImageDraw.Draw(image)
os.system("sudo systemctl start pifi") os.system("mpc clear") os.system("mpc load playlist") #initialize SPI bus spi = busio.SPI(board.SCK, MOSI=board.MOSI, MISO=board.MISO) # initialize control pins for adc cs0 = digitalio.DigitalInOut(board.CE0) #chip select adc = SPIDevice(spi, cs0, baudrate=1000000) # Initialize display dc = digitalio.DigitalInOut(board.D23) # data/command cs1 = digitalio.DigitalInOut(board.CE1) # chip select CE1 for display reset = digitalio.DigitalInOut(board.D24) # reset display = adafruit_pcd8544.PCD8544(spi, dc, cs1, reset, baudrate=1000000) display.bias = 4 display.contrast = 60 display.invert = True # Clear the display. Always call show after changing pixels to make the display update visible! display.fill(0) display.show() # Load default font # font = ImageFont.load_default() font = ImageFont.truetype( "/usr/share/fonts/truetype/noto/NotoMono-Regular.ttf", 10) font2 = ImageFont.truetype( "/usr/share/fonts/truetype/noto/NotoMono-Regular.ttf", 9)