当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]TouchNav是一个极简的USB HID触摸控制器,使用定制的SAMD21板。它可以让你控制Spotify播放-播放/暂停,下一个/上一个轨道,和音量使用电容触摸板和旋转编码器。

TouchNav是一个极简的USB HID触摸控制器,使用定制的SAMD21板。它可以让你控制Spotify播放-播放/暂停,下一个/上一个轨道,和音量使用电容触摸板和旋转编码器

目标是建立一个时尚的、基于触摸的界面,感觉未来感又实用,允许直接从你的桌子上直观地控制Spotify,而不需要触摸键盘或鼠标。

特性

•电容触摸板播放/暂停,下一步,上一步

•旋转编码器音量控制

•基于hid的媒体键仿真(PC上不需要软件)

•通过键盘快捷键自动打开/关闭Spotify

•作为一个即插即用的USB设备

•建立在一个定制的SAMD21板

硬件概述

TouchNav的核心是围绕为Fab学院设计的定制SAMD21板构建的。SAMD21E17A芯片提供全速USB功能,使其能够充当类似键盘或鼠标的HID(人机界面设备)。

爱特梅尔公司SAMD21E17A

Atmel SAMD21E17A是一款功能强大但紧凑的基于ARM Cortex-M0+的微控制器,运行频率高达48 MHz。它是Arduino Zero和许多现代开发板中使用的同一系列芯片,使其成为usb连接,低功耗和交互式项目(如TouchNav)的理想选择。

•处理器:32位ARM Cortex-M0+核心,最高可达48mhz

•内存:128 KB闪存和16 KB SRAM(用于程序和数据存储)

•USB支持:全速USB 2.0接口,允许本地USB HID,键盘和串行功能

外围设备:

•多达6个可配置串行接口(SERCOM) -可作为UART, SPI或i2c

•用于读取传感器和触摸输入的12位ADC(模数转换器)

•10位DAC用于模拟输出

•定时器/计数器(TC/TCC)用于PWM,事件定时或信号生成

•外围触摸控制器(PTC)的电容触摸感应

•电源管理:低功耗模式,梦游外设,和停电检测。

•调试:用于编程和调试的双针SWD(串行线调试)

•工作电压:3.3 V逻辑

•I/O引脚:多达32个可用的GPIO引脚(取决于封装)

为什么它对TouchNav很好

SAMD21E17A的原生USB功能使其非常适合模拟键盘,鼠标或多媒体控制器的项目-无需额外的硬件。它的触摸感应支持和多个串行接口也使其非常适合集成传感器,led和旋转编码器。

主要输入组件包括:

•电容式触控板:三个金属或铜触控板作为触控传感器。每个垫被分配一个功能-播放/暂停,下一个轨道,和上一个轨道。

•旋转编码器:用来增加或减少系统音量的小旋钮。它还包括一个可选的按钮。

•Micro USB接口:用于电源和数据,允许电路板作为USB HID设备。

•电容触摸板连接到SAMD21上的模拟能力引脚。旋转编码器连接到两个数字引脚,该引脚配置为检测顺时针和逆时针旋转的状态转换。

PCB设计- KiCAD

整个电路板是在开源PCB设计工具KiCad中定制设计的。原理图、布局和引脚映射经过定制,以适应SAMD21E17A的功能,该功能将触摸板、旋转编码器、WS2812B led和USB连接集成在紧凑的最小设计中。

这允许完全控制硬件设计,从组件放置到路由USB差分对,使TouchNav成为专用的专业级HID控制器,而不是通用的开发板hack。

引脚如下:

•Led - 7

•Ws2812b - 11

•旋转编码器- A - 9, B - 8,开关- 10

•电容式触摸滑块- GPIO 2、3、4、5、6

单板编程

TouchNav板的核心是SAMD21 E17,因此要对SAMD21进行编程,我们需要将引导加载程序添加到板中。为了初始化引导加载程序,我们需要串行调试引脚。只有在那之后,我们才能使用USB编程板。

串行调试接口用于将引导加载程序刻录到板上。我正在使用由我的Fab学院讲师Saheen开发的SAMD DAP程序员板

将FAB SAMD板添加到Arduino

为了使用Arduino IDE编程SAMD21板,我们需要将FAB SAMD板添加到板管理器中

通过单板管理器安装单板

在燃烧引导加载程序后,我可以使用C型USB接口对我的板进行编程。

Blink

在燃烧引导加载程序后,第一步是测试内置示例“Blink”。最初,我通过使用一些示例代码测试了所有输入和输出功能。

SAMD21串行演示

下一个测试是串行通信。经过研究,我实现了arduino常用的串口命令。print不适用于SAMD21,因此我们必须使用SerialUSB.print。下面的代码取自我的Fab学院嵌入式编程课。SAMD21回声码

电容式触摸

囚禁式触摸可以通过使用Neil教授在Fab学院输入设备课上提供的测试代码进行测试。为此所需的库是Adafruit FreeTouch库。

HID

我使用了默认情况下在Arduino的库管理器中可用的HID项目和HID设置库。我们只需要安装它来使用库管理器提供的库。我使用的主要功能是消费者功能,它允许控制媒体播放和一些功能。主要有两件事:在Windows设备上控制媒体播放和打开和关闭Spotify。

为了控制媒体播放,消费者函数提供如下功能:

面临的问题

在编程SAMD21时,我遇到了USB C连接的问题。电脑没有检测到板子。经过一些调试,我意识到USB C线是一个问题,我不得不使用另一个USB线和一个额外的USB集线器。我想可能是动力问题。以及PCB设计缺陷

旋转编码器不是很准确,因为当我转动旋钮更快时,它没有读取值。我想我需要在旋转编码器引脚上添加电容器。

本文编译自hackster.io

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

特朗普集团近日取消了其新推出的T1智能手机“将在美国制造”的宣传标语,此举源于外界对这款手机能否以当前定价在美国本土生产的质疑。

关键字: 特朗普 苹果 AI

美国总统特朗普在公开场合表示,他已要求苹果公司CEO蒂姆·库克停止在印度建厂,矛头直指该公司生产多元化的计划。

关键字: 特朗普 苹果 AI

4月10日消息,据媒体报道,美国总统特朗普宣布,美国对部分贸易伙伴暂停90天执行新关税政策,同时对中国的关税提高到125%,该消息公布后苹果股价飙升了15%。这次反弹使苹果市值增加了4000多亿美元,目前苹果市值接近3万...

关键字: 特朗普 AI 人工智能 特斯拉

3月25日消息,据报道,当地时间3月20日,美国总统特朗普在社交媒体平台“真实社交”上发文写道:“那些被抓到破坏特斯拉的人,将有很大可能被判入狱长达20年,这包括资助(破坏特斯拉汽车)者,我们正在寻找你。”

关键字: 特朗普 AI 人工智能 特斯拉

1月22日消息,刚刚,新任美国总统特朗普放出重磅消息,将全力支持美国AI发展。

关键字: 特朗普 AI 人工智能

特朗普先生有两件事一定会载入史册,一个是筑墙,一个是挖坑。在美墨边境筑墙的口号确保边境安全,降低因非法移民引起的犯罪率过高问题;在中美科技产业之间挖坑的口号也是安全,美国企业不得使用对美国国家安全构成威胁的电信设备,总统...

关键字: 特朗普 孤立主义 科技产业

据路透社1月17日消息显示,知情人士透露,特朗普已通知英特尔、铠侠在内的几家华为供应商,将要撤销其对华为的出货的部分许可证,同时将拒绝其他数十个向华为供货的申请。据透露,共有4家公司的8份许可被撤销。另外,相关公司收到撤...

关键字: 华为 芯片 特朗普

曾在2018年时被美国总统特朗普称作“世界第八奇迹”的富士康集团在美国威斯康星州投资建设的LCD显示屏工厂项目,如今却因为富士康将项目大幅缩水并拒绝签订新的合同而陷入了僵局。这也导致富士康无法从当地政府那里获得约40亿美...

关键字: 特朗普 富士康

今年5月,因自己发布的推文被贴上“无确凿依据”标签而与推特发生激烈争执后,美国总统特朗普签署了一项行政令,下令要求重审《通信规范法》第230条。

关键字: 谷歌 facebook 特朗普

众所周知,寄往白宫的所有邮件在到达白宫之前都会在他地进行分类和筛选。9月19日,根据美国相关执法官员的通报,本周早些时候,执法人员截获了一个寄给特朗普总统的包裹,该包裹内包含蓖麻毒蛋白。

关键字: 美国 白宫 特朗普
关闭