“LCD-Clock-A”的版本间的差异
第86行: | 第86行: | ||
<div class="tabbertab" title="树莓派Zero使用教程"> | <div class="tabbertab" title="树莓派Zero使用教程"> | ||
− | + | ==安装库== | |
+ | {{RPI_C_lib}} | ||
+ | ===Python=== | ||
+ | <pre> | ||
+ | #python2 | ||
+ | sudo apt-get update | ||
+ | sudo apt-get install python-pip | ||
+ | sudo apt-get install python-pil | ||
+ | sudo apt-get install python-numpy | ||
+ | sudo pip install RPi.GPIO | ||
+ | sudo pip install spidev | ||
+ | #python3 | ||
+ | sudo apt-get update | ||
+ | sudo apt-get install python3-pip | ||
+ | sudo apt-get install python3-pil | ||
+ | sudo apt-get install python3-numpy | ||
+ | sudo pip3 install RPi.GPIO | ||
+ | sudo pip3 install spidev | ||
+ | </pre> | ||
+ | |||
+ | =下载测试程序= | ||
+ | 打开树莓派终端,执行:<br /> | ||
+ | <pre> | ||
+ | sudo apt-get install unzip -y | ||
+ | sudo wget https://www.waveshare.net/w/upload/8/8d/LCD_Module_RPI_code.zip | ||
+ | sudo unzip ./LCD_Module_RPI_code.zip -d ./LCD_Module_RPI_code/ | ||
+ | cd LCD_Module_RPI_code/RaspberryPi/ | ||
+ | </pre> | ||
+ | |||
+ | =运行测试程序= | ||
+ | 以下命令请在RaspberryPi下执行,否则不在索引不到目录;<br /> | ||
+ | ===C语言=== | ||
+ | *重新编译,编译过程可能需要几秒<br /> | ||
+ | <pre> | ||
+ | cd c | ||
+ | sudo make clean | ||
+ | sudo make -j 8 | ||
+ | </pre> | ||
+ | |||
+ | 所有屏幕的测试程序,可以直接通过输入对应的尺寸进行调用:<br /> | ||
+ | <pre> | ||
+ | sudo ./main 屏幕尺寸 | ||
+ | </pre> | ||
+ | 根据不同LCD,应当输入以下某一条指令:<br /> | ||
+ | <pre> | ||
+ | sudo ./main 0.96 | ||
+ | sudo ./main 1.14 | ||
+ | sudo ./main 1.28 | ||
+ | sudo ./main 1.3 | ||
+ | sudo ./main 1.54 | ||
+ | sudo ./main 1.8 | ||
+ | sudo ./main 2 | ||
+ | </pre> | ||
+ | |||
+ | ==python== | ||
+ | *进入python程序目录,并运行指令ls -l<br /> | ||
+ | <pre> | ||
+ | cd python/examples | ||
+ | ls -l | ||
+ | </pre> | ||
+ | [[File:LCD_rpi_python_examples.png|1000px]]<br /> | ||
+ | 可以查看到所有屏幕的测试程序,按照尺寸分类:<br /> | ||
+ | |||
+ | <table> | ||
+ | <tr> | ||
+ | <td>0inch96_LCD_test.py </td> | ||
+ | <td>0.96inch LCD测试程序</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>1inch14_LCD_test.py</td> | ||
+ | <td>1.14inch LCD测试程序</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>1inch28_LCD_test.py</td> | ||
+ | <td>1.28inch LCD测试程序</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>1inch3_LCD_test.py</td> | ||
+ | <td>1.3inch LCD测试程序</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>1inch54_LCD_test.py</td> | ||
+ | <td>1.54inchLCD测试程序</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>1inch8_LCD_test.py</td> | ||
+ | <td>1.8inch LCD测试程序</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>2inch_LCD_test.py</td> | ||
+ | <td>2inch LCD测试程序</td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | *运行对应屏幕的程序即可,程序支持python2/3<br /> | ||
+ | <pre> | ||
+ | # python2 | ||
+ | sudo python 0inch96_LCD_test.py | ||
+ | sudo python 1inch14_LCD_test.py | ||
+ | sudo python 1inch28_LCD_test.py | ||
+ | sudo python 1inch3_LCD_test.py | ||
+ | sudo python 1inch54_LCD_test.py | ||
+ | sudo python 1inch8_LCD_test.py | ||
+ | sudo python 2inch_LCD_test.py | ||
+ | # python3 | ||
+ | sudo python3 0inch96_LCD_test.py | ||
+ | sudo python3 1inch14_LCD_test.py | ||
+ | sudo python3 1inch28_LCD_test.py | ||
+ | sudo python3 1inch3_LCD_test.py | ||
+ | sudo python3 1inch54_LCD_test.py | ||
+ | sudo python3 1inch8_LCD_test.py | ||
+ | sudo python3 2inch_LCD_test.py | ||
+ | </pre> | ||
+ | |||
+ | =FBCP移植= | ||
+ | Framebuffer 是用一个视频输出设备从包含完整的帧数据的一个内存缓冲区中来驱动一个视频显示设备。简单的来说,就是使用一个内存区来存储显示内容,改变内存的数据就可以改变显示的内容。<br /> | ||
+ | 在 github 上有一个开源工程:fbcp-ili9341,该工程相比其他类fbcp工程,利用了局部刷新和DMA实现高达60fps的速度<br /> | ||
+ | ===下载驱动=== | ||
+ | <pre> | ||
+ | sudo apt-get install cmake -y | ||
+ | cd ~ | ||
+ | wget https://www.waveshare.net/w/upload/1/18/Waveshare_fbcp.zip | ||
+ | unzip Waveshare_fbcp.zip | ||
+ | cd Waveshare_fbcp/ | ||
+ | sudo chmod +x ./shell/* | ||
+ | </pre> | ||
+ | |||
+ | ===方法一:使用脚本(推荐)=== | ||
+ | 这里我们编写了几个脚本,可以让用户快速使用fbcp,可以根据自己的屏幕运行对应指令<br /> | ||
+ | 如果使用脚本,并且不需要修改则可以忽略下文的方法二。<br /> | ||
+ | <font color="#FF0000">注:脚本会替换对应/boot/config.txt和/etc/rc.local并重启,如果用户如有需,请提前备份有关文件</font> <br /> | ||
+ | <pre> | ||
+ | #0.96inch LCD Module | ||
+ | sudo ./shell/waveshare-0inch96 | ||
+ | #1.14inch LCD Module | ||
+ | sudo ./shell/waveshare-1inch14 | ||
+ | #1.3inch LCD Module | ||
+ | sudo ./shell/waveshare-1inch3 | ||
+ | #1.44inch LCD Module | ||
+ | sudo ./shell/waveshare-1inch44 | ||
+ | #1.54inch LCD Module | ||
+ | sudo ./shell/waveshare-1inch54 | ||
+ | #1.8inch LCD Module | ||
+ | sudo ./shell/waveshare-1inch8 | ||
+ | #2inch LCD Module | ||
+ | sudo ./shell/waveshare-2inch | ||
+ | #2.4inch LCD Module | ||
+ | sudo ./shell/waveshare-2inch4 | ||
+ | </pre> | ||
+ | ===方法二:手动配置=== | ||
+ | |||
+ | ====环境配置==== | ||
+ | 树莓派的vc4-kms-v3d会导致fbcp失效,所以我们需要在安装在fbcp之前关闭vc4-kms-v3d | ||
+ | <pre> | ||
+ | sudo nano /boot/config.txt | ||
+ | </pre> | ||
+ | 屏蔽下图对应的语句即可<br /> | ||
+ | [[file:FBCP_CLOSE.jpg|900px]]<br /> | ||
+ | 随后需要进行重启<br /> | ||
+ | <pre> | ||
+ | sudo reboot | ||
+ | </pre> | ||
+ | |||
+ | ====编译与运行==== | ||
+ | <pre> | ||
+ | mkdir build | ||
+ | cd build | ||
+ | cmake [options] .. | ||
+ | sudo make -j | ||
+ | sudo ./fbcp | ||
+ | </pre> | ||
+ | 根据你使用的LCD Module自行替换,上文中cmake [options] .. | ||
+ | <pre> | ||
+ | #0.96inch LCD Module | ||
+ | sudo cmake -DSPI_BUS_CLOCK_DIVISOR=20 -DWAVESHARE_0INCH96_LCD=ON -DBACKLIGHT_CONTROL=ON -DSTATISTICS=0 .. | ||
+ | #1.14inch LCD Module | ||
+ | sudo cmake -DSPI_BUS_CLOCK_DIVISOR=20 -DWAVESHARE_1INCH14_LCD=ON -DBACKLIGHT_CONTROL=ON -DSTATISTICS=0 .. | ||
+ | #1.3inch LCD Module | ||
+ | sudo cmake -DSPI_BUS_CLOCK_DIVISOR=20 -DWAVESHARE_1INCH3_LCD=ON -DBACKLIGHT_CONTROL=ON -DSTATISTICS=0 .. | ||
+ | #1.54inch LCD Module | ||
+ | sudo cmake -DSPI_BUS_CLOCK_DIVISOR=20 -DWAVESHARE_1INCH54_LCD=ON -DBACKLIGHT_CONTROL=ON -DSTATISTICS=0 .. | ||
+ | #1.8inch LCD Module | ||
+ | sudo cmake -DSPI_BUS_CLOCK_DIVISOR=20 -DWAVESHARE_1INCH8_LCD=ON -DBACKLIGHT_CONTROL=ON -DSTATISTICS=0 .. | ||
+ | #2inch LCD Module | ||
+ | sudo cmake -DSPI_BUS_CLOCK_DIVISOR=20 -DWAVESHARE_2INCH_LCD=ON -DBACKLIGHT_CONTROL=ON -DSTATISTICS=0 .. | ||
+ | #2.4inch LCD Module | ||
+ | sudo cmake -DSPI_BUS_CLOCK_DIVISOR=20 -DWAVESHARE_2INCH4_LCD=ON -DBACKLIGHT_CONTROL=ON -DSTATISTICS=0 .. | ||
+ | </pre> | ||
+ | |||
+ | ====设置开机自启动==== | ||
+ | <pre> | ||
+ | sudo cp ~/Waveshare_fbcp/build/fbcp /usr/local/bin/fbcp | ||
+ | sudo nano /etc/rc.local | ||
+ | </pre> | ||
+ | 在 exit 0 前面添加 fbcp&。注意一定要添加"&" 后台运行,否则可能会出现系统不能启动的情况。<br /> | ||
+ | [[file:1in3_lcd_fb5.png|900px]]<br /> | ||
+ | |||
+ | ====设置用户界面显示尺寸==== | ||
+ | 在/boot/config.txt 文件中设置用户界面显示尺寸。<br /> | ||
+ | <pre> | ||
+ | sudo nano /boot/config.txt | ||
+ | </pre> | ||
+ | 在config.txt文件中添加分辨率的配置语句。 | ||
+ | <pre> | ||
+ | hdmi_force_hotplug=1 | ||
+ | hdmi_cvt=[options] | ||
+ | hdmi_group=2 | ||
+ | hdmi_mode=1 | ||
+ | hdmi_mode=87 | ||
+ | display_rotate=0 | ||
+ | </pre> | ||
+ | 根据你使用的LCD,自行替换上文中的hdmi_cvt=[options] | ||
+ | <pre> | ||
+ | #2.4inchinch LCD Module & 2inchinch LCD Module | ||
+ | hdmi_cvt=640 480 60 1 0 0 0 | ||
+ | #1.8inch LCD Module | ||
+ | hdmi_cvt=400 300 60 1 0 0 0 | ||
+ | #1.3inch LCD Module & 1.54inch LCD Module | ||
+ | hdmi_cvt=300 300 60 1 0 0 0 | ||
+ | #1.14inch LCD Module | ||
+ | hdmi_cvt=300 170 60 1 0 0 0 | ||
+ | #0.96inch LCD Module | ||
+ | hdmi_cvt=300 150 60 1 0 0 0 | ||
+ | </pre> | ||
+ | |||
+ | 重启设备即可 | ||
+ | <pre> | ||
+ | sudo reboot | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | 启动树莓派后可以发现屏幕已经出现用户界面了。<br /> | ||
+ | [[file:2inch OLED01_fbcp.png|800px]] | ||
+ | |||
</div> | </div> | ||
<div class="tabbertab" title="树莓派PICO使用教程"> | <div class="tabbertab" title="树莓派PICO使用教程"> | ||
− | 待添加 | + | 待添加</div> |
</div> | </div> | ||
<div class="tabbertab" title="ESP32-S2-Pico-M使用教程"> | <div class="tabbertab" title="ESP32-S2-Pico-M使用教程"> | ||
− | 待添加 | + | 待添加</div> |
</div> | </div> | ||
2022年5月24日 (二) 22:05的版本
| ||||||||||||||||||||||||
| ||||||||||||||||||||||||
说明
产品概述
可编程式 RGB 拟辉光管时钟
支持 Raspberry Pi Pico 或 Zero 编程
你知道上个世纪的古老光辉:辉光管吗?
会因为辉光管停产、使用寿命短而烦恼吗?
这是一款 LCD 拟辉光管时钟,可以帮你复刻这种朋克风
产品参数
参数名称 | 参数 |
产品尺寸 | 200mm × 80mm × 34mm |
重量 | 430g |
电源 | 5V 2A |
接口 | Type-C |
LCD 屏幕 | 1.14 寸,135 × 240 分辨率 |
玻璃罩 | 石英材质玻璃 |
支持主控 | 带排针版本的 Raspberry Pi Pico 和 Raspberry Pi Zero / Zero 2 W,此产品默认不带主控,需要另外购买 |
资源简介
产品安装
- 第一步:先把主控(树莓派ZERO、pico、esp32-s2-pico)插入到1板背面,pico、esp32-s2-picode USB口朝外安装无需螺丝。树莓派的需要(2颗双通铜柱+4颗银白色螺丝)固定非接口这边的2个洞;
- 第2步:1到2上,需要注意1要先侧着把4个按键放进去,才能放的进,然后使用带纹的铜柱,先轻旋锁住对角对齐孔位,再锁剩余的,然后全部旋紧(4颗单头铜柱);
- 第3步:3装到2上,使用黑色螺丝,同理先轻旋锁住对角对齐孔位,再锁剩余的,然后全部旋紧(4颗黑色);
- 第4步,把LCD插入1板上,有按键的那一面为LCD的背面,然后放入玻璃罩,用银白色螺丝锁住(6*2颗银白色)
- 第5步:4盖在2上,使用黑色螺丝,先轻旋锁住对角对齐孔位,再锁剩余的,然后全部旋紧(4颗黑色);
安装库
如果使用bookworm系统,只能使用lgpio库,bcm2835跟wiringPi无法安装与使用
BCM2835
#打开树莓派终端,并运行以下指令 wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.71.tar.gz tar zxvf bcm2835-1.71.tar.gz cd bcm2835-1.71/ sudo ./configure && sudo make && sudo make check && sudo make install # 更多的可以参考官网:http://www.airspayce.com/mikem/bcm2835/
wiringPi
#打开树莓派终端,并运行以下指令 cd sudo apt-get install wiringpi #对于树莓派2019年5月之后的系统(早于之前的可不用执行),可能需要进行升级: wget https://project-downloads.drogon.net/wiringpi-latest.deb sudo dpkg -i wiringpi-latest.deb gpio -v # 运行gpio -v会出现2.52版本,如果没有出现说明安装出错 #Bullseye分支系统使用如下命令: git clone https://github.com/WiringPi/WiringPi cd WiringPi ./build gpio -v # 运行gpio -v会出现2.70版本,如果没有出现说明安装出错
lgpio
#打开树莓派终端,并运行以下指令 wget https://github.com/joan2937/lg/archive/master.zip unzip master.zip cd lg-master sudo make install # 更多的可以参考官网:https://github.com/gpiozero/lg
Python
#python2 sudo apt-get update sudo apt-get install python-pip sudo apt-get install python-pil sudo apt-get install python-numpy sudo pip install RPi.GPIO sudo pip install spidev #python3 sudo apt-get update sudo apt-get install python3-pip sudo apt-get install python3-pil sudo apt-get install python3-numpy sudo pip3 install RPi.GPIO sudo pip3 install spidev
下载测试程序
打开树莓派终端,执行:
sudo apt-get install unzip -y sudo wget https://www.waveshare.net/w/upload/8/8d/LCD_Module_RPI_code.zip sudo unzip ./LCD_Module_RPI_code.zip -d ./LCD_Module_RPI_code/ cd LCD_Module_RPI_code/RaspberryPi/
运行测试程序
以下命令请在RaspberryPi下执行,否则不在索引不到目录;
C语言
- 重新编译,编译过程可能需要几秒
cd c sudo make clean sudo make -j 8
所有屏幕的测试程序,可以直接通过输入对应的尺寸进行调用:
sudo ./main 屏幕尺寸
根据不同LCD,应当输入以下某一条指令:
sudo ./main 0.96 sudo ./main 1.14 sudo ./main 1.28 sudo ./main 1.3 sudo ./main 1.54 sudo ./main 1.8 sudo ./main 2
python
- 进入python程序目录,并运行指令ls -l
cd python/examples ls -l
0inch96_LCD_test.py | 0.96inch LCD测试程序 |
1inch14_LCD_test.py | 1.14inch LCD测试程序 |
1inch28_LCD_test.py | 1.28inch LCD测试程序 |
1inch3_LCD_test.py | 1.3inch LCD测试程序 |
1inch54_LCD_test.py | 1.54inchLCD测试程序 |
1inch8_LCD_test.py | 1.8inch LCD测试程序 |
2inch_LCD_test.py | 2inch LCD测试程序 |
- 运行对应屏幕的程序即可,程序支持python2/3
# python2 sudo python 0inch96_LCD_test.py sudo python 1inch14_LCD_test.py sudo python 1inch28_LCD_test.py sudo python 1inch3_LCD_test.py sudo python 1inch54_LCD_test.py sudo python 1inch8_LCD_test.py sudo python 2inch_LCD_test.py # python3 sudo python3 0inch96_LCD_test.py sudo python3 1inch14_LCD_test.py sudo python3 1inch28_LCD_test.py sudo python3 1inch3_LCD_test.py sudo python3 1inch54_LCD_test.py sudo python3 1inch8_LCD_test.py sudo python3 2inch_LCD_test.py
FBCP移植
Framebuffer 是用一个视频输出设备从包含完整的帧数据的一个内存缓冲区中来驱动一个视频显示设备。简单的来说,就是使用一个内存区来存储显示内容,改变内存的数据就可以改变显示的内容。
在 github 上有一个开源工程:fbcp-ili9341,该工程相比其他类fbcp工程,利用了局部刷新和DMA实现高达60fps的速度
下载驱动
sudo apt-get install cmake -y cd ~ wget https://www.waveshare.net/w/upload/1/18/Waveshare_fbcp.zip unzip Waveshare_fbcp.zip cd Waveshare_fbcp/ sudo chmod +x ./shell/*
方法一:使用脚本(推荐)
这里我们编写了几个脚本,可以让用户快速使用fbcp,可以根据自己的屏幕运行对应指令
如果使用脚本,并且不需要修改则可以忽略下文的方法二。
注:脚本会替换对应/boot/config.txt和/etc/rc.local并重启,如果用户如有需,请提前备份有关文件
#0.96inch LCD Module sudo ./shell/waveshare-0inch96 #1.14inch LCD Module sudo ./shell/waveshare-1inch14 #1.3inch LCD Module sudo ./shell/waveshare-1inch3 #1.44inch LCD Module sudo ./shell/waveshare-1inch44 #1.54inch LCD Module sudo ./shell/waveshare-1inch54 #1.8inch LCD Module sudo ./shell/waveshare-1inch8 #2inch LCD Module sudo ./shell/waveshare-2inch #2.4inch LCD Module sudo ./shell/waveshare-2inch4
方法二:手动配置
环境配置
树莓派的vc4-kms-v3d会导致fbcp失效,所以我们需要在安装在fbcp之前关闭vc4-kms-v3d
sudo nano /boot/config.txt
sudo reboot
编译与运行
mkdir build cd build cmake [options] .. sudo make -j sudo ./fbcp
根据你使用的LCD Module自行替换,上文中cmake [options] ..
#0.96inch LCD Module sudo cmake -DSPI_BUS_CLOCK_DIVISOR=20 -DWAVESHARE_0INCH96_LCD=ON -DBACKLIGHT_CONTROL=ON -DSTATISTICS=0 .. #1.14inch LCD Module sudo cmake -DSPI_BUS_CLOCK_DIVISOR=20 -DWAVESHARE_1INCH14_LCD=ON -DBACKLIGHT_CONTROL=ON -DSTATISTICS=0 .. #1.3inch LCD Module sudo cmake -DSPI_BUS_CLOCK_DIVISOR=20 -DWAVESHARE_1INCH3_LCD=ON -DBACKLIGHT_CONTROL=ON -DSTATISTICS=0 .. #1.54inch LCD Module sudo cmake -DSPI_BUS_CLOCK_DIVISOR=20 -DWAVESHARE_1INCH54_LCD=ON -DBACKLIGHT_CONTROL=ON -DSTATISTICS=0 .. #1.8inch LCD Module sudo cmake -DSPI_BUS_CLOCK_DIVISOR=20 -DWAVESHARE_1INCH8_LCD=ON -DBACKLIGHT_CONTROL=ON -DSTATISTICS=0 .. #2inch LCD Module sudo cmake -DSPI_BUS_CLOCK_DIVISOR=20 -DWAVESHARE_2INCH_LCD=ON -DBACKLIGHT_CONTROL=ON -DSTATISTICS=0 .. #2.4inch LCD Module sudo cmake -DSPI_BUS_CLOCK_DIVISOR=20 -DWAVESHARE_2INCH4_LCD=ON -DBACKLIGHT_CONTROL=ON -DSTATISTICS=0 ..
设置开机自启动
sudo cp ~/Waveshare_fbcp/build/fbcp /usr/local/bin/fbcp sudo nano /etc/rc.local
在 exit 0 前面添加 fbcp&。注意一定要添加"&" 后台运行,否则可能会出现系统不能启动的情况。
设置用户界面显示尺寸
在/boot/config.txt 文件中设置用户界面显示尺寸。
sudo nano /boot/config.txt
在config.txt文件中添加分辨率的配置语句。
hdmi_force_hotplug=1 hdmi_cvt=[options] hdmi_group=2 hdmi_mode=1 hdmi_mode=87 display_rotate=0
根据你使用的LCD,自行替换上文中的hdmi_cvt=[options]
#2.4inchinch LCD Module & 2inchinch LCD Module hdmi_cvt=640 480 60 1 0 0 0 #1.8inch LCD Module hdmi_cvt=400 300 60 1 0 0 0 #1.3inch LCD Module & 1.54inch LCD Module hdmi_cvt=300 300 60 1 0 0 0 #1.14inch LCD Module hdmi_cvt=300 170 60 1 0 0 0 #0.96inch LCD Module hdmi_cvt=300 150 60 1 0 0 0
重启设备即可
sudo reboot
资料
配套资料
文档
程序
软件
数据手册
开发软件
FAQ