【鼓捣树莓派】树莓派通过I2C总线连接LCD1602
来源:互联网 发布:金融学中的优化方法 编辑:程序博客网 时间:2024/06/05 11:42
硬件:
- Raspberry Pi 3B
- LCD1602屏幕
-i2c转LCD1602的转接板( PCF85741)
一般LCD1602需要11个GPIO,但是树莓派的GPIO口有限,所以需要串转并的方式来节省GPIO口。
当前使用的转接板为 PCF85741
手头的是接好的板子
接线方式::---PCF85741---: :---RASP---: GND-------------06 GROUND VCC-------------02 5V SDA-------------03 SDA1
好了,完成上面的接线工作,就可以通电了。
连接电源打开树莓派,显示屏就会亮,同时在第一行显示一排黑方块。如果看不到黑方块或黑方块不明显,请调节可调电阻,直到黑方块清晰显示。如果调节可调电阻还看不到方块,则可能你的连接有问题了,请检查连接,包括检查显示屏的引脚有没有虚焊。
下面我们需要修改树莓派的配置文件使能I2C,通过nano编辑器修改raspi-blacklist.conf 文件内容
pi@raspberrypi ~ $ sudo nano /etc/modprobe.d/raspi-blacklist.conf
写入保存
# blacklist spi and i2c by default (many users don't need them)blacklist spi-bcm2708blacklist i2c-bcm2708
打开/etc/modules ,在文件结尾加上 i2c-dev、i2c-bcm2708
pi@raspberrypi ~ $ sudo nano /etc/modules
写入保存
# /etc/modules: kernel modules to load at boot time.## This file contains the names of kernel modules that should be loaded# at boot time, one per line. Lines beginning with "#" are ignored.# Parameters can be specified after the module name.snd-bcm2835i2c-bcm2708i2c-dev
更新一次包列表
pi@raspberrypi ~ $ sudo apt-get update
安装 i2c-tools工具与python-smbus
pi@raspberrypi ~ $ sudo apt-get install i2c-tools python-smbus
之后reboot,重启后千万记得打开i2c接口
否则无法找到i2c地址,出现如下错误:
Could not open file /dev/i2c-1' or
/dev/i2c/1’: No such file or directory
寻址:
pi@raspberrypi ~ $ sudo i2cdetect -y 1
完成!
测试代码:
#!/user/bin/env python import smbusimport timeimport sysimport LCD1602 as LCDimport logximport loggingif __name__ == '__main__': LCD.init_lcd() time.sleep(2) LCD.print_lcd(0,0,'NUPT bear BLight') LCD.print_lcd(1,1,'local time') logging.info('wait 2 seconds') LCD.turn_light(1) logging.info('turn on BLight') time.sleep(5) while True: nowtime = time.strftime('%m-%d %H:%M:%S',time.localtime(time.time())) hourtime = time.strftime('%H',time.localtime(time.time())) mintime = time.strftime('%M',time.localtime(time.time())) sectime = time.strftime('%S',time.localtime(time.time())) LCD.print_lcd(1,1,nowtime) if mintime == '59': if sectime == '00': LCD.turn_light(1) elif sectime == '59': LCD.turn_light(0) time.sleep(1)
资料来源:
- 百度贴吧《树莓派用I2c接口控制LCD1602,用Arduino的I2c转LCD1602的转接板》by:swubear
- 电子发烧友论坛《如何通过I2C总线来使用LCD1602液晶显示屏》by:wufan931111
0 0
- 【鼓捣树莓派】树莓派通过I2C总线连接LCD1602
- 树莓派通过I2C总线控制Arduino点亮LED灯
- I2C接口的Lcd1602在树莓派3上的应用
- 【鼓捣树莓派】动态网页控制lcd显示
- linux下通过i2c总线读写EEPROM
- I2c设备初始化方法--通过总线编号初始化i2c设备
- 树莓派(pi3)和Arduino之间用I2C总线通信
- I2C总线
- I2C总线
- I2C总线
- I2C总线
- i2c总线
- I2C总线
- I2C总线
- I2C总线
- I2C总线
- I2C总线
- I2C总线
- Tuleap ,一个用于软件项目管理的平台
- Eclipse导入已有的项目后项目报错的解决办法
- 127.0.0.1和0.0.0.0
- ios 关于Debug,ForBeta,Release 的那些小事。
- window下ionic创建WebAPP工程
- 【鼓捣树莓派】树莓派通过I2C总线连接LCD1602
- 读取文件的两种类型
- bzoj 2144 二分&lca 神题详解
- kafka介绍总结
- ajax
- Android中双击返回键退出应用
- js数组方法总结
- unix/linux more命令的实现
- 游戏玩家的留存率统计实现