本帖最后由 jinglixixi 于 2022-11-14 10:11 编辑
对于新定义NBK-RD8x3x 开发板来讲,所配置的NBK-EBS001 触控板无疑是其出彩的亮点之一,掌握好它的应用则是十分必要的。为了更好地了解其性能及程序,特为它添加了OLED屏的显示功能,其作用从图1即可得知。
图1 显示内容
在实现图示功能之前,要完成以下3个工作: 1. 触摸控制及其功能分析 在NBK-EBS001 触控板上,有4类器件,即触摸键、滑条、滑轮及LED指示灯。 (1)通过滑条可控制其上面LED灯的多少,并可控制滑轮指示灯的明暗程度。 图2 亮度最暗状态 图3 最量状态
(2)通过滑轮可控制其LED指示灯的状态,顺时针旋转为增多,逆时针旋转为减少。 图4 滑轮控制效果 (3)通过中间的触摸键,则可进行点按和长按的操作,以切换工作的模式。 2. 可用资源的盘点
由于NBK-EBS001 触控板上有20个LED,即触摸感知引脚,故其消耗引脚资源还是比较多的,其线路原理图见图5所示。其引脚的占用情况如图6所示,可见能用于功能扩展的引脚已经不多了。 图5 线路原理图 图6 引脚资源 图7 引脚占用 3. 为触摸控制添功能 为准确的捕捉触摸操作的正确信息,使用I2C接口的OLED屏是一个比较好的选择,其显示效果如图8所示。 该显示屏所使用的引脚情况为: CLK ---P11
DIO ---P13 图8 显示效果 有了显示功能,要显示触摸操作的工作状态就需要在程序分析的基础上,确定显示的内容和显示位置。其中,变量BarValue是滑条的状态变量,而变量CircleValue则是滑轮的状态变量,变量LEDShowMode则是触摸键的模式切换变量。 在适当位置放置如下语句,即可获得图9至图11的状态显示效果。 OLED_ShowNum(30,2,BarValue,5,16); OLED_ShowNum(30,4,CircleValue,5,16); OLED_ShowString(50,6,"Click",16); OLED_ShowString(50,6,"Press",16); 图9 显示滑条状态 图10显示滑轮状态 图11显示触摸键状态
有以上的基础,再进行后续的功能则已是呼之欲出了!
演示视频:https://www.bilibili.com/video/BV1C24y127bL/?vd_source=f302fc0cc3a0425328db53a3b92082ca
|