0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

树莓派2.8英寸触摸屏显示器的使用

454398 来源:网络整理 作者:网络整理 2019-11-27 09:47 次阅读

概述

树莓派2.8英寸触摸屏显示器的使用

这不是Raspberry Pi最可爱的小显示器吗?它具有2.8英寸显示屏,具有320x240 16位彩色像素和电阻式触摸屏。该板使用Pi上的高速SPI接口,并且可以将迷你显示屏用作控制台,X窗口端口,显示图像或视频等。最棒的是,它插在顶部!

原始PiTFT

原始版本的PID 1601可以很好地适合Pi型号A或B,但是只要您不使用Pi Zero,Pi 2,Pi 3或Pi 1型号A +或B +,也可以完美地工作请注意PCB会将USB端口悬空5mm

PiTFT Plus

更新的PiTFT已进行更新,以完美地适合Pi Zero,Pi 3,Pi 2或Model A +,B +!(任何带有2x20连接器的Pi)不适用于带有2x13连接器的旧Pi 1

此设计使用硬件SPI引脚(SCK,MOSI,MISO,CE0,CE1)以及GPIO#25和#24。所有其他GPIO未使用。由于我们的空间很小,因此有4个用于连接到四个GPIO的可选超薄触觉开关的位置,如果要创建基本的用户界面,可以使用这些位置。例如,您可以使用一个作为电源开/关按钮。

我们将GPIO#23,#22,#21和#18带到四个开关位置!

为了使其超级易用:我们创建了一个自定义内核程序包基于Notro的awesomeframebuffer工作,因此您只需几个命令即可将其安装在现有Raspbian(命令性)映像上。

教程系列向您展示如何安装软件,以及如何校准触摸屏,splayvideos,显示图像(例如来自PiCam的图像等等)!

程序集

本教程页面适用于PiTFT,它是一个套件。如果您的PiTFT已经组装好,请跳过此步骤!

在开始检查之前,请确保您具有所需的部件:带有2.8“屏幕,超高母头和2x13 IDC插座的组装好的PiTFT板。请注意,这是正常的使屏幕“松散”-这样您就可以更轻松地将连接器焊接!

还要在背面检查TFT是否已连接以及弹性连接器是否已安装在板载FPC插槽中。

最简单的附加标题的方法是,如果您有Raspberry Pi作为“支架”-确保关闭电源并拔下电源!

将超高的母头插入如图所示,在Pi上的GPIO端口。确保其坐姿平整

将PiTFT屏蔽罩放在顶部,以便所有插针都穿过侧面的连接器。轻轻翻转TFT,使其偏向侧面,并且在焊接

加热烙铁,并抓住一些焊料。首先压焊其中一个角,同时按下板以使其平放。一旦完成一个或两个引脚,就可以继续焊接每个引脚。

在连接显示器之前,请检查所有引脚是否焊接良好,并且没有桥接,冷焊,短路或未焊接的引脚。

现在我们可以连接屏幕了。除去两条细胶带盖条。

将屏幕排列在白色轮廓上,确保刚焊接的接头和屏幕的金属面之间有一定空间。只要您不真正按下屏幕,就可以将其重新放置一次或两次。

一旦有了屏幕,就可以绝对不会碰到标题,您可以轻轻地按侧面以固定磁带。

如果保护性塑料盖仍在屏幕上,则可以从上方将其按在干净的桌子上。这样,您将真正安全地附加它!

如果要连接Adafruit补鞋匠或类似产品,可以在屏幕的底部上焊接可选的2x13 IDC,如下所示。这样可以使顶部保持清洁和平坦。所有26个引脚中的焊料

图片显示了2x13公头。此后,我们已经对该产品进行了更新,以包括一个IDC插座,因此更容易添加补鞋匠。两者都可以使用!

您可以连接26针IDC电缆,只需确保针1指示器位于此照片所示的右侧-PCB上也有#1标记!

轻松安装

PiTFT需要一些设备树支持和其他一些条件,才能使其成为一个不错的独立显示器。如果您只是想入门,请查看以下内容以获取易于安装的说明!

所有PiTFT使用相同的安装程序,您将在安装过程中选择并配置设置!

SD卡上安装Raspbian

您需要从Raspbian或Raspbian Lite开始。

最后一个确定可测试并能正常工作的已知版本是2018年3月13日(https://downloads.raspberrypi.org/raspbian/images/raspbian-2018-03-14/),来自https://downloads.raspberrypi.org/raspbian/images/

在发布新版本时,Raspbian经常会“破坏”东西,因此为了安全起见,如果您遇到问题,请尝试此版本!

安装脚本

此脚本将为您完成所有工作,并且安装设备树覆盖支持以及配置旋转和任何HDMI镜像。 PiTFT不再需要任何自定义内核或模块,因此您可以继续更新/升级Pi,它将与最新版本一起使用。

以下是要运行的命令。确保您的Pi具有网络访问权限,需要下载该软件!

下载:文件

复制代码

cd ~

wget https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/adafruit-pitft.sh

chmod +x adafruit-pitft.sh

sudo 。/adafruit-pitft.sh cd ~

wget https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/adafruit-pitft.sh

chmod +x adafruit-pitft.sh

sudo 。/adafruit-pitft.sh

PiTFT选择

运行后,将显示配置菜单。

对于带有电阻式触摸屏覆盖的2.4“,2.8”和3.2“ PiTFT,请选择#1

对于2.2“ PiTFT,选择# 2

对于2.8“电容式PiTFT选择#3

对于3.5” PiTFT,选择#4

旋转

接下来,系统会询问您是否要旋转担心如果您不确定要100%确定哪个,则以后可以随时通过重新运行脚本来更改它

这将需要几分钟的时间来安装软件并下载所有内容。..

配置显示内容的地方

您可以通过几种不同的方式设置u在PiTFT上,我们问 2 问题以弄清您想要的内容

PiTFT作为文本控制台(最适合Raspbian‘Lite’)

这是最简单的设置使用类型,如果您有简单的基于文本或pygame/SDL的功能,那就非常有用基于接口。如果您希望PiTFT充当文本控制台,您可以期望:

HDMI将被“停用”-HDMI输出上没有任何显示,只有黑屏

Pi上会出现登录提示

Pi是全部文本,而不是GUI(没有PIXEL桌面)

键盘和鼠标仅由PiTFT界面使用

具有帧缓冲功能的软件(例如用于显示图像的 fbi ,用于视频的 mplayer 或pygame软件等)出现在PiTFT上

OpenGL加速了软件不会出现在PiTFT 上(仅是未加速的帧缓冲区)

但是,非OpenGL加速的图形软件比使用HDMI镜像的速度要快一些(虽然速度不是更快,但您没有运行 fbcp ,它总是会使其运行得更快)

如果您要对问题是 1》

然后只需重新启动即可。重新启动后,您将在HDMI上看不到任何内容,但控制台将出现在PiTFT上。就是这样!

PiTFT作为HDMI镜像(最适合Raspbian Full/PIXEL)

此选项最容易理解:HDMI显示屏上出现的任何内容都会“镜像”到PiTFT。请注意,HDMI的分辨率要高得多,所以它不像PiPi那样可以将其变成1080p显示器。当您要运行OpenGL优化的软件,PIXEL桌面软件或其他任何软件时,这非常有用。缺点是比直接绘制到帧缓冲区要慢一些。您可能没有注意到它,但值得一提!

HDMI将被“激活”,但分辨率较低-您可以稍后更改,但它的分辨率最好为320x240(PiTFT 2.2“,2.4 “,2.8”和3.2“)或480x320(PiTFT 3.5”)

登录提示或GUI同时显示在HDMI和PiTFT上

键盘和鼠标是共享的,由于显示是镜像的

所有图形都同时显示在HDMI和PiTFT上,这要感谢 fbcp

是的问题Would you like the console to appear on the PiTFT display

PiTFT作为原始帧缓冲设备

对于习惯使用帧缓冲设备的高级用户,可以同时激活PiTFT和HDMI图形并显示不同

HDMI将被激活并像普通的Pi一样起作用

登录提示或GUI(PIXEL)出现在HDMI

PiTFT上黑色,上面什么也没出现

键板和鼠标供HDMI接口使用,但从理论上讲,可以通过编程

具有帧缓冲功能的软件(如 fbi )进行捕获并用于更改PiTFT上的图形图像,用于视频的 mplayer 或pygame软件等) (如果将其设置为显示为/dev/fb1 ,则可以出现在PiTFT上)

OpenGL加速软件永远不会出现在PiTFT 上(仅是非加速帧缓冲区)

如果需要,请说否到两个配置问题!

您可以随时更改根据您的需要设置其中一种配置后,您的想法!只需重新运行脚本

不受支持的完整图像

从历史上看,我们提供了Raspbian的完整“图像”。在Raspbian每隔几个月开始发布之前,此方法就行之有效。这些不再受支持,甚至无法在Pi 3B +上启动,因此我们建议使用上面的脚本。

有一个更大的“经典Jessie”映像,默认情况下会启动到X中,并且需要8G映像,它安装了很多软件。还有一个较小的“ Jessie Lite”可以引导到命令行,并且可以刻录到2G卡上!单击下面的下载并安装到新的SD卡中。解压缩并遵循经典的SD卡刻录教程

PiTFT 2.2“图像

基于Raspbian Jessie 2016/10/23的图像

基于Raspbian Jessie Lite 2016/10/23的图像

Raspbian Jessie 2016/03/25基于图像的图片

基于Raspbian Jessie Lite 2016/03/25的图像

基于Raspbian Jessie的图像2015/09/24

Raspbian Wheezy 2015/09基于/09的图片

PiTFT 2.4“/2.8”/3.2“电阻图像

基于Raspbian Jessie 2016/9/23的图像

基于Raspbian Jessie Lite 2016/9/23的图像

基于Raspbian Jessie 2016/03/25的图像

基于Raspbian Jessie Lite 2016/03/25的图像

基于Raspbian Jessie 2015/09/24的图像

基于Raspbian Wheezy 2015/09/09的图像

基于Raspbian 2014/06/20的图像

基于Raspbian 2014/09/09的图像

PiTFT 2.8“ Capa

基于Raspbian Jessie 2016-09-23的图像

基于Raspbian Jessie Lite 2016-09-23的图像

Raspbian Jessie 2016-基于03-25的图像

基于Raspbian Jessie Lite 2016-03-25的图像

基于Raspbian Jessie的图像2015/09/24基于图像

Raspbian Wheezy基于2015/09/24的图像

基于Raspbian的图像2014/9/18

基于Raspbian的基于图像2014/06/20的图像

来自Raspbian的图像2015/03/03

PiTFT 3.5“图像

基于Raspbian Jessie 2016/9/23的图像

基于Raspbian Jessie Lite 2016/9/23的图像

Raspbian Jessie 2016/03/25基于图像的图片

基于Raspbian Jessie的图像2016/03/25基于图像的图片

基于Raspbian Jessie的图像2015/09/24基于图像的图片

Raspbian Wheezy 2015/09/24基于24的图像

基于Raspbian 2014/09/09的图像

基于Raspbian的2015/03/12图像

电阻式触摸屏手动安装和校准

如果您抓住了我们的简易安装映像或使用安装程序脚本,则不需要此步骤,它已经完成!这仅适用于对如何配置和自定义触摸屏感到好奇的高级用户

i》 对于2.4“,2.8”,3.2“和3.5”电阻式PiTFT,此过程相同。不适用于电容式PiTFT!

设置触摸屏

现在屏幕运行良好,我们将照顾触摸屏。只需要做一些校准,但这一点都不困难。

在开始之前,我们将为触摸屏制定 udev 规则。这是因为设备的 eventX 名称会发生很大变化,并且很烦人,取决于您是否安装了键盘或其他鼠标来弄清设备的名称。

运行

sudo nano /etc/udev/rules.d/95-stmpe.rules

创建一个新的 udev 文件,并将以下行复制并粘贴到:

下载:文件

复制代码

SUBSYSTEM==“input”, ATTRS{name}==“stmpe-ts”, ENV{DEVNAME}==“*event*”, SYMLINK+=“input/touchscreen” SUBSYSTEM==“input”, ATTRS{name}==“stmpe-ts”, ENV{DEVNAME}==“*event*”, SYMLINK+=“input/touchscreen”

使用

删除并重新安装触摸屏》

sudo rmmod stmpe_ts; sudo modprobe stmpe_ts

然后输入 ls -l/dev/input/touchscreen

它应指向 eventX X是一个数字,由于其他键盘/鼠标/USB设备将占用一个事件插槽,因此该数字在不同的设置上将有所不同

我们可以使用一些工具来校准和调试触摸屏。使用

sudo apt-get install evtest tslib libts-bin

运行evtest

现在,您可以使用一些工具,例如

sudo evtest /dev/input/touchscreen

您可以实时查看触摸屏事件,请按触摸屏上的以查看报告。

AutoMagic Calibration脚本

如果旋转显示,则需要重新校准触摸屏以使其适应新的屏幕方向。您可以在下一部分中手动运行校准过程,或者可以重新运行安装程序脚本并选择新的旋转方式:

尝试使用此默认校准脚本轻松校准触摸屏显示。请注意,校准值可能并不完全适合您的显示,但对于大多数需求,它们应该足够接近。如果需要最准确的触摸屏校准,请按照下一部分中的步骤手动校准触摸屏。

手动校准

如果“自动”校准技术不适合您,或者您需要其他一些需要仔细校准的设置,则可以“手动”

您将只需要校准一次屏幕,而不必做更多的事情。首先,通过按照屏幕上的指示进行操作

sudo TSLIB_FBDEVICE=/dev/fb1 TSLIB_TSDEVICE=/dev/input/touchscreen ts_calibrate

在命令行上进行校准,然后触摸每个点。建议使用手写笔,以使您获得精确的触摸效果。

您应该看到五个十字线目标。如果看到的信号不足,则触摸屏可能会为一次触摸生成多个信号,因此应尝试再次校准。

接下来您可以运行

sudo TSLIB_FBDEVICE=/dev/fb1 TSLIB_TSDEVICE=/dev/input/touchscreen ts_test

这将允许您对触摸屏进行绘图测试。如果您觉得屏幕不够精确,请返回并重新校准!

X校准

您也可以校准X输入系统,但必须使用另一个名为 xtcal 的程序(xinput_calibrator不再起作用)

如果屏幕上的校准不正确,则可以执行此操作您可以根据自己的喜好或在任何时候更改屏幕的 rotate = XX 模块设置。由于屏幕和触摸驱动程序是完全分开的,因此触摸屏不会自动旋转

使用以下命令下载并编译它:

下载:文件

复制代码

sudo apt-get install libxaw7-dev libxxf86vm-dev libxaw7-dev libxft-dev

git clone https://github.com/KurtJacobson/xtcal

cd xtcal

make sudo apt-get install libxaw7-dev libxxf86vm-dev libxaw7-dev libxft-dev

git clone https://github.com/KurtJacobson/xtcal

cd xtcal

make

校准时必须运行PIXEL(GUI)。

在启动校准器之前,您需要“重置”旧的校准数据,以便运行

DISPLAY=:0.0 xinput set-prop “stmpe-ts” ‘Coordinate Transformation Matrix’ 1 0 0 0 1 0 0 0 1

现在,您必须在运行X的同时运行校准器。您可以通过打开终端程序并运行 xtcal 命令来执行此操作(这在如此小的屏幕上很难做到)或者您可以做的是创建一个SSH/Terminal shell,然后从同一shell运行校准器,这需要以下命令:

DISPLAY=:0.0 xtcal/xtcal -geometry 640x480

请注意,geometry可能会有所不同!

如果您使用的是横向放置的2.4“/2.8”/3.2“ 320x240显示器,请使用640x480。如果您使用的是纵向模式,请使用480x640。

如果您使用的是带有横向的3.5英寸显示屏,请使用720x480,纵向模式是480x720

请按照屏幕上的指示进行操作

完成后,您将获得像这样的东西:

运行 sudo nano/usr/share/X11/xorg.conf.d/20-calibration.conf 并将9个数字复制到TransformationMatrix选项中,如下所示:

下载:文件

复制代码

Section “InputClass”

Identifier “STMPE Touchscreen Calibration”

MatchProduct “stmpe”

MatchDevicePath “/dev/input/event*”

Driver “libinput”

Option “TransformationMatrix” “-0.000087 1.094214 -0.028826 -1.091711 -0.004364 1.057821 0 0 1”

EndSection

Section “InputClass”

Identifier “STMPE Touchscreen Calibration”

MatchProduct “stmpe”

MatchDevicePath “/dev/input/event*”

Driver “libinput”

Option “TransformationMatrix” “-0.000087 1.094214 -0.028826 -1.091711 -0.004364 1.057821 0 0 1”

EndSection

或您所拥有的任何东西。

您将需要重新启动Pi以确认已完成

您的触摸屏是现在经过超级校准,好啦!

控制台配置

如果您使用了我们的安装程序脚本,则此步骤为不需要,它已经完成了!这仅适用于对如何配置和自定义控制台感到好奇的高级用户

您可以使用显示器做的一件有趣的事,就是将它作为您的主控制台而不是HDMI/TV输出。即使它很小,但使用好的字体仍可以得到20 x 40的文本。有关更多详细信息,请访问https://github.com/notro/fbtft/wiki/Boot-console

首先,我们将更新启动配置文件以使用TFT帧缓冲区/dev/fb1 代替HDMI/TV帧缓冲区/dev/fb0

sudo nano /boot/cmdline.txt

,您也可以通过将SD卡放入计算机并打开它来对其进行编辑文件。

在该行的末尾,找到显示rootwait的文本,然后在其后输入:

fbcon=map:10 fbcon=font:VGA8x8,然后保存文件。

在下一次启动时,它将调出控制台。

请注意,内核必须先加载显示驱动程序模块,然后才能在其上显示任何内容,因此自该模块以来,您将不会看到彩虹屏幕,NooBs提示或内核详细信息的大部分内容

我认为VGA8x8字体有点粗大,您可能想要12x6,这就是上图所示的内容。要更改字体,请运行 sudo dpkg-reconfigure console-setup 并依次选择Terminus 6x12

关闭控制台空白

您可能会注意到控制台在30分钟后变黑,这是一种“节能”或“屏幕保护程序”功能。

Raspbian Jessie

添加以下内容在最后一个sudo sh -c “TERM=linux setterm -blank 0 》/dev/tty0”

《之前的行上的/etc/rc.local

exit 0

strong》

Raspbian Wheezy

您可以通过编辑/etc来禁用此功能/kbd/config 并查找

BLANK_TIME=30

并将空白时间设置为0(将其关闭)

BLANK_TIME=0

用户空间工具

有时,PiTFT设备树和相关的内核程序包无法在不同的OS版本上运行,因此我们尝试了不能使用‘不必依赖自定义内核,而是可以在“ 用户空间”中使用。到目前为止,无论使用什么操作系统版本,它都可以正常工作!

需要权衡取舍。该代码仍处于粗糙状态,具有许多尚未实现的功能,并且性能略低于内核方法。即使对于游戏仿真(RetroPie等),它通常也足够了,因此,如果您在使用“经典”方法时遇到困难,请尝试一下。

目前,这需要一些Linux知识,编辑文件等。..

下载,测试和安装

PiTFT显示器使用 SPI 进行通信,因此请确保使用 raspi-config 实用程序启用了该功能:

下载:文件

复制代码

sudo raspi-config sudo raspi-config

菜单选项不时移动……在撰写本文时,SPI位于“接口选项”下。

然后使用 wget…

下载:文件

复制代码

wget https://github.com/adafruit/Adafruit_Userspace_PiTFT/archive/master.zip

unzip master.zip wget https://github.com/adafruit/Adafruit_Userspace_PiTFT/archive/master.zip

unzip master.zip

然后进行快速测试……

下载:文件

复制代码

cd Adafruit_Userspace_PiTFT-master

sudo 。/tftcp cd Adafruit_Userspace_PiTFT-master

sudo 。/tftcp

此时,PiTFT应该镜像Raspberry Pi HDMI输出的内容。文字和所有内容都是微观的,但我们只是在检查程序是否运行。如果没有,请确认文件/dev/spidev0.0 存在-启用SPI时应发生这种情况。仔细检查raspi-config并重新启动就不会造成伤害。

它可以运行吗?好。按Control + c终止程序,我们将其设置为在启动时自动运行。

首先,将 tftcp 可执行文件复制到/usr/local/bin :

下载:文件

复制代码

sudo cp tftcp /usr/local/bin sudo cp tftcp /usr/local/bin

然后以 root 身份编辑文件/etc/rc.local (您可以用偏好的编辑器替换为nano):

下载:文件

复制代码

sudo nano /etc/rc.local sudo nano /etc/rc.local

在最后的“ exit 0”行上方,插入以下行:

下载:文件

复制代码

/usr/local/bin/tftcp & /usr/local/bin/tftcp &

如果HDMI分辨率与PiTFT分辨率完全匹配,则屏幕看起来最佳,因此最后一步是为系统配置320x240视频:

下载:文件

复制代码

sudo nano /boot/config.txt sudo nano /boot/config.txt

在文件底部添加以下几行:

下载:文件

复制代码

disable_overscan=1

hdmi_force_hotplug=1

hdmi_group=2

hdmi_mode=87

hdmi_cvt=320 240 60 1 0 0 0 disable_overscan=1

hdmi_force_hotplug=1

hdmi_group=2

hdmi_mode=87

hdmi_cvt=320 240 60 1 0 0 0

可选:您也可以使用“ 640 480”代替上面的“ 320 240”。这恰好是PiTFT原始分辨率的两倍,而tftcp实用程序将对图像执行平滑的2:1过滤。不过,如果更大,图像将不那么清晰(文本变细,就像我们第一次测试时一样)。

现在重新启动,PiTFT应该在接近

电阻式触摸屏支持

这比 tftcp 实用程序更具实验性……它仅适用于电阻屏,并且尚无校准支持,但是如果您想尝试一下。..

首先要安装一些必备软件:

下载:文件

将复制代码

sudo apt-get update

sudo apt-get install python-pip python-smbus python-dev

sudo pip install evdev sudo apt-get update

sudo apt-get install python-pip python-smbus python-dev

sudo pip install evdev

“ cd”复制到较早下载软件的相同目录,然后尝试一下。..

下载:文件

复制代码

cd Adafruit_Userspace_PiTFT-master

sudo python touchmouse.py cd Adafruit_Userspace_PiTFT-master

sudo python touchmouse.py

无论您是处于X11还是处于文本控制台模式(例如Raspbian Lite),光标都应移动

如果看起来还可以,请按Ctrl + c停止它,我们将使用相同的步骤使它在启动时自动运行:

p》

下载:文件

复制代码

sudo cp touchmouse.py /usr/local/bin

sudo nano /etc/rc.local sudo cp touchmouse.py /usr/local/bin

sudo nano /etc/rc.local

在文件末尾的“ exit 0”上方插入以下行:

下载:文件

复制代码

/usr/bin/python /usr/local/bin/touchmouse.py & /usr/bin/python /usr/local/bin/touchmouse.py &

重新启动,PiTFT和触摸都应该现在处于活动状态。

帮助! (FAQ)

我的PiTFT曾经可以工作,现在却不行!

如果您弄混了/boot/config.txt或/etc/rc.local,则可能已删除或禁用了PiTFT工作所需的某些元素。尝试重新运行Easy Installer脚本!

我正在用PiTFT引导我的Pi,并且在引导过程中HDMI输出“锁定”了!

在此过程中,Pi似乎“停止”或“锁定”引导,但真正发生的是控制台正在从HDMI输出切换到PiTFT控制台输出。

检查您的PiTFT连接,尤其要确保您将PiTFT正确放置在Pi上,不要

我的PiTFT工作了一段时间,然后出现黑屏,在一个角上有一小段白色像素

听起来像您尝试将Pi配置为“直接启动到X”一样,即在启动时启动图形界面。默认情况下,这不起作用,因为Pi操作系统不希望使用PiTFT,因此它将引导至HDMI输出。参见下文,了解如何设置Pi以在PiTFT上引导至X

要“解决”此问题,您可以连接HDMI监视器,然后在终端窗口中运行 sudo raspi-config ,然后将Pi配置为引导至命令行而不是X!如果没有HDMI监视器,也可以尝试使用控制台电缆

我正在尝试运行startx,但我却遇到致命问题:找不到模块g2d_23 。

别忘了您必须删除Turbo文件!

sudo mv/usr/share/X11/xorg.conf.d/99-fbturbo.conf〜

为什么OMX-Player和Minecraft以及其他程序不会出现在PiTFT显示屏上?

某些程序对图形进行了优化,尤其是视频播放工具和一些其他程序,例如Minecraft。它们“直接”写入HDMI输出,而不能写入PiTFT,因此无法直接使它们工作。但是,您可以将输出发送到HDMI,然后使用 fbcp 将HDMI镜像到PiTFT。使用Easy Installer,选择 Mirror HDMI

为什么GPIO#21上的触觉按钮不起作用?

在一些较旧的PiTFT上,我们有一个标记为#21的按钮-这是该引脚的原始RasPi名称。 。如果您使用的是现在称为#27的V2(可能就是您!)。

我们出厂的所有PiTFT现在都有标有#21和#27

我想要更好的性能和更快的更新!

您可以通过编辑/boot/config.txt 并将 dtoverlay 选项行更改为:

来更改SPI频率(超频显示)。 》 dtoverlay = pitft28r,rotate = 90,speed = 62000000,fps = 25

或者您想要的速度,旋转和每秒帧数。但是,事情就是这样,Pi只支持SPI频率的固定数量。因此,稍微调整一下数字将无济于事。内核会将数字四舍五入到最接近的值。您将始终获得250MHz的频率除以偶数。这是该内核支持的唯一SPI频率

15,625,000(aka 16000000 = 16 MHz)

17,857,142(aka 18000000 = 18 MHz)

20,833,333( aka 21000000 = 21 MHz)

25,000,000(= 25 MHz)

31,250,000(aka 32000000 = 32MHz)

41,666,666(aka 42000000 = 42MHz)

62,500,000(又名62000000 = 62MHz)

因此,如果您以48000000的速度输入,实际上不会得到48MHz,实际上您只会得到大约42MHz,因为四舍五入。我们在32MHz下很好地测试了该显示器,我们建议这样做。但是您可以输入42MHz甚至尝试62MHz,它将更新得更快

您可以将fps(每秒帧数)从20调整为60,将频率提高到62MHz,以权衡性能和速度。每次编辑后重新启动,以确保正确加载设置。有一个折衷的选择,如果您要求更高的FPS,您将要加载更多的内核,因为它试图保持显示更新。

我如何拍摄小屏幕的屏幕截图?

我们使用拍摄了本教程的屏幕截图fbgra b

wget http://fbgrab.monells.se/fbgrab-1.2.tar.gz

tar -zxvf fbgrab * gz

cd fbgrab/

make

。/fbgrab screenshot.png

如何自动启动到PiTFT上的X窗口?

确保您的Pi启动到HDMI输出监视器上的图形PIXEL桌面,然后使用Easy Installe r,选择 Mirror HDMI

我的屏幕无法正常工作/无法正常工作/看起来很有趣

检查以确保扁平柔性电缆完全固定在连接器中,并且将“耳朵”推入保护它。参见图片,外观如下:

在第一次运行startx时,出现一个窗口,显示“ GDBus Error.org.Freedesktop Policy Kit1错误:无法确定主题的用户”

无论显示什么,第一次运行Raspberry Pi时都会发生这种情况。您只需重新启动X,它就不会再次出现。

我可以从触摸屏上单击鼠标右键吗?

是的!请参阅这篇文章:

https://forums.adafruit.com/viewtopic.php?f=47&t=77528&p=393280#p393322

我在使用STMPE电阻式触摸屏控制器时遇到困难

这是设备树叠加层的骇客,它可以强制使用不同的SPI模式,有时会有所帮助!

我的PiTFT的旋转/校准在X11中不起作用

X11(图形系统)已更改其获取触摸屏输入的方式,因此如果您旋转显示屏而未进行校准:

检查/usr/share/X11/xorg.conf.d中是否有一个名为10-evdev.conf的文件

如果您没有看到该文件

您需要先sudo apt-get install xserver-xorg-input-evdev,然后。..

如果您这样做,在同一目录中有一个40-libinput.conf,即使/一旦安装evdev,也必须将其删除,因为否则它将覆盖10-evdev.conf。

感谢您的大脑在论坛中获得提示!

播放视频

如何播放视频

您可以播放屏幕上有许多类型的视频,使用mplayer甚至不需要运行X,并且可以编写电影脚本以使用Python播放。我们将向您展示如何立即播放一个视频。

要演示,我们将使用mp4的Big Buck Bunny播放320像素宽的屏幕。下面我们向您展示如何创建/调整视频大小,但是为了使操作变得简单,只需使用以下内容下载我们的版本:

wget http://adafruit-download.s3.amazonaws.com/bigbuckbunny320p.mp4

视频为30MB,如果您还没有扩展SD卡,这将是很多。在执行此操作之前,请运行sudo raspi-config扩展SD卡,以免空间不足!

如果没有 mplayer ,然后运行

sudo apt-get update

sudo apt-get install mplayer

进行安装。

好,现在您只需要运行:

sudo SDL_VIDEODRIVER=fbcon SDL_FBDEV=/dev/fb1 mplayer -vo sdl -framedrop bigbuckbunny320p.mp4

如果您的视频尺寸不足320宽,则可能需要在-zoom之后添加-framedrop,以便调整大小-请注意,这对Pi来说很累,因此可能会导致视频断断续续或同步错误!

转换/调整大小视频

可以在TFT板上播放完整长度的视频,但是由于屏幕很小而且Pi不能使用硬件加速功能来最佳播放视频,以将其缩小到320x240像素。 Pi可以更轻松地玩游戏,还可以节省大量的存储空间。在此演示中,我们将使用著名的Big Buck Bunny视频,该视频是创用CC,也很有趣!

您可以从上面的链接下载该视频,我们将使用720p AVI版本。

要进行转换,我们建议您使用HandBrake,它非常棒,并且是开源的,因此可以在所有操作系统上运行!从链接下载并安装。然后运行已安装的应用程序并从之前打开AVI文件。该应用程序将预先填写一堆有关它的信息。

在目标下,单击浏览。.. 以选择要保存的新MP4文件。然后在图片下将宽度更改为320(高度将自动计算)

单击开始开始转换,这需要一两分钟。

就是这样!您现在有一个较小的文件。将其复制到Pi

之前,请不要忘记在计算机上播放它以确保正确播放显示图像

您可以每天在屏幕上显示GIF,JPG,BMP等图像。为此,我们将安装 fbi ,它是帧缓冲区图像查看器(不要与FBI代理商混淆!)

sudo apt-get install fbi 将安装它

抢夺我们可爱的壁纸使用

wget http://adafruit-download.s3.amazonaws.com/adapiluv320x240.jpg

wget http://adafruit-download.s3.amazonaws.com/adapiluv480x320.png

对于320x240 PiTFT(2.2英寸,2.4英寸,2.8英寸或3.2英寸),使用

sudo fbi -T 2 -d /dev/fb1 -noverbose -a adapiluv320x240.jpg

或用于3.5英寸PiTFT:

sudo fbi -T 2 -d /dev/fb1 -noverbose -a adapiluv480x320.png

就是这样!

使用FBCP

理想选择:Adafruit的PiTFT显示屏非常锋利。 Raspberry Pi上的小型复合屏幕通常需要一些视频缩放(导致模糊),而PiTFT使用GPIO标头,逐个像素数字控制以获得稳定的图像。尽管不是很多像素,但它对于复古游戏非常有效(显示器整齐地堆叠在板上,视频电缆没有侧面突起)。

缺点::此GPIO链接完全绕过Pi的视频硬件,包括图形加速器。许多游戏和仿真器依赖依靠GPU来获得性能提升。因此,传统上,PiTFT仅限于经过特殊编译的仿真器的子集,这些仿真器可以在没有GPU的情况下正常运行并运行良好。

解决方案:我们最新的PiTFT驱动程序以及一种名为 fbcp 的工具(帧缓冲区副本),仔细的系统配置以及(可选)功能更强大的Raspberry Pi 2开发板为更多游戏选择打开了大门。现有的仿真器程序包(例如RetroPie,具有高性能仿真器和端口的数十个emem),以前对PiTFT禁止使用,现在可以非常有效地运行!

单击此处转到我们的FBCP教程!

背光控制

2.8“ PiTFT的背光具有串联的4个LED,并且在任何时候都由晶体管控制,消耗约75mA电流。PiTFT 3.5”显示屏具有连续6个LED,我们使用升压转换器将Pi的5V电压提高到所有LED点亮所需的〜20V。

有时候您可能想节省一些打开电源并关闭背光灯。屏幕和触摸板仍然可以使用,您什么也看不到。我们使用STMPE610触摸屏控制器设计了该板,该控制器具有2个额外的GPIO,并捆绑了其中一个以控制背光。您可以使用命令行来控制背光。

默认情况下,背光处于打开状态。..但是您可以通过两种方式进行控制!

具有GPIO 18的PWM背光控制

如果要进行精确控制,可以使用GPIO 18上的PWM输出。有用于控制PWM的python代码,但您也可以只使用内核模块和shell命令。

您需要确保STMPE控件未处于“活动”状态,因为

sudo sh -c ’echo “1” 》 /sys/class/backlight/soc\:backlight/brightness‘

(或者如果您在背光对象之前运行旧内核,请尝试 sudo sh -c“ echo’in‘》/sys/class/gpio/gpio508/direction” )

确定,现在您可以使用WiringPi将GPIO#18引脚设置为PWM模式 gpio 命令

使用这些基本的shell命令,您可以将GPIO#18引脚设置为频率为1000 Hz的PWM模式,将输出设置为100(在1023中,所以暗!),将输出设置为1023(从1023年开始,几乎一直打开)和0(关闭)

下载:文件

复制代码

gpio -g mode 18 pwm

gpio pwmc 1000

gpio -g pwm 18 100

gpio -g pwm 18 1023

gpio -g pwm 18 0 gpio -g mode 18 pwm

gpio pwmc 1000

gpio -g pwm 18 100

gpio -g pwm 18 1023

gpio -g pwm 18 0

如果您不想让#18控制背光,只需剪下焊料跳线,这两个大金焊盘之间的微小痕迹就标记为 Lite#18

使用STMPE GPIO开启/关闭

另一种选择是使用触摸屏驱动程序创建的额外GPIO来开启和关闭

多亏了树莓派覆盖系统,该GPIO已经在名为/sys/class/backlight/soc:backlight/brightness

的文件中为您设置了关闭运行

sudo sh -c ’echo “0” 》 /sys/class/backlight/soc\:backlight/brightness‘

要重新打开,请运行

sudo sh -c ’echo “1” 》 /sys/class/backlight/soc\:backlight/brightness‘

对于较旧版本的PiTFT内核

在较旧版本的PiTFT内核/叠加层上,GPIO未绑定到背光设备。通过建立设备链接开始访问GPIO

sudo sh -c“ echo 508》/sys/class/gpio/export”

ls -l/sys/class/gpio

对于某些真正的旧版本,GPIO引脚为#252而不是#508,因此如果您运行的是2014年或更早的版本,请替换为

一旦您确认看到GPIO#508 ,那么您可以将其设置为输出,因为默认情况下它将输出0,所以将关闭显示器。

sudo sh -c“ echo’out”》/sys/class/gpio/gpio508/方向”

然后使用

sudo sh -c“ echo‘1’》/sys/class/gpio/gpio508重新打开显示/value“

或退出

sudo sh -c” echo‘0’》/sys/class/gpio/gpio508/value“

PiTFT PyGame提示

由于PiTFT屏幕很小,因此您可能需要编写自定义UI程序。 pygame是到目前为止最简单的方法。

Jeremy Blythe在这里有一个很好的入门指南。

但是,之前,请点击该链接您需要设置pygame以获得最佳兼容性:

安装pip和pygame

安装Pip: sudo apt-get安装python-pip

安装Pygame: sudo apt-get install python-pygame

(这需要一段时间)

确保您正在运行SDL 1.2

SDL 2.x和SDL 1.2.15-10与触摸屏存在一些严重的不兼容性。您可以通过运行脚本来强制执行SDL 1.2。 (感谢论坛上的heine!)

使用 sudo nano installsdl.sh

编辑一个新文件,并粘贴以下文本:

下载:文件

复制代码

#!/bin/bash

# enable wheezy package sources

echo “deb http://archive.raspbian.org/raspbian wheezy main

” 》 /etc/apt/sources.list.d/wheezy.list

# set stable as default package source (currently stretch)

echo “APT::Default-release \”stable\“;

” 》 /etc/apt/apt.conf.d/10defaultRelease

# set the priority for libsdl from wheezy higher then the stretch package

echo “Package: libsdl1.2debian

Pin: release n=stretch

Pin-Priority: -10

Package: libsdl1.2debian

Pin: release n=wheezy

Pin-Priority: 900

” 》 /etc/apt/preferences.d/libsdl

# install

apt-get update

apt-get -y --allow-downgrades install libsdl1.2debian/wheezy #!/bin/bash

# enable wheezy package sources

echo “deb http://archive.raspbian.org/raspbian wheezy main

” 》 /etc/apt/sources.list.d/wheezy.list

# set stable as default package source (currently stretch)

echo “APT::Default-release \”stable\“;

” 》 /etc/apt/apt.conf.d/10defaultRelease

# set the priority for libsdl from wheezy higher then the stretch package

echo “Package: libsdl1.2debian

Pin: release n=stretch

Pin-Priority: -10

Package: libsdl1.2debian

Pin: release n=wheezy

Pin-Priority: 900

” 》 /etc/apt/preferences.d/libsdl

# install

apt-get update

apt-get -y --allow-downgrades install libsdl1.2debian/wheezy

运行

sudo chmod + x installsdl.sh

sudo 。/installsdl.sh

它将强制安装SDL 1.2

确定现在,您可以继续使用pygame

在PyGame中使用电容式触摸屏

默认情况下,2.8“电容式触摸屏驱动程序可能无法使用pygame,但是这个方便的脚本显示了如何在python中捕获设备消息以创建UI

https://github.com/PrzemoF/pitft_touchscreen

这里的另一个选择

https://github.com/nift4/pigame

例如:

https://github.com/nift4/Raspberry-Pi-Testing

其他功能!

单击X中的图标。如果您要双击图标以在X中启动某些内容,则可能会感到烦恼,无法正常使用它。在LXDE中,您可以简单地进行设置,从而只需单击即可,而无需双击。

从LXDE启动文件管理器(抱歉,这些像素是灰度的,仍然想知道如何对帧缓冲区进行屏幕截图!)

然后在编辑下菜单,选择首选项

然后选择单击打开文件并关闭窗口(您需要将其拖到X按钮上

在触摸屏上单击鼠标右键

很显然,如果您有触摸屏,它无法分辨出您的手指按下表示所有的“单击”都是左键单击,但是如果要右键单击,您可以可以执行。

只需将以下几行添加到InputClass中的/etc/X11/xorg.conf.d/99-calibration.conf 之后的

Option “EmulateThirdButton” “1”

Option “EmulateThirdButtonTimeout” “750”

Option “EmulateThirdButtonMoveThreshold” “30”

因此,例如,您的文件如下所示:

Section “InputClass”

Identifier “calibration”

MatchProduct “stmpe-ts”

Option “Calibration” “3800 120 200 3900”

Option “SwapAxes” “1”

Option “EmulateThirdButton” “1”

Option “EmulateThirdButtonTimeout” “750”

Option “EmulateThirdButtonMoveThreshold” “30”

EndSection

按住触控笔750毫秒时,会模拟鼠标右键。

(Thdam adamaddin!)

手势输入

使用PiTFT触摸屏和xstroke,您可以通过在屏幕上绘制简单的字符手势来在应用程序中输入文本!观看下面的视频,以简短的演示和xstroke手势输入的概述:

安装很遗憾,xstroke几年来一直没有得到积极维护,因此没有二进制文件可以直接安装。但是,通过以下步骤可以轻松,轻松地编译该工具。这些安装步骤归功于ozzmaker.com上的mwilliams03。

首先通过在Pi上打开命令窗口并执行以下命令来安装一些依赖项:

下载:文件

复制代码

sudo apt-get -y install build-essential libxft-dev libxpm-dev libxtst-dev sudo apt-get -y install build-essential libxft-dev libxpm-dev libxtst-dev

现在下载,编译并安装xstroke通过执行:

下载:文件

复制代码

cd ~

wget http://mirror.egtvedt.no/avr32linux.org/twiki/pub/Main/XStroke/xstroke-0.6.tar.gz

tar xfv xstroke-0.6.tar.gz

cd xstroke-0.6

。/configure

sed -i ‘/^X_LIBS = / s/$/ -lXrender -lX11 -lXext -ldl/’ Makefile

make

sudo make install cd ~

wget http://mirror.egtvedt.no/avr32linux.org/twiki/pub/Main/XStroke/xstroke-0.6.tar.gz

tar xfv xstroke-0.6.tar.gz

cd xstroke-0.6

。/configure

sed -i ‘/^X_LIBS = / s/$/ -lXrender -lX11 -lXext -ldl/’ Makefile

make

sudo make install

如果以上命令成功执行,则应安装xstroke。如果看到错误消息,请仔细检查是否已安装上述依赖项,然后重试。

一旦安装了xstroke,您将需要添加几个菜单快捷方式来启动和停止xstroke。执行以下命令以安装这些快捷方式:

下载:文件

复制代码

wget https://github.com/adafruit/PiTFT_Extras/raw/master/xstroke.desktop

wget https://github.com/adafruit/PiTFT_Extras/raw/master/xstrokekill.desktop

sudo cp xstroke*.desktop /usr/share/applications/ wget https://github.com/adafruit/PiTFT_Extras/raw/master/xstroke.desktop

wget https://github.com/adafruit/PiTFT_Extras/raw/master/xstrokekill.desktop

sudo cp xstroke*.desktop /usr/share/applications/

用法要使用xstroke,我强烈建议您使用塑料手写笔代替手指。同时校准X-Windows的触摸屏,使您可以最好地控制光标。

请勿使用圆珠笔或尖锐的金属笔,因为它可能划伤或损坏触摸屏!

在PiTFT上启动X-Windows,然后按以下方式打开LXDE菜单:单击左下角的图标。向上滚动到顶部的附件菜单,注意新的 XStroke 和 XStroke Kill 命令。

点击 XStroke 菜单选项以启动xstroke。您应该看到一个小的铅笔图标出现在屏幕的右下方。铅笔图标表示xstroke正在运行,但是默认情况下它尚未寻找手势输入。

打开一个需要文本输入的应用程序,例如LXTerminal。要启用手势输入,请单击x笔画铅笔图标。您应该看到铅笔变成绿色,并且图标上方写有文本“ abc”。您可能需要单击几次图标才能使单击注册到正确的位置。

当xstroke寻找手势输入时,您可以将鼠标光标拖动到屏幕上的任意位置以发送特定的按键。这是您可以发送的可能手势的图片:

(上图为Carl Worth的信用)。

要从上图绘制手势,请按屏幕上的任意位置,从手势中的圆圈开始,然后按照手势模式箭头。绘制手势时,应该会看到一条蓝线,显示您所绘制的内容。到达箭头所指手势的结尾时,抬起笔。如果xstroke识别出手势,它将向适当的窗口发送适当的按键。尝试从上图中绘制一些字符以获得悬挂手势。

一些非常有用的手势是Backspace(删除字符),返回/输入和空格。要绘制退格手势,只需画一条从屏幕右侧到左侧的线即可。返回/输入的手势是从右上角到左下角的对角线。最后,空格是从左到右的直线。

请注意,当xstroke查找手势时,您可能无法像通常期望的那样单击或控制光标。要停止xstroke的手势识别,请再次小心地按xstroke铅笔图标,直到“ abc”文本消失。我发现此过程可能有点挑剔,因为图标很小,任何移动都将被解释为手势。轻触几次,然后单击几次。

如果您完全卡住并且无法通过单击图标禁用xstroke,请通过终端/SSH连接连接到Raspberry Pi,然后运行“ killall xstroke”(不带引号)以强制退出xstroke。停止xstroke的正常方法是导航到附件-》 XStroke Kill 命令,但是如果xstroke正在侦听手势输入,则可能无法执行此操作。 br》通过在PiTFT屏幕上写手势来使用xstroke来控制您的Pi吧!

下载

添加了所有TFT,触摸屏和其他插件的最新内核派生在github

“原始的2.8英寸TFT显示屏

GitHub上的原始2.8英寸PiTFT EagleCAD PCB文件

GitHub上的PiTFT Plus 2.8“ EagleCAD PCB文件

PiTFT Plus 3.2英寸EagleCAD GitHub上的PCB文件

在Adafruit Fritzing库中整理文件

2.8“ PiTFT Plus原理图和布局

用于Pi B +和Pi 2版本(2x20标头)

PiTFT 3.2“ Plus示意图

原始PiTFT 2.8“原理图和布局

对于原始Pi 1版本(2x13标头)


责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 显示器
    +关注

    关注

    21

    文章

    4696

    浏览量

    137420
  • 树莓派
    +关注

    关注

    113

    文章

    1633

    浏览量

    104494
收藏 人收藏

    评论

    相关推荐

    【开源作品】基于树莓4B、ESP32制作的桌面机器人、气象站、立方光!

    BME280 传感: 第 1 步:Inkplate6 彩色电子纸显示屏 这是一个6英寸的彩色电子纸显示板。我已经做了十多年了,我对电子墨水技术及其用途很着迷。如果您不熟悉它,电子
    发表于 03-05 16:52

    应用在多媒体触摸屏设备中的触摸感应芯片

    多媒体触摸屏设备是触摸液晶显示器结合现代PC机组成的具有触摸显示和计算机操作功能为一体的产品。
    的头像 发表于 12-19 09:41 202次阅读

    2-8 LCD 触摸屏触控与图片显示实验 #电路知识 #电工 #单片机 #硬核拆解

    lcd触摸屏
    创龙教仪
    发布于 :2023年10月11日 11:29:52

    树莓传感教程

    树莓传感教程
    发表于 10-07 07:13

    树莓3树莓4原理图分享

    提供了树莓3、树莓3B、树莓4版本的原理图
    发表于 09-27 07:58

    研华FPM-217:电阻触摸屏工业显示器,超薄设计,坚固耐用!

    在IIoT和工业4.0中,越来越多的客户需要将数据可视化,以帮助流程管理和制定决策。FPM-200系列是一款工业级显示器具有时尚、简单的线条和真平面触摸屏。FPM-200系列配备耐用的电阻式触摸和IP66等级铝镁合金前挡板,可应
    的头像 发表于 09-06 10:06 263次阅读

    工业级显示触摸屏

    工业级显示触摸屏是专为工业应用设计的显示屏,具有高度可靠性、耐用性和适应恶劣环境的特点。这些触摸屏通常应用于工业自动化设备、机器人、医疗仪器、交通控制系统等领域。 工业级
    的头像 发表于 08-29 16:10 2144次阅读

    工业用触摸屏显示器怎么用

    工业用触摸屏显示器怎么用
    的头像 发表于 07-31 17:30 696次阅读

    如何效正触摸屏时钟#硬声创作季

    触摸屏
    或许
    发布于 :2023年06月28日 07:50:34

    触摸屏工业显示器怎么样

    工业显示器
    的头像 发表于 05-29 17:14 781次阅读

    触摸屏控制器,使您的汽车显示器性能优于您的移动设备

    为了提高可读性、可用性和内饰设计,汽车制造商正在增加他们集成到车辆中的触摸屏显示器的尺寸。这些显示器必须符合与安装在汽车上的设备的冲击和振动有关的严格标准,这意味着它们需要更厚的盖板。此外,戴手套的
    的头像 发表于 04-21 09:17 1456次阅读

    将i.MX8M NANO EVK连接到10.5英寸AMOLED显示器提示无法连接并报错的原因?如何解决?

    我已将 i.MX8M NANO EVK 连接到 10.5 英寸 AMOLED 显示器显示器无法运行连接到显示器/桌面时成功运行的应用程序,并且出现“无法启动终止 psplash-qu
    发表于 04-20 08:48

    imx8qxp是否支持第3方触摸屏显示或需要修改任何其他配置以包括支持?

    我计划使用 LVDS 到 HDMI 接口在 android 上将基于 5 英寸圆形触摸的 LCD 显示器与 imx8qxp-mek 连接起来。imx8qxp 是否支持第 3 方触摸屏
    发表于 04-17 06:12