littlebot
Published on 2025-04-18 / 0 Visits
0

【源码】基于Arduino和Attiny85芯片的媒体控制旋钮系统

项目简介

本项目围绕Attiny85芯片构建媒体控制旋钮,此旋钮可作为HID设备模拟键盘或鼠标操作。它是在Mikolas Zuza媒体控制音量旋钮基础上改进而来,采用Attiny85芯片降低成本。通过3D打印的底座和旋钮进行物理操控,结合编程实现丰富的媒体控制功能。

项目的主要特性和功能

  1. 采用低功耗、高性能的Attiny85芯片作为控制器。
  2. 利用旋转编码器实现媒体控制,支持播放/暂停、音量调节等常见操作。
  3. 适配多种媒体场景,如常规媒体播放和YouTube观看。
  4. 允许用户自定义按键绑定,满足个性化使用需求。

安装使用步骤

假设用户已下载本项目的源码文件,以下是详细步骤:

软件和库安装

  1. 安装Arduino IDE。
  2. 在Arduino IDE的“Preferences”中,将 “http://digistump.com/package_digistump_index.json” 添加到 “Additional Boards Manager URLs”。
  3. 从 “Tools -> Board -> Board Manager” 安装 “Digistump AVR Boards”,并选择 “Digispark (Default - 16.5mhz)” 进行编程。
  4. 编辑部分库文件:
    • 对Digistump库,前往 “C:\Users[YourUserName]\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7”,备份 “libraries” 文件夹后删除该文件夹。
    • 编辑 “TrinketKeyboard\usbdrv/usbdrvasm.S” 文件,在 #define __SFR_OFFSET 0(第17行)前添加 #undef __SFR_OFFSET,并将第73行的 #if 修改为 #if 0x41 < 0x40

硬件准备与连接

  1. 准备3D打印的底座和旋钮(由Mikolas Zuza设计)、旋转编码器和Attiny85芯片。
  2. 去除Attiny85芯片上连接到P1的smd LED,可通过拆焊、用尖嘴钳折断或用螺丝刀破坏等方式。
  3. 拆焊旋转编码器的直角引脚,可直接焊接导线或重新焊接从底部引出的直角引脚(若使用杜邦线)。
  4. 按照接线图连接硬件,注意P3和P4用于USB HID,不能作为GPIO使用,官方非复制版Attiny85的P5是硬件复位引脚,可通过刷入引导加载程序禁用复位功能以使其作为GPIO。

编程烧录与测试

  1. 编程时,先不插入Attiny85芯片,点击上传,等待Arduino IDE的底部输出框提示插入芯片时再插入。
  2. 完成硬件连接和软件烧录后,进行设备测试与调试,确保媒体控制旋钮正常工作。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】