MIDI音乐播放器--STM32+蜂鸣器
1. 简介之前使用micropython在ESP32C3上用自定义音符编码通过蜂鸣器播放了《敢问路在何方》,这种方式的缺点有下面几个: 需要手动按照自定义音符编码规则拿到编码字符串 音符固定,频率固定,只有单轨道。丢失了部分音乐的美感 恰逢最近在研究MIDI音乐文件,发现MIDI音乐文件里完美的包含了让蜂鸣器发声的所有元素。如果能通过实时解析MIDI音乐文件将音符元素发送至开发板,让蜂鸣器完成音乐播放一定是一件很酷的事情! 话不多说,开整! 2. 接线图 A0 -> 蜂鸣器正极 A9 -> Daplink串口RX A10 -> Daplink串口TX 2.1 用到的器件 STM32F103C6T6 10KB RAM, 32KB Flash 无缘蜂鸣器1个 Daplink烧录器 + 串口传输 3....
EVB-L0136开发板段码LCD屏使用
概要前段时间通过iceasy 商城样片申请收到了萤火工厂的 24GHz 毫米波雷达模块CEM5826-M11和灵动微的EVB-L0136开发板,今天将雷达模块接入开发板并使用板载段码 LCD 屏对雷达数据进行展示,学习和理解段码 LCD 屏。 接线图展示 用到的器件 EVB-0136(MM32L0136C7P)开发板 CEM5826-M11 雷达模块 daplink 烧录器 + 串口输出 daplink 到开发板 CN7 SWD 接线 SWD -> SWD IO(SWD 7 号引脚) CLK -> SWC LK(SWD 9 号引脚) daplink 到开发板 UART2 TX 串口接线 RX -> PA2 (复用为 UART2 TX) CEM5826-M11 到开发板 UART1 CN9 串口接线 TX -> PA10 RX -> PA9 3V -> SWD 1 号引脚 (随便找的 3V 供电) GND -> SWD 20 号引脚(随便找的 GND) 段码 LCD 认识 上图是 EVB-L0136 板载段码...
CEM5826-M11雷达模块实现人体感应迎宾系统
1. 背景首先非常感谢 iceasy 商城和萤火工场(Firefly Workshop)提供的 24GHz 毫米波雷达模块 CEM5826-M11(9.9 购买链接),我非常荣幸的获得了测评机会。本文在 ESP32C3 上通过 micropython 读取雷达数据,结合三色灯和蜂鸣器实现一套人体感应迎宾系统。 2. 将 CEM5826-M11 接入 ESP32C3 用的是这款 ESP32C3,CEM5826-M11 需要串口读取雷达数据,我选用 ESP32C3 的TX=GPIO0和RX=GPIO1这组 UART 口。接线后这样 CEM5826-M11 模块未带焊针,这里用杜邦线连接有点丑,无奈之举,请忽略!! 3. 迎宾系统设计思路从接线图可看到除了雷达模块外,还接入了一个蜂鸣器 + 一个三色 LED 灯,这套迎宾系统的第一目标是一定要酷炫。 3.1...
micropython驱动蜂鸣器唱歌
简介在 ESP32 上用 micropython 玩蜂鸣器时发现可以通过调整占空比发出不同音调,于是想能否让蜂鸣器“唱出”完整的一首歌。搜索发现了这篇博客CSDN 博客,巧妙的实现了基本的音调编码。在此基础上我扩展了高/中/低音以及节拍/连音的发声编码,本文介绍下对音调的编码原理。 PWM 调音基础原理MicroPython 中的 PWM(Pulse Width Modulation,脉冲宽度调制)是一种调节信号的方法,它利用微处理器的数字输出来对模拟电路进行控制。PWM 技术通过控制脉冲的占空比(Duty Cycle)和频率来实现对信号的调节,这两个参数是调节 PWM 信号特性的关键。 占空比占空比是脉冲的高电平时间与周期的比值,表示在一个周期内,高电平时间占整个周期的比例。占空比的范围在 0 到 1 之间,也可以用百分比来表示。例如,50%的占空比意味着高电平时间占整个周期的一半。在实际应用中,改变占空比可以改变信号的幅度,即高电平的电压大小。当占空比接近 0 时,高电平时间很短,信号的幅度很小;当占空比接近 1...
STM32时钟
简介本文以STM32F103C6系列为例,尝试学习理解 STM32 时钟电路 时钟对应手册第 7 章https://www.st.com.cn/resource/en/reference_manual/rm0008-stm32f101xx-stm32f102xx-stm32f103xx-stm32f105xx-and-stm32f107xx-advanced-armbased-32bit-mcus-stmicroelectronics.pdf Power reset可以看到复位图中有内置上拉电阻 Rpu,即只有外部输入低电平时才能导通并触发复位 从左上到右下看: NRST 按键需要默认高电平,当按下按键后切位低电平导通上拉电阻触发系统复位 三角形器件是比较器,检测 NRST 引脚的电压水平,并将其转换为数字信号 滤波器去除噪声干扰保证复位信号稳定 下面接地的是一个 NMOS 管,右侧脉冲触发器输出高电平导通 脉冲触发器产生至少 20us 复位脉冲确保复位可靠性 右下角是一个或门电路,表示任意输入有效即可导通触发脉冲触发器 这张图完美展示了产生系统 reset...
STM32数据手册
简介本文记录 STM32 系列数据手册查看和获取方法 获取手册通常情况下,直接在 st 官网首页搜索相应芯片型号即可找到资料 https://www.st.com.cn/content/st_com/zh.html 我手中有一块STM32F103C6T6,因此获取下面两份手册 数据手册里通常有一些引脚封装图和产品规格简介https://www.st.com.cn/resource/en/datasheet/stm32f103c6.pdf 参考手册里有详细的关键功能电路图和寄存器操作指引https://www.st.com.cn/resource/en/reference_manual/rm0008-stm32f101xx-stm32f102xx-stm32f103xx-stm32f105xx-and-stm32f107xx-advanced-armbased-32bit-mcus-stmicroelectronics.pdf 手册查看示例芯片型号解释比如我手中这块STM32F103C6T6,从下图可看出它内存大小为 32KB 数据手册首页有更详细的规格描述
ESP32做无线串口 + keil环境部署
本文介绍使用 ESP32 做无线串口连接 arm keil 部署开发环境 1. 背景非常荣幸从iceasy商城申请到了灵动微电子公司提供的 MM32L0136C7P 开发板,本文将从零开始搭建 arm keil c 语言开发环境,简单给 MM32L0136C7P 开发板亮个灯 2. ESP32 无线烧录器准备为什么需要准备 ESP32 无线烧录器?笔者之前做 ESP32 开发的,当前市面上的 ESP32 大都集成了串口芯片具备烧录功能做到了 USB 一线通,因此手头没有额外的芯片烧录器,而本文提到的 MM32L0136C7P 样片本身并未集成串口烧录功能,正当笔者一筹莫展时在论坛里看到了一篇好文:链接,手头恰好有大量的 ESP32C3 能解燃眉之急 2.1 编译固件用到 windowsair 大佬开发的神固件: github 笔者选用最简单的构建方式: Build-with-Github-Action 【fork 仓库】-> 【修改 main/wifi_configuration.h 添加自己家里的 wifi 密码信息】-> 【git 提交触发...