美文网首页物联网开发
【树莓派】Python开发12864显示屏

【树莓派】Python开发12864显示屏

作者: congming543 | 来源:发表于2020-05-04 21:40 被阅读0次

【接线】

12864    Raspberry

VCC         1

GND         6

SCL         3

SDA         5

一、安装工具及库

sudo apt-get install -y python-smbus

sudo apt-get install -y i2c-tools

sudo i2cdetect -y 1 #看到3C说明成功

sudo apt-get install libfreetype6-dev libjpeg-dev build-essential

sudo -H pip3 install --upgrade luma.oled

示例代码:

# !/usr/bin/env python

import RPi.GPIO as GPIO

import time

import datetime as datetime

from luma.core.interface.serial import i2c, spi

from luma.core.render import canvas

from luma.oled.device import ssd1306, ssd1325, ssd1331, sh1106

from PIL import ImageDraw, Image, ImageFont

GPIO.setmode(GPIO.BCM)

GPIO.setup(18,GPIO.OUT)

GPIO.output(18, GPIO.LOW)

device = sh1106(port=1, address=0x3C)

font = ImageFont.load_default()

fontYear = ImageFont.truetype('/usr/share/fonts/truetype/freefont/FreeMonoBold.ttf', 18)

font2 = ImageFont.truetype('/usr/share/fonts/truetype/freefont/FreeMonoBold.ttf', 16)

def blink():

GPIO.output(18, GPIO.LOW)

time.sleep(1)

GPIO.output(18, GPIO.HIGH)

time.sleep(1)

def Show(d, fullDt):

y = fullDt.strftime('%Y-')

dt = fullDt.strftime('%m-%d')

tm = fullDt.strftime('%H:%M:%S')

with canvas(d) as draw:

draw.text((40, 0), "TIME", font=fontYear, fill=255)

draw.text((10, 22), y, font=font2, fill=255)

draw.text((60, 22), dt, font=font2, fill=255)

draw.text((20, 44), tm, font=font2, fill=255)

def main():

nowDt = datetime.datetime.now() + datetime.timedelta(hours=8)

blink()

while True:

Show(device, nowDt)

nowDt = nowDt + datetime.timedelta(seconds=1)

time.sleep(1)

if __name__ == "__main__":

main()

相关文章

网友评论

    本文标题:【树莓派】Python开发12864显示屏

    本文链接:https://www.haomeiwen.com/subject/ihrughtx.html