美文网首页物联网开发
【树莓派】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