当前位置: 首页 > news >正文

基于stm32F10x 系列微控制器的智能电子琴(附完整项目源码、详细接线及讲解视频)

注:成品使用演示、项目源码、项目文档在文章末尾网盘链接中自取

所用硬件:STM32F103C8T6、无源蜂鸣器、4×4矩阵键盘、flash存储模块、OLED显示屏、RGB三色灯、面包板、杜邦线、usb转ttl串口

stm32f103c8t6                           

面包板                                        

杜邦线                                        

USB转TTL串口模块                   

RGB三色灯                                

4×4矩阵键盘                              

无源蜂鸣器                                

OLED液晶屏(128*64点阵屏)

flash存储模块                            

所用软件:keil5

一、项目介绍

本项目是一个基于 STM32F10x 系列微控制器的音乐播放系统,集成了按键控制、音乐播放、OLED 屏幕显示和三色 LED 指示以及 Flash 存储等功能。所用硬件为:用户可以通过按键选择不同的操作模式,播放内置的多首歌曲,还能在播放过程中实时控制音乐的音色和音量,同时 OLED 屏幕会显示相应的操作提示和信息,三色 LED 则用于指示当前的工作模式。

二、功能介绍

(一)按键控制

  • 模式选择:通过键盘上的按键,用户可以在不同的操作模式之间进行切换,包括音乐选择模式和按键弹奏模式。
  • 声音控制:在播放音乐过程中,用户可以使用按键控制声音的音色和音量。
  • 歌曲切换:在音乐选择模式下,用户可以通过按键切换不同的内置歌曲进行播放。

(二)内置歌曲

系统内置了多首歌曲,每首歌曲都有对应的音符频率和持续时间数据。这些歌曲包括《生日快乐》《两只老虎》等经典曲目。

(三)屏幕显示

  • 操作提示:OLED 屏幕会显示操作提示信息,引导用户进行模式选择和歌曲选择。
  • 信息显示:在播放歌曲时,屏幕会显示相应的歌曲信息或提示内容。

(四)LED 指示

通过三色 LED(红、绿、蓝)的不同颜色组合,指示当前系统所处的工作模式,方便用户直观了解系统状态。

   (五)Flash存储

提供了 Flash 读写功能,可以将数据存储到 Flash 中,也可以从 Flash 中读取数据。这为后续扩展功能,如保存用户自定义歌曲或设置提供了可能。

三、模式选择

(一)音乐选择模式(MODE_PLAYING)

  • 进入方式:按下键盘上对应的按键(如按键 1),系统进入音乐选择模式,此时三色 LED 显示绿色。
  • 功能操作
    • OLED 屏幕显示歌曲选择提示信息。
    • 用户可以通过按键选择不同的内置歌曲进行播放。
    • 在播放过程中,用户可以按下特定按键(如按键 16)停止当前歌曲的播放。
    • 播放结束或用户停止播放后,系统自动返回默认模式,三色 LED 恢复红色显示。

(二)按键弹奏模式(MODE_PLAYING_KEYBOARD)

  • 进入方式:按下键盘上对应的按键(如按键 2),系统进入按键弹奏模式,此时三色 LED 显示蓝色。
  • 功能操作
    • OLED 屏幕显示弹奏提示信息。
    • 用户按下键盘上的按键(1 - 15),系统会播放对应的音符。
    • 按下按键 16,系统退出按键弹奏模式,返回默认模式,三色 LED 恢复红色显示。

四、引脚接线

1、GND引脚都接到GND即可

2、VCC引脚都接到3.3V即可

3、USB转TTL串口的5V引脚连接到单片机的5V;3.3V引脚不使用

4、USB转TTL串口

TXD~A10

RXD~ A9

5、OLED液晶屏

SCL~B7

SDA~B6

6、矩阵键盘

C1~PA0
C2~PA1    
C3~PA2    
C4~PA3    
R1~PA4    
R2~PA5    
R3~PA6    
R4~PA7

7、RGB三色灯

R~B3

G~B4

B~B5

8、蜂鸣器

I/O引脚~B0

9、FLASH模块

CS~A4

D0~A6

SLK~A5

D1~A7

五、项目所需硬件及大致介绍结束,闲言少叙,开启正题,链接在此

链接: https://pan.baidu.com/s/1x-E5vJe-R4OsvBmG6CMnmw?pwd=1111 提取码: 1111

家人们,觉得有帮助点个赞吧,自学一周做的第一个项目,你的点赞支持就是我继续学习更新的最大动力,谢谢!!!!

相关文章:

  • 协议转换利器,profinet转ethercat网关的两大派系,各有千秋
  • 【阅读笔记】MemOS: 大语言模型内存增强生成操作系统
  • 论文笔记:Urban Computing in the Era of Large Language Models
  • 基于51单片机的篮球计分器
  • 【第一章:人工智能基础】01.Python基础及常用工具包-(4)Python环境管理
  • REBT 分类任务中,`loss`(损失值)和 `logits`(原始预测分数)是什么
  • 用 Rust 重写 Linux 内核模块实战:迈向安全内核的新篇章
  • SAM2Long本地部署,视频分割处理,绿幕抠像,超长视频支持
  • Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式
  • 深度解析云存储:概念、架构与应用实践
  • XMLGregorianCalendar跟Date、localDateTime以及String有什么区别
  • VisualXML全新升级 | 新增数据库编辑功能
  • 【深度学习新浪潮】大模型中,active parameters和total parameters都是什么?
  • rnn判断string中第一次出现a的下标
  • Unity-ECS详解
  • Ubuntu里面单独编译某一个模块
  • DriveGPT4: Interpretable End-to-end Autonomous Driving via Large Language Model
  • FreeRTOS学习02_任务管理
  • [论文阅读]人工智能 | CoMemo:给大视觉语言模型装个“图像记忆”
  • 一种使用 PowerToys 的键盘管理器工具重新映射按键实现在 Windows 上快捷输入字符的方式
  • 网站建设一般需要多少钱/seo关键词优化推广价格
  • 西安企业网站建设模板/电商平台的推广及运营思路
  • 哈尔滨网络科技公司做网站/大数据营销系统软件
  • 公司建设网站的手续/深圳网络推广培训
  • 网站开发模式/大连网站seo
  • 什么网站可以做注册任务/竞价托管哪家便宜