USB音量控制器的制作

第1步:你需要什么
这个项目围绕arduino pro micro(5v版本)构建,可从far eastern供应商处获得,价格为2英镑至3英镑。可以使用其他基于atmega 32u4的设备,但不能使用基于atmega328的设备,如nano或pro mini。
您还需要一个5针旋转编码器,您可以找到0.99英镑,和一个适合的旋钮。
您可能躺在其余的部分:
micro usb线
led(如果需要)和每个led的330ω电阻
1个触觉按钮开关(或更多用于附加功能)
一些条形板废料
小型工程箱
连接线,烙铁,焊料,剥线钳和切割机等。
第2步:工作原理
你可能已经注意到了很多usb键盘都有多媒体键,如音量上下,静音,播放/暂停。有些还有应用程序密钥,如电子邮件,浏览器或计算器,有些甚至还有系统密钥,如睡眠和休眠。
正常的字母数字和箭头键不会向计算机发送字符而是扫描代码,代表关键位置。多媒体和其他键的存在意味着它们也有扫描码,所以我推断它应该很容易编程arduino发送这些,因为leonardo和pro micro可以通过他们的usb端口模拟键盘或鼠标。但我很快就遇到了麻烦。
我很快发现arduino键盘库只允许您发送原始标准ibm pc键盘上的密钥。多媒体和系统密钥包括不受支持的完全独立的集合。同样,鼠标移动和点击是另一套,由arduino鼠标库支持。但是,在这些集合中,定义了大量功能,但并非所有功能都由windows或其他操作系统实现。
深入研究我几乎准备好开始增强键盘库,我发现它已经完成了。可选的hid-project库提供了您可能想要的一切。
步骤3:构造
我使用了一个我已经拥有多年的盒子,遗留下来的一个从未被遗忘的项目从未完成。尺寸为50x50x20mm,可能是maplin的尺寸。
但是你可能会使用不同的尺寸,所以我将所有机械结构细节留给你。你可以从图片中看到我如何建造我的。
arduino和一个按钮安装在一块切割的条板上以适合盒子。 (需要使用按钮来重置arduino进行编程。)条形板更多地用于安装它们而不是将它们连接起来。两根短线穿过未使用的arduino焊盘并穿过条板,焊接到两者上,将arduino固定到位。剥离板用一对热熔胶固定在盒子中。
led和电阻器安装在第二块条板上。 led在它们适合的孔中紧密推入,无需其他固定。
步骤4:接线
如果您愿意,可以在半尺寸的面包板上进行测试。或者使用图表将其焊接起来。
使用绞合线。我使用了几条彩虹带状电缆,这使得布线保持合理的整洁,不同的颜色使得很容易看到哪根电线在哪里。
第5步:编程
如果您还没有它,则需要下载并安装arduino ide。
在您的arduino文件夹中(默认情况下在windows下,这是在我的文档中)创建一个名为volumectrl的文件夹。将文件volumectrl.ino复制到此文件夹中。现在启动arduino ide并在sketchbook中找到草图volumectrl。
您需要安装hid-project库。这很简单:
单击草图 - 包含库 - 管理库。在“筛选器”框中,键入hid-project。这应该为您提供arduino的扩展hid功能。单击“安装”按钮。这就是它的全部内容。
您还需要确保安装了pro micro板定义。如果你还没有,不要试图尝试另一个 - 你马上就会明白为什么。
点击工具 - 董事会 - 董事会经理。检查是否已显示sparkfun pro micro。如果没有,请在“过滤器”框中键入pro micro。在支持的主板列表中选择并安装包含sparkfun pro micro的软件包。
现在,在tools - board下,选择sparkfun pro micro,在processor下选择atmega32u4(5v,16mhz)。/p》
注意: 如果您尝试使用错误的电路板对设备进行编程,则可能会终止引导加载程序! (如果您已经完成,请继续阅读。)
有三种方法可以对pro micro进行编程,在继续操作之前,您必须确定要使用的方法:
通过pro micro的usb端口进行usb编程
使用avr isp编程器进行isp编程
使用其他arduino作为isp编程器进行编程。
这些在接下来的步骤中描述。
步骤6:usb编程
通过pro micro的microusb端口进行编程取决于具有可用的引导加载程序。如果您已经杀了它,则需要使用方法2或3(也可用于恢复损坏的引导加载程序)。
将pro micro连接到计算机上的usb端口。在arduino ide上,单击sketch - upload( not 使用programmer上传)。观看ide底部的黑色面板。编译和链接完成后,您将看到它正在扫描com端口以查找pro micro。此时,快速按下复位按钮。然后应对其进行编程,进度条由“#”字符组成。它应该重置并开始作为音量控制工作。
步骤7:isp编程
usb编程取决于具有引导加载程序预装。这只是另一个程序,就像你自己写的一样。另一方面,isp编程在芯片本身上使用专用逻辑,并且是制造商如何加载引导加载程序。
您可以非常便宜地获得avr isp程序员(这是方法2)。确保它是ide支持的。编程器配有6针连接器。使用您最喜欢的搜索引擎搜索“avr isp pinout”以识别引脚。将isp标头安装到条形板上并将其连接到pro micro,如下所示:
isp pinpro micro pin
112miso
2vcc
313sck
411mosi
510rst
6gnd
在“工具 - 程序员”下,您需要选择正在使用的程序员类型。
或者您可以使用另一个arduino执行相同的工作(方法3)。这可以是廉价的nano,或者更便宜的带有ftdi usb/串行适配器的pro mini。
在ide中,单击文件 - 示例 - arduinoisp。草图前面的块注释告诉您如何连线。这取决于您的额外arduino是否具有isp标头以及您是否使用它。如果没有,您将必须取消注释该行
#ifdef use_old_style_wiring
在用于编程的arduino上,将每个引脚7,8和9的led和330ω连接到地。这些表示编程模式,错误和心跳。将其他引脚连接到您安装的isp接头,或直接连接到pro micro。使用arduinoisp草图编程,在工具 - 程序员下选择arduino作为isp。
步骤8:添加附加功能
usb hid(人机界面) device)类允许整个范围的控件,匹配不同类型的人机接口设备。这里使用的hid-project库可以很容易地获得很多(如果不是全部的话)。
检查草图volumectrl。旋转编码器上的按钮功能定义为rotary_c。如果您愿意,可以以相同的方式定义更多按钮,并使用相同的逻辑来检测按钮按下。而不是行 consumer.write(media_vol_mute); 你写了一个类似的行来执行所需的功能。
在ide中,单击文件 - 示例 - hid-project,以获取显示如何使用不同类型的示例。每种类型的全部控件都在位于arduino文件夹(通常位于my documents中)的libraries hid-project src hid-apis中的头文件中给出。
示例和每种类型的头文件如下所示。
消费者:
提供数百种控件,包括全系列的媒体播放器控件,屏幕保护程序,应用程序启动(电子邮件,浏览器,计算器),浏览器导航和媒体中心控件。
示例:消费者
控件列表:consumerapi.h
系统:
系统控制,如睡眠,休眠,断电,取消停靠,唤醒,主/辅显示控制和菜单导航。
示例:系统
控件列表:systemapi.h
游戏手柄:
32个按钮,6轴,2个d-pads
示例:游戏手柄
控件列表:gamepadapi.h
键盘:
有多种型号可供选择:bios理解的启动键盘,允许发送文本字符串的改进键盘,以及允许n-键盘的键盘关键翻滚。
示例:bootkeyboard,improvedkeyboard,nkrokeyboard
键列表:improvedkeylayouts.h
键盘led:
报告大写锁定,滚动锁定和数字锁定led以及一些您从未知道存在的指示灯。
示例:keyboardled
led列表:improvedkeylayouts.h
鼠标:
两个变体,一个与标准鼠标库几乎相同,另一个允许移动到绝对位置。
示例:improvedmouse,absolutemouse
控件列表: mouseapi.h
笔记本电脑屏幕亮度
windows仅支持win 8(参见参考资料) - mac/linux支持未知。
使用与音量控制相同的代码,但分别将media_vol_up和media_vol_down替换为0x006f和0x0070。
仅适用于笔记本电脑(或移动设备)屏幕(虽然我没有尝试过)。不适用于连接的显示器或投影仪,因为vga或dvi/hdmi接口都不支持它。

唐麦科技“四核双动圈”耳机
预测:2020年全球指纹识别芯片市场规模将近50亿美元
优化EEG放大器的性能并降低功耗
5G毫米波未来将如何发展?
三星直接跳过4nm先进工艺,将要批量生产3nm工艺
USB音量控制器的制作
git rebase与相关git merge命令比较
全球最小单片机问世——Microchip推出业界首款6引脚单
创新驱动,赢在智能科技领域:世界冠军黄文仪代言捷易科技
python定义函数与调用函数的顺序
医疗电子是做什么的 医疗仪器有哪些 医疗电子行业前景
一篇文章看懂:什么是SENIS完全集成3轴磁传感器?
消弧线圈并联小电阻接地系统的工作原理及其特点
传感器在无人机监控中的应用有哪些
什么是香港行货手机
变频器出现漏电问题分析
本土工业软件云端部署加速,工业互联网平台助力打破壁垒
应变式扭矩传感器原理及应用
IC 555 定时器用途和应用
3款新iPhone玻璃面板曝光 三星Galaxy Note9真机曝光