“LCD-Clock-A”的版本间的差异

来自Waveshare Wiki
跳转至: 导航搜索
第77行: 第77行:
 
==产品安装==
 
==产品安装==
 
[[file:LCD-Clock-A-WIKI-2.png|730px]]<br />
 
[[file:LCD-Clock-A-WIKI-2.png|730px]]<br />
# <font color="#FF0000"> 注意事项(请先下载代码到主控,并测试通过再进行组装)<br />
+
<font color="#FF0000"> 注意事项(请先下载代码到主控,并测试通过再进行组装)</font> <br />
 
*第一步:先把主控(树莓派ZERO、pico、esp32-s2-pico)插入到1板背面,pico、esp32-s2-picode USB口朝外安装无需螺丝。树莓派的需要(2颗双通铜柱+4颗银白色螺丝)固定非接口这边的2个洞;
 
*第一步:先把主控(树莓派ZERO、pico、esp32-s2-pico)插入到1板背面,pico、esp32-s2-picode USB口朝外安装无需螺丝。树莓派的需要(2颗双通铜柱+4颗银白色螺丝)固定非接口这边的2个洞;
 
*第2步:1到2上,需要注意1要先侧着把4个按键放进去,才能放的进,然后使用带纹的铜柱,先轻旋锁住对角对齐孔位,再锁剩余的,然后全部旋紧(4颗单头铜柱);
 
*第2步:1到2上,需要注意1要先侧着把4个按键放进去,才能放的进,然后使用带纹的铜柱,先轻旋锁住对角对齐孔位,再锁剩余的,然后全部旋紧(4颗单头铜柱);
第87行: 第87行:
 
<div class="tabbertab" title="树莓派Zero使用教程">
 
<div class="tabbertab" title="树莓派Zero使用教程">
 
<h1>树莓派Zero使用教程</h1>
 
<h1>树莓派Zero使用教程</h1>
 +
<font color="#FF0000"> 请先测试代码,再完成组装。</font> <br />
  
请先勿安装ZEro到
 
 
==安装库==
 
==安装库==
 
===Python===
 
===Python===
第112行: 第112行:
 
<pre>
 
<pre>
 
sudo apt-get install unzip -y
 
sudo apt-get install unzip -y
sudo wget https://www.waveshare.net/w/upload/8/8d/LCD_Module_RPI_code.zip
+
sudo wget https://www.waveshare.net/w/upload/a/ae/LCD-Clock-A-Code.zip
sudo unzip ./LCD_Module_RPI_code.zip -d ./LCD_Module_RPI_code/
+
sudo unzip ./LCD-Clock-A-Code.zip -d ./LCD-Clock-A-Code/
cd LCD_Module_RPI_code/RaspberryPi/
+
cd LCD-Clock-A-Code/rpi/
 +
 
 
</pre>
 
</pre>
  
 
=运行测试程序=
 
=运行测试程序=
以下命令请在RaspberryPi下执行,否则不在索引不到目录;<br />
+
请保持在上一步的目录下,为了正常显示时间,请按照下面的操作进行:<br />
===C语言===
+
*第一次配置,程序默认的时间为系统时间写入RTC内,因此运行第一次把时间写入,如时间不对可调整系统设置为正确时间或运行时通过菜单调节<br />
*重新编译,编译过程可能需要几秒<br />
 
<pre>
 
cd c
 
sudo make clean
 
sudo make -j 8
 
</pre>
 
 
 
所有屏幕的测试程序,可以直接通过输入对应的尺寸进行调用:<br />
 
<pre>
 
sudo ./main 屏幕尺寸
 
</pre>
 
根据不同LCD,应当输入以下某一条指令:<br />
 
 
<pre>
 
<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
 
ls -l
 +
sudo python main.py
 
</pre>
 
</pre>
[[File:LCD_rpi_python_examples.png|1000px]]<br />
+
*打开 main.py,将第四十二行代码注释:
可以查看到所有屏幕的测试程序,按照尺寸分类:<br />
 
 
 
<table>
 
<tr>
 
<td>0inch96_LCD_test.py&nbsp;&nbsp;&nbsp;&nbsp;</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>
 
<pre>
#0.96inch LCD Module
+
sudo nano +42 main.py
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>
 +
然后输入#号注释,按ctrl+x 然后按Y,回车就注释了。<br />
  
====设置开机自启动====
+
=设置开机自启动=
 
<pre>
 
<pre>
 
sudo cp ~/Waveshare_fbcp/build/fbcp /usr/local/bin/fbcp
 
sudo cp ~/Waveshare_fbcp/build/fbcp /usr/local/bin/fbcp
第283行: 第138行:
 
在 exit 0 前面添加 fbcp&。注意一定要添加"&"  后台运行,否则可能会出现系统不能启动的情况。<br />
 
在 exit 0 前面添加 fbcp&。注意一定要添加"&"  后台运行,否则可能会出现系统不能启动的情况。<br />
 
[[file:1in3_lcd_fb5.png|900px]]<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>
 
  
 
重启设备即可
 
重启设备即可
第316行: 第143行:
 
sudo reboot
 
sudo reboot
 
</pre>
 
</pre>
 
  
 
启动树莓派后可以发现屏幕已经出现用户界面了。<br />
 
启动树莓派后可以发现屏幕已经出现用户界面了。<br />
 
[[file:2inch OLED01_fbcp.png|800px]]
 
[[file:2inch OLED01_fbcp.png|800px]]
 +
 +
=代码使用=
 +
==目录结构==
 +
[[file:LCD-Clock-A-WIKI-code1.png|730px]]<br />
 +
menupic/:菜单图片目录,内置白底和黑底2套菜单操作界面图片;
 +
numpic/:数字图片目录,内置4套数字图片,用于显示时间;
 +
main.py:主程序;
 +
BME280.py:温湿度以及压强传感器驱动;
 +
DS3231.py:RTC驱动;
 +
Font.ttc:字体文件,用于显示温湿度用;
 +
GPIOCFG.py:按键、蜂鸣器驱动;
 +
__pycache__:Python3生成的缓存目录,无意义;
 +
ST7789V.py:6个LCD驱动;
 +
WS2812.py:RGB灯驱动;
 +
 +
==自定义表盘==
 +
如您需要自定义表盘,请打开main.py<br />
 +
<pre>
 +
sudo nano +18 main.py
 +
</pre>
 +
此行为数字图片文件目录,您可以将其中/numpic/后的字母改成A,B,C,D四种,如您还有自定义的,请在/numpic/下新建目录E或者其他,代码此处也改成相关的;<br />
 +
同理自定义菜单也是一样的,改代码第19行<br />
 +
  
 
</div>
 
</div>

2022年5月24日 (二) 22:52的版本

LCD-Clock-A
{{{name2}}}
{{{name3}}}
功能简介
特性 无特性,不解释
显示尺寸 1.14英寸
分辨率 135×240
' 无特性,不解释
' 无特性,不解释
接口 SPI

说明

产品概述

可编程式 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,此产品默认不带主控,需要另外购买

资源简介

LCD-Clock-A-WIKI-1.png

产品安装

LCD-Clock-A-WIKI-2.png
注意事项(请先下载代码到主控,并测试通过再进行组装)

  • 第一步:先把主控(树莓派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颗黑色);

树莓派Zero使用教程

请先测试代码,再完成组装。

安装库

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 spidev
sudo pip install rpi_ws281x
#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 spidev
sudo pip3 install rpi_ws281x

下载测试程序

打开树莓派终端,执行:

sudo apt-get install unzip -y
sudo wget https://www.waveshare.net/w/upload/a/ae/LCD-Clock-A-Code.zip
sudo unzip ./LCD-Clock-A-Code.zip -d ./LCD-Clock-A-Code/
cd LCD-Clock-A-Code/rpi/

运行测试程序

请保持在上一步的目录下,为了正常显示时间,请按照下面的操作进行:

  • 第一次配置,程序默认的时间为系统时间写入RTC内,因此运行第一次把时间写入,如时间不对可调整系统设置为正确时间或运行时通过菜单调节
ls -l
sudo python main.py
  • 打开 main.py,将第四十二行代码注释:
sudo nano +42 main.py 

然后输入#号注释,按ctrl+x 然后按Y,回车就注释了。

设置开机自启动

sudo cp ~/Waveshare_fbcp/build/fbcp /usr/local/bin/fbcp
sudo nano /etc/rc.local

在 exit 0 前面添加 fbcp&。注意一定要添加"&" 后台运行,否则可能会出现系统不能启动的情况。
1in3 lcd fb5.png

重启设备即可

sudo reboot

启动树莓派后可以发现屏幕已经出现用户界面了。
2inch OLED01 fbcp.png

代码使用

目录结构

LCD-Clock-A-WIKI-code1.png
menupic/:菜单图片目录,内置白底和黑底2套菜单操作界面图片; numpic/:数字图片目录,内置4套数字图片,用于显示时间; main.py:主程序; BME280.py:温湿度以及压强传感器驱动; DS3231.py:RTC驱动; Font.ttc:字体文件,用于显示温湿度用; GPIOCFG.py:按键、蜂鸣器驱动; __pycache__:Python3生成的缓存目录,无意义; ST7789V.py:6个LCD驱动; WS2812.py:RGB灯驱动;

自定义表盘

如您需要自定义表盘,请打开main.py

sudo nano +18 main.py 

此行为数字图片文件目录,您可以将其中/numpic/后的字母改成A,B,C,D四种,如您还有自定义的,请在/numpic/下新建目录E或者其他,代码此处也改成相关的;
同理自定义菜单也是一样的,改代码第19行


待添加
待添加


FAQ


售后


联系人:彭工
EMAIL:2851966006@qq.com
电话:0755-83040712
QQ:2851966006
微信:扫下方二维码添加
Pqy.png

说明:进行售后服务前,请准备好客户信息(定货单位、定货人等),以供验证