树莓派连接LCD1602液晶显示屏,并显示内容
一、效果图
所需要硬件:
- LCD1602液晶显示屏
- IIC转接LCD1602模块(转成IIC通讯)


二、设置树莓派,启动IIC通讯功能
- 因为树莓派刚烧录完系统后IIC功能是没有启动的,在命令行分别输入以下命令:
raspi-config ; 进入树莓派设置界面
>>>Interfacing Options ; 设置
>>>P5 I2C ; 选择I2C选项
>>>enable ; 启动I2C功能
- 下载对应缺的包,例如:
sudo apt-get install i2c-tools
sudo apt-get update
sudo apt-get install python3-smbus
- 设置好了,重启一次树莓派。
三、连线

- 树莓派-------液晶显示屏
- VCC----------3.3V
- GND-----------地
- SDA----------SDA
- SCL-----------SCL
四、代码
方案一:(一个LCD602程序—LCD1602.py)
'''
1602/1602A
author:ZengXiaojie
description:
直接实例化 My1602 对象
然后调用对象的 print_lcd(param1, param2, str) 方法
ex:print_lcd(0, 0, 'Hello, world!')
param1:从第几位开始,共16位(0-15),超出不显示,除非移动屏幕(其实1602一行有40位)
param2:第几行,共有两行,0为第一行,1位第二行。
str:要显示的数据
每次打印字符时,建议适当清屏。
'''
import time
import smbus
import sys
class My1602(object):
BUS = smbus.SMBus(1)
LCD_ADDR = 0x27
BLEN = 1
# '''
# 开关灯
def turn_light(self, key):
self.BLEN = key
if key == 1:
self.BUS.write_byte(self.LCD_ADDR, 0x08)
else:
self.BUS.write_byte(self.LCD_ADDR, 0x00)
# '''
def write_word(self, addr, data):
temp = data
if self.BLEN == 1:
temp |= 0x08
else:
temp &= 0xF7
self.BUS.write_byte(addr, temp)
# 写命令
def send_command(self, comm):
# 发送7-4位数据
buf = comm & 0xF0
buf |= 0x04 # RS = 0, RW = 0, EN = 1
self.write_word(self.LCD_ADDR, buf)
time.sleep(0.002)
buf &= 0xFB
self.write_word(self.LCD_ADDR, buf)
# 发送3

1万+

被折叠的 条评论
为什么被折叠?



