模板: LCD1602RGB for picouse

来自Waveshare Wiki
跳转至: 导航搜索

环境设置

1. 树莓派环境设置请点击查阅链接
2. Windows环境设置请点击查阅链接

硬件连接

Pico连接引脚对应关系
模块接口 Pico 功能引脚
VCC 3.3V
GND GND
SDA GP4
SCL GP5

实物连接图如下

LCD1602 RGB Module006.jpg

树莓派

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操作模块),如图所示
Pico-10DOF-IMU005.jpg

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文件

LCD1602 RGB Module010.png

python

LCD1602 RGB Module004.png
这里还需要将RGB1602.py保存到PICO中去,选中RGB1602.py,将其另存为Raspberry pi pico ,命名RGB1602.py。
LCD1602 RGB Module005.png
最后在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)