概述
這不是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文章
4951瀏覽量
139831 -
樹莓派
+關注
關注
116文章
1699瀏覽量
105529
發布評論請先 登錄
相關推薦
評論