站内搜索
更多
8-bit音乐板(其实是1-bit)
专业版

8-bit音乐板(其实是1-bit)

工程标签

32位单片机

237
0
0
0

简介

使用蜂鸣器的8-bit音乐板子(其实是1-bit)

简介:使用蜂鸣器的8-bit音乐板子(其实是1-bit)

开源协议

LGPL 3.0

(未经作者授权,禁止转载)
创建时间:2025-05-11 17:14:19更新时间:2025-05-26 13:56:32

描述

项目简介

本项目是基于STM32F030K6T6微控制器的8位风格音乐播放器,采用Rust语言开发的嵌入式音乐播放系统。该音乐板集成了音频播放、RGB灯光效果和按键控制功能,能够播放多首经典音乐曲目,并具有炫酷的RGB灯光显示效果。

项目功能

本设计是基于STM32F030K6T6单片机设计的音乐播放系统,具有以下主要功能:

  • 🎵 支持多首内置经典音乐播放(小星星、生日快乐、玛丽有只小羊羔、欢乐颂、致爱丽丝等)
  • 🎮 4个独立按键控制:上一首、下一首、暂停/继续播放、RGB灯光开关
  • 💡 RGB LED三色灯光效果,可随音乐节拍变化或独立控制
  • 🔊 高质量PWM音频输出,支持蜂鸣器或扬声器播放
  • ⚡ 智能按键软件防抖设计,确保操作响应准确
  • 📱 支持实时按键检测和音乐无缝切换

项目参数

  • 主控制器:STM32F030K6T6微控制器,32KB Flash,4KB RAM
  • 系统频率:48MHz主频,外部8MHz晶振
  • 音频输出:PWM波形生成,支持多种音符频率动态调整
  • 灯光效果:RGB LED三色灯,支持PWM调光和颜色混合
  • 按键接口:4个独立按键,采用下拉输入配置
  • 防抖机制:TIM16定时器50Hz频率软件防抖,20ms延迟消除抖动
  • 开发语言:Rust嵌入式开发,使用probe-rs工具链
  • 调试接口:SWD调试接口,支持实时日志输出

原理解析(硬件说明)

本项目由以下几个核心部分组成:主控部分、音频输出部分、RGB灯光部分、按键控制部分和电源部分。

主控电路设计:
采用STM32F030K6T6作为主控制器,该芯片具有足够的PWM通道和GPIO资源。外接8MHz晶振提供稳定的时钟源,通过PLL倍频到48MHz系统频率,确保音频和灯光的精确控制。

音频输出电路:
使用TIM3定时器的CH4通道(PB1引脚)输出PWM信号驱动蜂鸣器。通过动态调整PWM频率来产生不同音符的声音,支持从低音到高音的完整音域范围。

RGB灯光电路:
采用共阴极RGB LED,分别通过TIM3的CH1-CH3通道(PB4、PB5、PB0引脚)进行PWM控制。三个颜色通道独立控制,可实现丰富的颜色变化和亮度调节效果。

按键控制电路:
设计了4个独立按键,分别连接到PB6、PB7、PA11、PA12引脚,采用下拉电阻配置。按键按下时产生高电平信号,通过软件防抖算法确保操作的准确性。

软件代码

本项目采用Rust语言开发,具有内存安全和高性能的特点:

// 主要模块结构
mod music;      // 音乐播放模块
mod rgb;        // RGB灯光控制模块

// 引脚配置
PB6  -> 上一首按键
PB7  -> 下一首按键  
PA11 -> 暂停/继续按键
PA12 -> RGB灯开关按键
PB4  -> RGB红色通道(TIM3_CH1)
PB5  -> RGB绿色通道(TIM3_CH2)
PB0  -> RGB蓝色通道(TIM3_CH3)
PB1  -> 音频输出(TIM3_CH4)

完整代码仓库:GitHub - eight-bit-music-board

注意事项

  • PCB制作时注意晶振电路的走线要短且对称,避免信号干扰
  • RGB LED要选择共阴极类型,确保与驱动电路匹配
  • 蜂鸣器或扬声器的阻抗要与PWM输出匹配,建议8Ω-32Ω
  • 按键需要配置合适的上拉电阻值,推荐10kΩ
  • 电源电压必须稳定在3.3V,避免电压波动影响音频质量
  • 编程时使用SWD接口,确保SWDIO和SWCLK引脚连接正确

实物图

IMG_20250523_230955.webp
图1:音乐板正面实物图,可见RGB LED和按键布局

IMG_20250524_100400.webp
图2:音乐板调试实物图,展示J-Link调试和烧录场景

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

3D模型

序号文件名称下载次数
暂无数据

附件

序号文件名称下载次数
暂无数据
克隆工程
添加到专辑
0
0
分享
侵权投诉
知识产权声明&复刻说明

本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。

请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。

底部导航