模板: LCD1602RGB for picouse
环境设置
1. 树莓派环境设置请点击查阅链接
2. Windows环境设置请点击查阅链接
硬件连接
模块接口 | Pico 功能引脚 |
VCC | 3.3V |
GND | GND |
SDA | GP4 |
SCL | GP5 |
实物连接图如下
树莓派
1. 使用SSH登陆树莓派终端或使用屏幕时同时按下Ctrl+Alt+T打开终端
2. 下载解压程序到Pico C/C++ SDK目录下,还未安装SDK用户参考教程
#注意自己目录,SDK安装教程默认安装目录为~/pico/,如若用户自定义其它目录,自行更改 wget -P ~/pico https://www.waveshare.net/w/upload/5/5b/LCD1602-RGB-Module-demo.zip cd ~/pico unzip LCD1602-RGB-Module-demo.zip
c
1. 按住Pico的BOOTSEL使用MicroUSB线缆连接Pico到树莓派的USB后松开
2. 编译运行LCD1602-RGB-Module-demo的Pico c示例程序
cd ~/pico/LCD1602-RGB-Module-demo/Pico/c/build/ cmake .. make sudo mount /dev/sda1 /mnt/pico && sudo cp LCD1602_RGB_Module_demo.uf2 /mnt/pico/ && sudo sync && sudo umount /mnt/pico && sleep 2
python
1. 按照python环境配置设置,使用树莓派桌面系统
2. 打开树莓派系统的Thonny IDE,将代码文件拉进IDE,并将RGB1602.py保存到Pico的文件系统里面(可参考下面的Window操作模块),如图所示
Windows
c
1. 下载解压示例程序到Windows桌面,参考Windows软件环境设置
2. 找到下载的程序下面的build文件下的LCD1602-RGB-Module-demo.uf2文件,按住Pico的BOOTSEL键,用MicroUSB线缆连接Pico的USB到PC,将uf2文件拖进Pico
3. 代码调试,将Pico/c中的LCD1602-RGB-Module-demo文件夹复制到你的pico-examples文件目录下,好需要修改一下pico-example目录下的CMakelists.txt配置文件如下图所示,打开Visual Studio Code,打开你的pico-examples文件夹,选择LCD1602_RGB_Module_demo,点击生成后可以在build文件夹下找到LCD1602_RGB_Module_demo.uf2文件
python
- 下载解压示例程序到Windows桌面,参考Windows软件环境设置
- 将下载的示例程序在Thonnty当中打开,如下图所示。
这里还需要将RGB1602.py保存到PICO中去,选中RGB1602.py,将其另存为Raspberry pi pico ,命名RGB1602.py。
最后在Choose_Color.py 或 Discoloration.py下运行程序即可。
- 代码解析
Choose_Color.py
#定义颜色 rgb9 = (0,255,0) #青色’ lcd.setCursor(0, 0) #设置游标位置 # print the number of seconds since reset: lcd.printout("Waveshare") #写入字符 lcd.setCursor(0, 1) #设置游标位置到第二行第零列 lcd.printout("Hello,World!")#写入字符 lcd.setRGB(rgb1[0],rgb1[1],rgb1[2]); #设置背光
Discoloration.py
t=0 while True: r = int((abs(math.sin(3.14*t/180)))*255); #RGB随着时间的变化而变化 g = int((abs(math.sin(3.14*(t+60)/180)))*255); b = int((abs(math.sin(3.14*(t+120)/180)))*255); t = t + 3; lcd.setRGB(r,g,b);#重新设置RGB的值 # set the cursor to column 0, line 1 lcd.setCursor(0, 0) #定位到第一行第零列 # print the number of seconds since reset: lcd.printout("Waveshare")#写入字符 lcd.setCursor(0, 1) #定位到第二行第零列 lcd.printout("Hello,World!")#写入字符 time.sleep(0.3)