利用 STM32 微控制器(MCU)可以完成极其广泛且有趣的实验,涵盖从基础入门到高级应用的各个层面。以下是一些主要的实验方向和应用示例(使用中文):
一、 基础外设与控制实验(入门必备)
-
GPIO 控制:
- LED 闪烁/流水灯: 最基本的实验,学习引脚配置、输出控制。
- 按键检测: 学习引脚输入、消抖(硬件/软件)、中断触发。
- 蜂鸣器控制: 学习产生简单音调、播放音乐(如《天空之城》)。
- 数码管显示: 学习静态/动态扫描驱动数码管显示数字、字符。
- 继电器控制: 学习用低电压控制高电压设备(注意安全隔离)。
- 矩阵键盘扫描: 学习扫描多按键输入的方法。
-
定时器 :
- 精确延时: 替代不精确的软件延时
for/while循环。 - PWM 输出:
- LED 呼吸灯效果(调节亮度)。
- 控制舵机角度(如 SG90)。
- 控制直流电机速度(需配合驱动电路如 L298N, TB6612)。
- 无源蜂鸣器播放复杂音乐。
- 输入捕获:
- 测量脉冲宽度(如超声波测距回波、红外遥控信号)。
- 测量信号频率/占空比(如旋转编码器)。
- 输出比较: 生成特定时序的脉冲信号。
- 基本定时/计时器: 实现秒表、闹钟等功能。
- 精确延时: 替代不精确的软件延时
-
中断系统 :
- 外部中断: 按键快速响应、旋转编码器计数、限位开关触发。
- 定时器中断: 实现精确的周期性任务(如定时采集传感器数据)。
- 串口中断: 高效处理接收和发送数据。
- 理解中断优先级和嵌套: 构建实时响应系统的基础。
-
串行通信 :
- UART/USART:
- PC 与 STM32 通信(通过 USB 转 TTL 模块),收发调试信息 (
printf重定向)。 - 与 GPS、蓝牙 (HC-05/06)、WiFi (ESP8266/ESP32)、GSM/GPRS 模块通信。
- 两个或多个 STM32 之间通信。
- PC 与 STM32 通信(通过 USB 转 TTL 模块),收发调试信息 (
- I2C:
- 连接 OLED/LCD 显示屏、EEPROM 存储器、加速度计/陀螺仪 (MPU6050)、气压计 (BMP180/BMP280)、磁力计 (HMC5883L)。
- SPI:
- 连接 SD/TF 卡(文件系统读写)、高分辨率显示屏 (如 ILI9341)、FLASH 存储器、高速 ADC/DAC 芯片、以太网模块 (ENC28J60/W5500)。
- CAN (需要带 CAN 控制器的型号): 汽车电子、工业控制网络通信实验。
- UART/USART:
-
模数/数模转换 :
- ADC (模数转换):
- 电位器调节电压读取(电压表)。
- 光敏电阻读取环境光照强度。
- 热敏电阻/DS18B20 (数字,但 ADC 可读模拟温度传感器) 读取温度。
- 烟雾/气体传感器 (MQ 系列) 读数。
- 电池电压检测。
- DAC (数模转换,部分型号有):
- 生成特定波形(正弦波、三角波、方波)信号发生器。
- 音频输出(简易播放器)。
- ADC (模数转换):
二、 传感器与执行器应用实验(万物互联基础)
-
环境感知:
- 温湿度: DHT11/DHT22, SHT3x。
- 光照强度: BH1750。
- 大气压强/海拔: BMP180/BMP280/BME280。
- 空气质量: MQ-2 (烟雾/可燃气体), MQ-135 (空气质量), PMS5003 (PM2.5/PM10)。
- 超声波测距: HC-SR04。
- 红外避障/循迹: TCRT5000。
- 颜色识别: TCS3200/TCS34725。
- 火焰检测: 红外火焰传感器。
- 雨滴/水位检测。
-
运动与姿态感知:
- 加速度/角速度(陀螺仪): MPU6050。
- 磁力计(电子罗盘): HMC5883L/QMC5883。
- 姿态融合 (IMU): 融合加速度计、陀螺仪、磁力计数据计算姿态角 (Roll, Pitch, Yaw)。常用 DMP (MPU6050) 或软件算法 (如 Mahony, Madgwick 滤波)。
- 振动/敲击检测。
-
驱动执行器:
- 直流电机: 通过 H 桥驱动芯片 (L298N, TB6612) 控制方向和速度 (PWM)。
- 步进电机: 通过驱动器 (如 A4988, DRV8825) 或 ULN2003 驱动板控制旋转角度和速度。
- 舵机: 通过 PWM 控制角度。
- 继电器模块: 控制交流大功率电器(务必注意高压安全!)。
- 电磁阀/水泵控制。
三、 人机交互与显示实验(可视化界面)
-
显示屏应用:
- 字符型 LCD: 1602, 2004 LCD (通常并行或 I2C)。
- 点阵型 OLED: 0.96寸 SSD1306 (I2C/SPI),显示图形、汉字、动画。
- 彩色 TFT LCD: 如 SPI 接口的 ST7735, ILI9341,实现更复杂的图形界面 (GUI)。
- 触摸屏集成: 电阻屏/电容屏,实现交互式界面。
- LED 点阵屏: 8x8, 16x16 等,显示滚动文字、简单动画。
-
输入设备:
- 旋转编码器: 精确调节数值、菜单选择。
- 触摸按键/电容触摸: 利用 STM32 的触摸感应外设 (TSC)。
- 矩阵键盘: 自定义输入面板。
- 摇杆: 模拟量输入控制方向。
- 红外遥控解码: 接收和处理电视机遥控器等信号。
四、 高级功能与系统实验(提升能力)
-
实时操作系统 :
- 学习使用 FreeRTOS, uC/OS-II/III 等 RTOS。
- 实验:多任务创建、调度与管理;任务间通信 (队列、信号量、互斥锁);优先级反转处理;软件定时器。
-
文件系统:
- 在 SD/TF 卡上实现 FATFS 文件系统读写。
- 实验:数据记录仪(定时将传感器数据写入 CSV/TXT 文件);读取配置文件;存储图片/音频资源。
-
USB 设备:
- USB CDC (虚拟串口): 替代 USB 转 TTL 模块,直接通过 USB 线与 PC 通信。
- USB HID: 自制 USB 键盘、鼠标、游戏手柄。
- USB MSC: 将 STM32 + SD 卡模拟成 U 盘。
- USB Audio: 简易 USB 声卡/麦克风。
-
网络通信:
- 有线以太网: 使用 ENC28J60 或内置 Ethernet MAC (搭配 PHY 芯片) 实现 TCP/IP 通信 (LwIP 协议栈),如 Web 服务器、TCP/UDP 客户端/服务器。
- 无线 WiFi: 通过 ESP8266/ESP32 模块实现连接路由器、MQTT 通信、访问网络 API。
- 无线蓝牙: 通过 HC-05/06 或 BLE 模块实现与手机 App 通信。
-
低功耗管理 :
- 学习 STM32 的低功耗模式 (Sleep, Stop, Standby)。
- 实验:配置 RTC 闹钟唤醒;使用外部中断唤醒;测量不同模式下的功耗;设计电池供电的长时间监测设备。
-
数字信号处理 :
- 使用 CMSIS-DSP 库: 实现 FFT (频谱分析)、FIR/IIR 滤波、基本数学运算。
- 实验:音频信号处理、振动信号分析、简单图像处理。
-
电机控制 :
- 高级定时器: 精确 PWM 生成、死区控制。
- 直流有刷电机闭环控制: 加入编码器反馈实现位置/速度 PID 控制。
- 无刷直流电机控制: 学习 FOC (磁场定向控制) 基础 (需要较强的理论和实践能力)。
-
人工智能边缘计算 :
- 利用 STM32Cube.AI 工具将训练好的轻量级 AI 模型 (TensorFlow Lite, ONNX) 部署到 STM32。
- 实验:图像分类 (如识别简单物体、手势)、语音关键词识别、异常检测 (基于传感器数据)。
五、 综合项目与应用(融会贯通)
- 智能小车/机器人:
- 循迹小车、避障小车、蓝牙/WiFi 遥控小车、视觉巡线小车 (搭配摄像头)。
- 机械臂控制。
- 环境监测站: 采集温湿度、气压、光照、空气质量等数据,本地显示并上传到网络平台或手机。
- 智能家居控制中心: 控制灯光、插座、窗帘,接收传感器信息。
- 数据记录仪/黑匣子: 长时间记录传感器数据到 SD 卡。
- 简易示波器/逻辑分析仪: 利用 ADC 和高速采样配合显示屏。
- 游戏机: 基于 LCD 和按键的复古小游戏 (如贪吃蛇、俄罗斯方块)。
- 数字音频播放器: 解码 WAV/MP3 (需解码库或芯片),通过 DAC 或 I2S 输出。
- 物联网节点: 通过 WiFi/蓝牙/以太网/LoRa/NB-IoT 将数据上传到云平台 (阿里云、腾讯云、ThingsBoard 等)。
- CAN 总线分析仪/节点: 用于汽车或工业网络调试。
总结
STM32 的功能非常强大,几乎涵盖了嵌入式系统所需的所有基础外设和高级特性。学习路径通常是:
- 从 GPIO、定时器、中断、串口 等基础开始。
- 逐步扩展到常用 传感器、显示模块、通信协议。
- 学习 RTOS、文件系统、网络协议栈 构建复杂系统。
- 探索 USB、低功耗、DSP、电机控制、AI 等高级主题。
- 综合运用知识完成 实际项目。
利用开发板(如 STM32F1/F4 的 Blue Pill, Black Pill, Nucleo, Discovery 系列)和丰富的开源库(HAL/LL, Standard Peripheral Library, CubeMX 配置工具)以及社区资源,可以高效地进行学习和实验开发。动手实践是掌握 STM32 的最佳途径!
什么是STM32? STM32与ARM有什么关系? STM32能做什么?
什么是STM32? STM32与ARM有什么关系?STM32能做什么?
ROSE1017
2021-10-22 06:36:25
stm32能做什么
stm32能做什么,STM 32的主系统STM32主系统主要由四个驱动单元和四个被动单元构成。四个驱动单元是: 、内核 DCode 总线;系统总线;通用 DMA1;通用 DMA2;四被动单元
zh咖啡不加糖
2021-08-05 07:09:27
OpenHarmony能做什么 openharmony怎么用
6月1日,OpenHarmony 2.0 Canary 开源版本正式发布。OpenHarmony能做什么?openharmony怎么使用?下面就由小编来简单介绍一下!
2021-06-22 10:45:04
micropython的TPYBoard能做什么
能跑micropython的TPYBoard能做什么?MicroPython基于ANSI C,语法跟Pyton 3基本一致,拥有自家的解析器、编译器、虚拟机和类库等。目前他支持基于32-bit
fejlkel
2021-08-06 06:55:09
树莓派能做什么
第一课:什么是树莓派第二课:树莓派能做什么第三课:购买您的第一个树莓派第四课:如何安装树莓派系统第五课:树莓派Python编程手册第六课:树莓派Python Led实验第七课:树莓派Python
科源机电
2021-09-10 07:28:21
树莓派能做什么
回顾第二课介绍了树莓派经典的10个项目——树莓派能做什么NO.1 树莓派实现VRNO.2 自平衡目标识别机器人NO.3 制作奥利奥饼干的机器NO.4 吉他效果器NO.5 DJ打碟机NO.6 电子鼓
打马过草原
2021-07-26 07:14:38
人工智能能做什么
人工智能能做什么 人工智能(Artificial Intelligence,AI)是一种模拟人类思维的技术,它可以实现自主学习、识别图像、自然语言处理、决策推理等一系列高级任务。当前,随着AI技术
2023-08-12 16:33:20
什么是 I/O 口?I/O 具体能做什么呢
电平 ,输出高低电平。就是通过这简单的控制电平来实现大多数的应用控制。1. 什么是 I/O 口?I 表示 IN(输入),O 表示 OUT(输出),所以 I/O = 输入/输出2. I/O 具体能做什么呢?如果你是刚刚步入电子的新手,那你最好要知道一下I/O口具体能做什么。感性的认识对你的..
uwufjwer
2021-11-24 06:47:23
ucore lab1有什么?实现功能后能做什么
ucore lab1有什么?实现功能后能做什么?操作系统镜像文件ucore.img是如何一步一步生成的?
Oo一笑
2021-10-20 06:33:44
虚拟主机能做什么_虚拟主机的优缺点
虚拟主机能做什么?虚拟主机技术极大的促进了网络技术的应用和普及,虚拟主机的租用服务为许多企业和个人提供了IT基础设施应用。下面我们介绍下虚拟主机最常用来做什么。
2020-05-06 10:57:29
白光干涉仪有哪些功能?能做什么?
通过之前的文章, 相信大家已初步了解白光干涉仪原理和优势。 _______________________________ 那白光干涉仪能做什么? 今天小优博士带大家了解白光干涉仪的几个经典用途
2023-05-11 18:49:44
工业机器人能做什么工作_工业机器人的工作范围
工业机器人能做什么工作呢?工业机器人在生产车间中有负责码垛的,也有负责搬运的,还有上下料机器人,喷涂机器人,焊机机器人等等。
2020-03-20 14:14:14
单片机能做什么
单片机原理与实践第一课(更新时间:2021.9.2)1.单片机能做什么单片机是一种可通过编程控制的微处理器,单片机芯片自身不能单独运用于某项工程或产品上,它必须要靠外围数字器件或模拟器件的协调才
无厘头
2021-12-01 07:17:23
单片机能做什么
和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。单片机结构框图如下:2、单片机能做什么...
gsdafs
2021-07-15 07:57:50
边缘AI它到底是什么?能做什么?
边缘AI它到底是什么?能做什么? 边缘人工智能是一种新兴的人工智能技术,它将人工智能的计算和决策能力移动到离数据生成源和终端设备更近的边缘节点上。与传统的云计算方式相比,边缘AI将计算和决策推向网络
2024-01-11 14:44:53
请问16~32点逻辑分析仪能做什么?
公司10年前太克的已经报废,因为大家都懒得钩现在的 FPGA 都有内建软核逻辑分析仪,每次测都上百点...16~32点逻辑分析仪能做什么? FPGA 运行都破百 MHZ..不知道号称n百MHZ逻辑分析仪抓的到吗?
vuywsdfwf
2019-09-04 23:50:44
单片机原理和它到底能做什么
物联网和5G技术成熟啊,也很多小伙伴看到单片机在未来发展的无限可能。最近也收到很多小伙伴的问题,说单片机到底要怎么学啊,编程好难啊。对于这种问题我在别的文章回答过很多次,这里就不再阐述了。今天我们来主要来讲一下单片机原理和它到底能做什么。我尽量用大白话啊,有时候太学术化的东西虽然看起来很专业,但是不
uuwfjwer
2021-11-23 06:05:55
Python能做什么?自学Python获得人生的第一桶金经验分享
Python能做什么?Python是什么玩意?有这么神?偷偷搜了一下,我却吓了一跳。早就有一大批人,专门用Python搞各种骚操作。论坛里到处都是他们在秀战绩:抢鞋:每秒发起上千次点击,黑摩卡被人原价拿下。
2021-01-04 17:35:50