存档4月 2020

LCD液晶显示屏滚动播放实验

#实验目的:通过代码控制实现LCD液晶显示屏内容滚动播放效果。
#接线效果如图:
接线示例
#实验代码:

#!/usr/bin/env python
#coding:utf-8

'''
from JiuJiang
树莓酱的操作实例
http:://www.suhmeijiang.com
'''

import time
from LCD1602 import LCD1602  ##引入LCD1602驱动类
lcd = LCD1602(0x27)      ##实例化 0x27为液晶显示器地址

##要输出的内容
listData = ["aaaaaa","bbbbbb", "ccccc", "dddddd", "eeeeee", "ffffff", "ggggggggg"]

allCount = len(listData)   ##计算数量
for i in range(0, allCount):
    line1 = listData[i]    ##第一行
    line2 = '' if i+1 > allCount-1 else listData[i+1]  ##判断第二行是否有值

    lcd.print_lcd(0, 0, line1)  ##第一行输出
    time.sleep(1)   ##第二行延迟 可去掉 然后两行同时显示
    lcd.print_lcd(0, 1, line2)  ##第二行输出
    time.sleep(1)   ##延迟1秒
    lcd.clear_lcd() ##清空屏幕
#实验效果:
1、执行代码 Python jiujiang.py;
2、可见第一行首先出现内容,然后隔一秒第二行出现内容;
3、一秒后,屏幕清空,然后第一行重复上次的第二行内容,以此类推,直到内容显示完成。
4、也可以去掉第一行和第二行之间的时间间隔,将出现同页面同时刷新的效果。

LCD液晶显示屏显示实验

#实验目的:通过实验展示LCD1602液晶显示屏+PCF8574T转接板如何通过I2C协议展示想要的文案。
#接线效果如图:
接线示例
#注:LCD1602液晶显示屏外接PCF8574T转接板来驱动,可以节省树莓派很多宝贵的IO口。
#实验代码:
执行代码
#驱动类可发送邮件至lee.chuke@foxmail.com获取

#!/usr/bin/env python
#coding:utf-8

'''
from JiuJiang
树莓酱的操作实例
http:://www.suhmeijiang.com
'''

import time
from LCD1602 import LCD1602  ##引入LCD1602驱动类
lcd = LCD1602(0x27)      ##实例化 0x27为液晶显示器地址

##内容输出
lcd.print_lcd(0, 0, "Shumeijiang.com") #前两个参数分别是x轴和y轴 即0坐标点开始 第一行第一列开始
lcd.print_lcd(0, 1, "test pi!")  ##第二行第一列开始
time.sleep(2)   ##延迟2秒
lcd.print_lcd(0, 1, "by Jiujiang")  ##第二行内容切换
time.sleep(2)   ##延迟2秒
lcd.clear_lcd() ##清空屏幕
#实验效果:
1、执行代码 Python jiujiang.py;
2、可见屏幕第一行显示“Shumeijiang.com”,同时第二行显示“test pi!”;
3、持续两秒钟后,第二行切换显示“by Jiujiang”,第一行内容不变;
4、持续两秒钟后,屏幕清空。
#视频效果如下:

命令行下I2C读写操作

#实验目的:了解命令行下I2C的操作方法。
1、查看已挂在设备:

i2cdetect -y 1
(其中-y表示命令行执行 1表示/dev/i2c-1)
可见0x27地址已挂载设备
2、打印出指定设备的所有数据

i2cdump -y 1  0x27
0x00到0xff的所有值
3、读取指定设备指定寄存器地址数据

i2cget -y 1  0x27  0x10
(0x27设备地址 0x10寄存器地址)
执行效果
4、设置指定设备指定寄存器地址

i2cset -y 1  0x27  0x10 0x11
(0x27设备地址 0x10寄存器地址 0x11要设置的值)
#其他
1、安装I2C可执行命令

apt-get install i2c-tools
2、打开I2C可参考文章:http://www.shumeijiang.com/2019/12/08/基于命令行打开i2c协议支持