0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

USB音量控制器的制作

454398 来源:wv 2019-08-30 17:21 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

第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接口都不支持它。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    WT2605C语音芯片32级音量可调功能:重新定义音频体验

    一、突破性音量调节技术1.1技术规格概述作为语音芯片领域的技术领先者,广州唯创电子推出的WT2605C声音播放芯片集成了32级精确音量控制功能。这一创新设计突破了传统语音播放IC仅有3-5级音量调节
    的头像 发表于 11-10 13:00 403次阅读
    WT2605C语音芯片32级<b class='flag-5'>音量</b>可调功能:重新定义音频体验

    MCP22350 USB Type-C™ PD 3.1端口控制器技术解析

    Microchip Technology MCP22350 USB Type-C™供电 (PD) 3.1端口控制器设计用作外部Microchip MCU/SoC的配套PD控制器。这些控制器
    的头像 发表于 09-30 15:26 610次阅读
    MCP22350 <b class='flag-5'>USB</b> Type-C™ PD 3.1端口<b class='flag-5'>控制器</b>技术解析

    ‌MCP22301 USB Type-C™ PD 3.1控制器技术解析与应用指南

    Microchip Technology MCP22301 USB Type-C^®^ 供电 (PD) 3.1控制器设计用于符合USB Type-C电缆和连接规范以及
    的头像 发表于 09-30 15:21 641次阅读
    ‌MCP22301 <b class='flag-5'>USB</b> Type-C™ PD 3.1<b class='flag-5'>控制器</b>技术解析与应用指南

    Texas Instruments TPS25730 USB Type-C®和USB PD控制器技术解析

    Texas Instruments TPS25730 USB Type-C®和USB PD控制器是高度集成的独立控制器,专为支持USB-C
    的头像 发表于 08-06 11:12 1009次阅读
    Texas Instruments TPS25730 <b class='flag-5'>USB</b> Type-C®和<b class='flag-5'>USB</b> PD<b class='flag-5'>控制器</b>技术解析

    带直流音量控制的立体声音频功率放大器D2668

    %)。其音量控制的衰减范围从20dB到-80dB,共32级步进。     D2668集成了去噪电路和热关断保护电路,可降低上电或关机时的瞬态噪声,并改善断电时的噪声问题,同时通过过温保护和短路保护防止芯片损坏。为简化音频系统设计,D2668将用于扬声驱动的立体声桥接负载
    的头像 发表于 06-07 15:11 457次阅读
    带直流<b class='flag-5'>音量控制</b>的立体声音频功率放大器D2668

    HT6819 3.3W带数字音量控制/防削顶低EMI立体声D类音频功率放大器中文手册

           HT6819是一款内部集成32阶数字音量控制以及防削顶失真功能且具有超低EMI、防削顶失真功能的立体声免输出滤波D类音频功率放大器在电源电压5V、THD+N=10%、4Ω 负载
    发表于 04-14 16:08 0次下载

    HT6809 3W带数字音量控制/防削顶超低EMI立体声D类音频功率放大器中文手册

    HT6809是一款内部集成32阶数字音量控制以及防削顶失真功能且具有超低EMI的立体声免输出滤波D类音频功率放大器,在电源电压5VTHD+N=10%、4Ω负载的条件下输出高达3W的功率在提供媲美于
    发表于 04-11 18:13 0次下载

    Linux simple-audio-card缺少音量控制怎么解决?

    /搅拌机 中没有看到我的声卡的任何音量控制?为什么在 Linux 启动期间根本没有检测到声卡?有什么想法吗? 感谢您的支持!
    发表于 04-07 08:16

    智能流量控制器产品说明书

    减少水资源浪费。 FS0021 系列智能流量控制器可设置手动或自动工作模式。自动模式下通过读取超声波 流量计的流量数据获取当前管道流量值,根据流量计的流量值对可连
    发表于 02-27 13:55 4次下载

    M62429L串行数据控制的双声道电子音量控制器产品说明书

    电子发烧友网站提供《M62429L串行数据控制的双声道电子音量控制器产品说明书.pdf》资料免费下载
    发表于 02-17 14:04 2次下载

    纳祥科技NX9018音频解码芯片,PIN to PIN国产替代CS4398

    随着半导体技术改进,DAC精度、速度将提升,成本降低,应用范围扩大,低功耗、高性能的DAC更受关注与应用。NX9018是一款高性能的120dB.192KHZ带音量控制的多位DAC,内含数字去加重模块
    的头像 发表于 02-05 17:30 1704次阅读
    纳祥科技NX9018音频解码芯片,PIN to PIN国产替代CS4398

    立体声音量控制器芯片纳祥科技NX6805B,允许外挂MCU控制,便于定制

    NX6805B是一款2通道带微处理音量控制器芯片,能实现音量加、音量减、静音功能。该芯片采用CMOS技术,内部集成了 I2C 接口控制
    的头像 发表于 02-05 17:26 1492次阅读
    立体声<b class='flag-5'>音量控制器</b>芯片纳祥科技NX6805B,允许外挂MCU<b class='flag-5'>控制</b>,便于定制

    纳祥科技NX4188-24,国产免晶振USB头戴耳机芯片,兼容替代CM108

    音量可以很容易地通过专门的 HID 兼容音量控制引脚来调节。 在性能上,NX4188-24可以兼容替代CM108
    的头像 发表于 02-05 17:25 752次阅读
    纳祥科技NX4188-24,国产免晶振<b class='flag-5'>USB</b>头戴耳机芯片,兼容替代CM108

    极少的外围元件!纳祥科技双声道电子音量控制芯片NX6803可替代PT2259

    NX6803 是一款双声道音量控制电路,采用了CMOS 技术制造,采样 I2C 控制方式,它具备极少的外围元件,简化了电路的设计和布局,是多声道音响系统必备的音量控制元件。 在性能上,NX6803可以兼容替代电子
    的头像 发表于 02-05 17:23 1547次阅读
    极少的外围元件!纳祥科技双声道电子<b class='flag-5'>音量控制</b>芯片NX6803可替代PT2259