將您的樹莓派Pico變成帶有觸摸屏界面的USB-HID設備!在這個項目中,我們將在Arduino IDE中設置編程環(huán)境,為3.5”Pico Touch LCD屏蔽配置庫,測試基本功能,創(chuàng)建簡單的按鈕(用于復制和粘貼),顯示自定義圖標,甚至使用Windows環(huán)境變量來啟動程序。
設置編程環(huán)境
安裝Arduino IDE
?從Arduino官方網(wǎng)站下載Arduino IDE并將其安裝到您的計算機上。
?安裝完成后,打開Arduino IDE。
?轉到File > Preferences。
查找其他董事會管理器URL并添加以下URL:
單擊OK保存更改。
安裝Raspberry Pi Pico單板包
?進入Tools > Board > Boards Manager....
?在搜索欄中,輸入Pico。
?安裝Raspberry Pi Pico/RP2040 (Earle F. Philhower, III) -版本3.9.1(或最新版本)。
?安裝完成后,選擇“Tools > Board > Raspberry Pi RP2040 Boards > Raspberry Pi Pico”。
安裝所需的庫
?通過Tools > Manage Libraries打開庫管理器。
?搜索TFT_eSPI并安裝它。
?重復TFT_eWidget和Adafruit_TinyUSB。
配置TFT_eSPI
?導航到Arduino庫文件夾。通常,它位于:Documents/Arduino/libraries/TFT_eSPI
?您將找到一個User_Setup_Select.h和一個名為user_setup的文件夾。
?將downloadduser_setup_select .h復制到TFT_eSPI主文件夾中(覆蓋現(xiàn)有文件夾)。
?將下載的setup60_rp2040_ili9341 .h復制到user_setup子文件夾中。
Arduino“Tools”菜單設置
確保您選擇了:
第一個測試:硬件和庫驗證
配置完軟件環(huán)境后,是時候測試Raspberry Pi Pico和顯示屏蔽了。
下面是一個示例草圖(initialTest.ino),它檢查了顯示器的基本功能,包括一些圖形測試和觸摸校準。您可以將下面的代碼粘貼到新的Arduino草圖中,或者打開initialTest。你下載的文件附帶的Ino。
這段代碼是做什么的?
?初始化屏幕,校準觸摸屏(并將校準數(shù)據(jù)保存到flash文件系統(tǒng)),然后執(zhí)行快速圖形測試(線、矩形、圓和文本)。
?不斷切換反轉顯示,以便您可以看到效果。
創(chuàng)建簡單的按鈕:復制和粘貼
接下來,我們將添加觸摸屏按鈕,以便Pico可以通過USB向您的計算機發(fā)送類似鍵盤的命令。這是通過Adafruit_TinyUSB實現(xiàn)的,它允許您的Pico充當人機接口設備(HID)。
下面是一個簡單的例子,創(chuàng)建了兩個標簽為“復制”和“粘貼”的按鈕。為此,使用example_SimpleButtons.ino
編譯警告說明
在編譯時,您可能會看到關于將字符串常量轉換為char*的警告。發(fā)生這種情況是因為ButtonWidget類使用char*作為label參數(shù),但是“COPY”和“PASTE”是字符串字面值(它們是const char*)。盡管有警告,代碼仍然可以工作。理想情況下,您應該修改ButtonWidget類以接受const char*來避免警告。
顯示圖標:將PNG圖像轉換為C數(shù)組
您可以在按鈕上添加圖標而不是文本標簽。例如,您可能希望顯示一個小的PNG圖像。為此,您將PNG文件轉換為C數(shù)組,然后在屏幕上繪制它。
轉換工具:“ImageConverter 565 V1.2”
?從GitHub下載UTFT庫(作為.zip)。
?解壓縮它,然后導航到其中的Tools文件夾。
?運行ImageConverter 565 V1.2工具。
?點擊打開圖像,選擇你的。png文件(例如,arduino.png)。
?單擊Save以生成包含像素數(shù)據(jù)的.c文件。
在該.c文件中,您將發(fā)現(xiàn)一個16位值的大數(shù)組。將該數(shù)組復制到一個新的頭文件中(例如,ardicon.h)。同時為寬度和高度定義兩個變量(例如,ardicon_w = 128;和ardicon_h = 128;)。
你的ardicon.h可能看起來像這樣在頂部:
在草圖中使用圖標
?將ardicon.h復制到草圖文件夾中。
?#在你的代碼中包含“ardicon.h”。
?確保你有tft.setSwapBytes(true);如果顏色出現(xiàn)錯誤,則在調用pushImage()之前。
使用example_Button_with_icon。添加一個新按鈕并在其上繪制圖標:
使用Windows環(huán)境變量分配操作
自定義按鈕動作的一個強大方法是使用Windows環(huán)境變量。例如,您可以創(chuàng)建一個環(huán)境變量來存儲Arduino IDE的路徑,然后讓一個按鈕自動啟動它。
創(chuàng)建一個新的環(huán)境變量(Windows)
?按Windows鍵,搜索“控制面板”。
?在“系統(tǒng)和安全”下,單擊“系統(tǒng)”。
?.在左側選擇“高級系統(tǒng)設置”。
?在“系統(tǒng)屬性”窗口中,單擊“環(huán)境變量”。
?在User變量(僅限當前用戶)或System變量(所有用戶)下,單擊New。
?輸入一個變量名(例如,ARDU)并將其值設置為Arduino IDE可執(zhí)行文件的路徑。
?通過在所有對話框窗口上單擊OK來保存這些更改。
?使用方法:按WIN + R,輸入%ARDU%打開Arduino IDE。
示例:從按鈕啟動Arduino IDE
下面是一個草圖(example_startArduino.ino),它演示了如何打開Windows“運行”對話框,輸入%ARDU%,然后按Enter:
當你點擊圖標時,Pico模擬按下Windows + R,然后輸入%ARDU%,然后按Enter,啟動Arduino IDE。
擴展:增加三個帶有圖標的按鈕
通過遵循上述相同的原則,您可以用多個按鈕填充屏幕,每個按鈕都有不同的圖標和操作。例如,你可以為鎖定電腦、打開文件資源管理器或關閉電腦指定快捷方式。
想法是完全一樣的:
?創(chuàng)建其他ButtonWidget實例。
?將新的PNG圖標轉換為。h文件。
?使用pushImage()在每個按鈕的區(qū)域上繪制它們。
?將按鈕的按下動作映射到您想要自動執(zhí)行的擊鍵/快捷鍵。
草圖FullDisplay。Ino包含六個按鈕(您將需要所有圖標文件)。由于圖標是這個項目獨有的,如果您想擴展自己的圖標,只需復制該結構即可。代碼為每個圖標引用額外的。h文件(例如,Ardicon.h, Exploricon.h, Lockicon.h, Pwdownicon.h),每個文件都必須從PNG圖像中生成。
原理保持不變:每個按鈕都有一個按下和釋放功能,觸發(fā)一系列的HID鍵盤報告。
本文編譯自hackster.io