功能引脚 | 描述 |
VCC | 3.3V/5V 电源正 |
GND | 电源地 |
SDA | I2C数据线 |
SCL | I2C时钟线 |
在终端执行:
- sudo raspi-config
- 选择 Interfacing Options -> I2C ->yes 启动 i2C 内核驱动
- sudo reboot
连接树莓派的时候,选择用4PIN排线连接,请参考下方的引脚对应表格
使用的是排针或者PH2.0 4PIN接口,需要对照以下表格连线
LCD | Raspberry Pi | |
BCM2835编码 | Board物理引脚序号 | |
VCC | 3.3V | 3.3V |
GND | GND | GND |
SDA | SDA.1 | 3 |
SCL | SCL.1 | 5 |
以LCD1602 RGB Module使用的是PH2.0 4PIN接口为例,对照上述表格连接在树莓派上即可: (请按照引脚定义表格连接,图中排线颜色仅供参考,以实际颜色为准。)
接入Jetson nano 如下图。
- #示例程序下载
- cd ~
- wget https://www.waveshare.net/w/upload/5/5b/LCD1602-RGB-Module-demo.zip
- cd ~/LCD1602-RGB-Module-demo/Raspberry
- sudo chmod 777 *
- sudo python Choose_Color.py #里面会有九种颜色的变化
- sudo python Discoloration.py #颜色逐渐变化程序
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
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
1. 按照python环境配置设置,使用树莓派桌面系统
2. 打开树莓派系统的Thonny IDE,将代码文件拉进IDE,并将RGB1602.py保存到Pico的文件系统里面(可参考下面的Window操作模块),如图所示
1. 下载解压示例程序到Windows桌面,参考Windows软件环境设置
2. 找到下载的程序下面的build文件下的LCD1602-RGB-Module-demo.uf2文件,按住Pico的BOOTSEL键,用MicroUSB线缆连接Pico的USB到PC,将uf2文件拖进Pico
3. 代码调试,将下载的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文件
这里还需要将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)
模块接口 | Arduino 功能引脚 |
VCC | 3.3V |
GND | GND |
SDA | SDA |
SCL | SCL |
实物连接图