树莓派GPIO驱动ST7735S主控TFT液晶屏显示图片和文字

本文介绍了如何利用树莓派GPIO驱动1.8‘’128*160RGB_TFT ST7735S液晶屏显示图片和文字,重点讲解了使用PIL库简化显示过程。通过安装PIL库,编写转换图片和显示文字的代码,实现了自动换行功能,使得在液晶屏上便捷地展示内容。
AI助手已提取文章相关产品:

本文使用1.8‘’128*160RGB_TFT ST7735S主控的液晶屏来操作

参考blog:http://blog.mangolovecarrot.net/2017/03/05/raspi-study1102

文中使用同类型液晶屏显示了纯色和制作点阵来显示文字,但是这实在是太麻烦了。

本文主要介绍如何使用PIL库来辅助显示,想要了解更多细节建议先看原文。

PIL库的安装

sudo apt-get install python-pil python3-pil

代码

在原作者的代码上增加了两个函数,用于图片的转换(侵删),关于RGB565请看原文

import RPi.GPIO as GPIO
import time
import math
from PIL import Image

cs = 23  # 片选
rs = 17  # 数据 / 命令 切换
sda = 13  # 数据
scl = 19  # 时钟
reset = 27  # 复位


# 传输byte
def setByteData(data):
    # print ""
    # print "S-----------setByte---------------:", hex(data)
    for bit in range(0, 8):
        # 传入的数字从高位到低位依次判断是否为1,若为1则设置高电平,否则设置低电平
        # 判断的方法是先向左移位,把要判断的位移动到最高位然后跟0x80(1000 0000)相与,
        # 如果结果仍然是0x80(1000 0000)就表示最高位是1,否则最高位就是0
        if ((data << bit) & 0x80 == 0x80):
            setBitData(True)
            # print "1",
        else:
            setBitData(False)
            # print "0",
    # print ""
    # print "E-----------setByte---------------"


def setBitData(data):
    GPIO.output(scl, False)
    GPIO.output(sda, data)
    GPIO.output(scl, True)


def write_command(cmd):
    GPIO.output(cs, False)
    GPIO.output(rs, False)
    setByteData(cmd)
    GPIO.output(cs, True)


def write_data(data):
    GPIO.output(cs, False)
    GPIO.output(rs, True)
    setByteData(data)
    GPIO.output(cs, True)


def write_data_16bit(dataH, dataL):
    write_data(dataH)
    write_data(dataL)


def lcd_reset():
    GPIO.output(reset, False)
    time.sleep(0.1)
    GPIO.output(reset, True)
    time.sleep(0.1)


def 

您可能感兴趣的与本文相关内容

评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值