当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]将您的树莓派Pico变成带有触摸屏界面的USB-HID设备!在这个项目中,我们将在Arduino IDE中设置编程环境,为3.5”Pico Touch LCD屏蔽配置库,测试基本功能,创建简单的按钮(用于复制和粘贴),显示自定义图标,甚至使用Windows环境变量来启动程序。

将您的树莓派Pico变成带有触摸屏界面的USB-HID设备!在这个项目中,我们将在Arduino IDE中设置编程环境,为3.5”Pico Touch LCD屏蔽配置库,测试基本功能,创建简单的按钮(用于复制和粘贴),显示自定义图标,甚至使用Windows环境变量来启动程序。

设置编程环境

安装Arduino IDE

•从Arduino官方网站下载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主文件夹中(覆盖现有文件夹)。

•将下载的setup60_rp2040_ili9341 .h复制到user_setup子文件夹中。

Arduino“Tools”菜单设置

确保您选择了:

第一个测试:硬件和库验证

配置完软件环境后,是时候测试Raspberry Pi Pico和显示屏蔽了。

下面是一个示例草图(initialTest.ino),它检查了显示器的基本功能,包括一些图形测试和触摸校准。您可以将下面的代码粘贴到新的Arduino草图中,或者打开initialTest。你下载的文件附带的Ino。

这段代码是做什么的?

•初始化屏幕,校准触摸屏(并将校准数据保存到flash文件系统),然后执行快速图形测试(线、矩形、圆和文本)。

•不断切换反转显示,以便您可以看到效果。

创建简单的按钮:复制和粘贴

接下来,我们将添加触摸屏按钮,以便Pico可以通过USB向您的计算机发送类似键盘的命令。这是通过Adafruit_TinyUSB实现的,它允许您的Pico充当人机接口设备(HID)。

下面是一个简单的例子,创建了两个标签为“复制”和“粘贴”的按钮。为此,使用example_SimpleButtons.ino

编译警告说明

在编译时,您可能会看到关于将字符串常量转换为char*的警告。发生这种情况是因为ButtonWidget类使用char*作为label参数,但是“COPY”和“PASTE”是字符串字面值(它们是const char*)。尽管有警告,代码仍然可以工作。理想情况下,您应该修改ButtonWidget类以接受const char*来避免警告。

显示图标:将PNG图像转换为C数组

您可以在按钮上添加图标而不是文本标签。例如,您可能希望显示一个小的PNG图像。为此,您将PNG文件转换为C数组,然后在屏幕上绘制它。

转换工具:“ImageConverter 565 V1.2”

•从GitHub下载UTFT库(作为.zip)。

•解压缩它,然后导航到其中的Tools文件夹。

•运行ImageConverter 565 V1.2工具。

•点击打开图像,选择你的。png文件(例如,arduino.png)。

•单击Save以生成包含像素数据的.c文件。

在该.c文件中,您将发现一个16位值的大数组。将该数组复制到一个新的头文件中(例如,ardicon.h)。同时为宽度和高度定义两个变量(例如,ardicon_w = 128;和ardicon_h = 128;)。

你的ardicon.h可能看起来像这样在顶部:

在草图中使用图标

•将ardicon.h复制到草图文件夹中。

•#在你的代码中包含“ardicon.h”。

•确保你有tft.setSwapBytes(true);如果颜色出现错误,则在调用pushImage()之前。

使用example_Button_with_icon。添加一个新按钮并在其上绘制图标:

使用Windows环境变量分配操作

自定义按钮动作的一个强大方法是使用Windows环境变量。例如,您可以创建一个环境变量来存储Arduino IDE的路径,然后让一个按钮自动启动它。

创建一个新的环境变量(Windows)

•按Windows键,搜索“控制面板”。

•在“系统和安全”下,单击“系统”。

•.在左侧选择“高级系统设置”。

•在“系统属性”窗口中,单击“环境变量”。

•在User变量(仅限当前用户)或System变量(所有用户)下,单击New。

•输入一个变量名(例如,ARDU)并将其值设置为Arduino IDE可执行文件的路径。

•通过在所有对话框窗口上单击OK来保存这些更改。

•使用方法:按WIN + R,输入%ARDU%打开Arduino IDE。

示例:从按钮启动Arduino IDE

下面是一个草图(example_startArduino.ino),它演示了如何打开Windows“运行”对话框,输入%ARDU%,然后按Enter:

当你点击图标时,Pico模拟按下Windows + R,然后输入%ARDU%,然后按Enter,启动Arduino IDE。

扩展:增加三个带有图标的按钮

通过遵循上述相同的原则,您可以用多个按钮填充屏幕,每个按钮都有不同的图标和操作。例如,你可以为锁定电脑、打开文件资源管理器或关闭电脑指定快捷方式。

想法是完全一样的:

•创建其他ButtonWidget实例。

•将新的PNG图标转换为。h文件。

•使用pushImage()在每个按钮的区域上绘制它们。

•将按钮的按下动作映射到您想要自动执行的击键/快捷键。

草图FullDisplay。Ino包含六个按钮(您将需要所有图标文件)。由于图标是这个项目独有的,如果您想扩展自己的图标,只需复制该结构即可。代码为每个图标引用额外的。h文件(例如,Ardicon.h, Exploricon.h, Lockicon.h, Pwdownicon.h),每个文件都必须从PNG图像中生成。

原理保持不变:每个按钮都有一个按下和释放功能,触发一系列的HID键盘报告。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭