STM32电压传感器 📅 发布时间:2026/7/9 0:05:39 👁️ 浏览次数: 目录一、介绍二、传感器原理1.实物图2.引脚描述三、程序设计main.c文件voltag.c.文件voltag.h文件四、实验效果五、资料获取项目分享一、介绍此模块基于电阻分压原理所设计能使端子接口输入的电压缩小5倍模拟输出电压最大为5V那么电压检测模块的输入电压则不能大于5V*525V(如果用到3.3V系统输入电压不能大于3.3V*516.5V)。以下是电压传感器的参数工作DC3.3/5V电压输入范围DC 0~25V电压模拟分辨率0.0061V尺寸28×14mm哔哩哔哩视频链接https://www.bilibili.com/video/BV1LdPszdE6h/?spm_id_from333.1387.homepage.video_card.clickvd_source199aed5297a00e80e1faf7e270afe8d7资料分享见文末二、传感器原理1.实物图2.引脚描述引脚名称描述VCC供给电压DCGND地线S模拟电压输出信号三、程序设计1.使用STM32F103C8T6读取土壤湿度传感器采集的数据通过串口发送至电脑2.将读取得到的数据同时在OLED上显示土壤湿度AOPA0OLED_SCLPB11OLED_SDAPB10串口串口1main.c文件#include stm32f10x.h #include delay.h #include oled.h #include voltage.h /*****************辰哥单片机设计****************** STM32 * 文件 : 电压传感器实验 * 版本 : V1.0 * 日期 : 2026.3.4 * MCU : STM32F103C8T6 * 接口 : 见代码 * IP账号 : 辰哥单片机设计同BILIBILI|抖音|快手|小红书|CSDN|公众号|视频号等 * 作者 : 辰哥 * 工作室 : 异方辰电子工作室 * 官方网站 : www.yfcdz.cn **********************BEGIN***********************/ // 将浮点数拆分为整数和小数保留 2 位小数 static void Float2IntDec(float value, uint32_t *intp, uint32_t *decp) { uint32_t temp (uint32_t)(value * 100.0f 0.5f);// 放大 100 倍并四舍五入 *intp temp / 100;// 整数部分 *decp temp % 100;// 小数部分2 位 } int main(void) { SystemInit(); delay_init(72); OLED_Init(); Voltage_Init(); // 初始化 PA0 ADC uint32_t int_part, dec_part; while (1) { float volt ADC_GetVoltage(); // 获取电压 Float2IntDec(volt, int_part, dec_part); // 拆分为整数/小数 // OLED 显示 OLED_ShowChinese(0, 0, 0, 16, 1); // 电 OLED_ShowChinese(16, 0, 1, 16, 1); // 压 OLED_ShowChar(32, 0, :, 16, 1); OLED_ShowNum(40, 16, int_part, 2, 16, 1); OLED_ShowChar(56, 16, ., 16, 1); OLED_ShowNum(64, 16, dec_part, 2, 16, 1); OLED_ShowChar(88, 16, V, 16, 1); OLED_Refresh(); delay_ms(500); } }voltag.c文件#include voltage.h #include delay.h /*****************辰哥单片机设计****************** STM32 * 文件 : 电压传感器实验 * 版本 : V1.0 * 日期 : 2026.3.4 * MCU : STM32F103C8T6 * 接口 : 见代码 * IP账号 : 辰哥单片机设计同BILIBILI|抖音|快手|小红书|CSDN|公众号|视频号等 * 作者 : 辰哥 * 工作室 : 异方辰电子工作室 * 官方网站 : www.yfcdz.cn **********************BEGIN***********************/ // 初始化 ADC配置指定引脚为模拟输入 void Voltage_Init(void) { GPIO_InitTypeDef GPIO_InitStruct; ADC_InitTypeDef ADC_InitStruct; // 1. 使能 GPIO 和 ADC 时钟 RCC_APB2PeriphClockCmd(ADC_GPIO_CLK | ADC_CLK, ENABLE); // 2. ADC 时钟分频72MHz / 6 12MHz RCC_ADCCLKConfig(RCC_PCLK2_Div6); // 3. 配置 GPIO 为模拟输入 GPIO_InitStruct.GPIO_Pin ADC_GPIO_PIN; GPIO_InitStruct.GPIO_Mode GPIO_Mode_AIN; GPIO_Init(ADC_GPIO_PORT, GPIO_InitStruct); // 4. ADC 基本配置 ADC_InitStruct.ADC_Mode ADC_Mode_Independent; // 独立模式 ADC_InitStruct.ADC_DataAlign ADC_DataAlign_Right; // 右对齐 ADC_InitStruct.ADC_ExternalTrigConv ADC_ExternalTrigConv_None; // 软件触发 ADC_InitStruct.ADC_ContinuousConvMode DISABLE; // 单次转换 ADC_InitStruct.ADC_ScanConvMode DISABLE; // 非扫描 ADC_InitStruct.ADC_NbrOfChannel 1; // 通道数 ADC_Init(ADCx, ADC_InitStruct); // 5. 使能 ADC 并校准 ADC_Cmd(ADCx, ENABLE); ADC_ResetCalibration(ADCx); while (ADC_GetResetCalibrationStatus(ADCx)); // 等待复位校准完 ADC_StartCalibration(ADCx); while (ADC_GetCalibrationStatus(ADCx)); // 等待校准完成 } // 读取指定引脚电压8 次平均返回电压值 float ADC_GetVoltage(void) { uint16_t sum 0; uint8_t i; // 配置 ADC 通道和采样时间 ADC_RegularChannelConfig(ADCx, ADC_CHANNEL, 1, ADC_SampleTime_239Cycles5); for (i 0; i 8; i) // 8 次采样平均 { ADC_SoftwareStartConvCmd(ADCx, ENABLE); // 启动转换 while (!ADC_GetFlagStatus(ADCx, ADC_FLAG_EOC)); // 等待转换完成 sum ADC_GetConversionValue(ADCx); // 累加 ADC 原始值 delay_us(10); // 微小间隔确保 ADC 稳定 } float adc_average sum / 8.0f; //计算平均原始值 float voltage (adc_average * VREF) / ADC_RESOLUTION; // 平均值 × 参考电压 / 分辨率 voltage * VOLT_DIV_RATIO; // 还原真实电压考虑分压 return voltage; }voltag.h文件#ifndef __VOLTAGE_H #define __VOLTAGE_H #include stm32f10x.h /*****************辰哥单片机设计****************** STM32 * 文件 : 电压传感器实验 * 版本 : V1.0 * 日期 : 2026.3.4 * MCU : STM32F103C8T6 * 接口 : 见代码 * IP账号 : 辰哥单片机设计同BILIBILI|抖音|快手|小红书|CSDN|公众号|视频号等 * 作者 : 辰哥 * 工作室 : 异方辰电子工作室 * 官方网站 : www.yfcdz.cn **********************BEGIN***********************/ // 选择 ADC 编号 #define ADCx ADC1 #define ADC_CLK RCC_APB2Periph_ADC1 // 选择 GPIO 端口和引脚 #define ADC_GPIO_PORT GPIOA #define ADC_GPIO_PIN GPIO_Pin_0 #define ADC_GPIO_CLK RCC_APB2Periph_GPIOA // 对应的 ADC 通道 #define ADC_CHANNEL ADC_Channel_0 // 电压计算参数 #define VREF 3.3f // 参考电压 #define ADC_RESOLUTION 4095 // 12 位 ADC 分辨率 #define VOLT_DIV_RATIO 5.0f // 分压比 // void Voltage_Init(void); // 初始化 ADC float ADC_GetVoltage(void); // 获取 PA0 引脚电压V #endif四、实验效果五、资料获取项目分享
100吨四柱液压机(全套共86份CAD图纸+使用说明书) 100吨四柱液压机作为工业领域的关键设备,其核心作用在于通过液压系统传递压力,实现对金属或非金属材料的成型、冲压、弯曲等工艺操作。该设备采用四柱式结构,由上横梁、滑块、工作台及四根立柱构成刚性框架,确保压力传递的均匀性与… 2026/7/8 11:49:18
android studio带tool前缀的属性都是预览用的-----不会起作用 比如:tool:srcCompat 如果用这个设置图片,那么只会在预览界面看到,但是实际显示的时候不会出现只有设置app:srcCompat这样的 才会起作用 2026/7/6 12:22:49
COMSOL模拟水力压裂:结合固体力学与达西定理的深入探究 comsol模拟水力压裂,固体力学达西定理当岩石遇上流体:COMSOL水力压裂模拟实战水力压裂技术听起来像是一种暴力美学——通过高压流体把地层撑开裂缝,让油气资源乖乖流出来。这背后其实是固体力学与流体动力学的极限拉扯。用COMSOL搞这个模拟&a… 2026/7/8 19:03:23
Keras 与 OpenCV 人脸检测对比:95% 准确率模型 vs Haar Cascade 级联分类器 Keras 与 OpenCV 人脸检测技术深度对比:从算法原理到工程实践在计算机视觉领域,人脸检测作为基础且关键的技术环节,直接影响着后续识别、分析和交互等高级应用的性能表现。当前主流的人脸检测方法主要分为两大阵营:基于传统特征工… 2026/7/9 0:05:09
【大数据毕业设计】基于多源旅游数据的景区热度分析与推荐系统的设计与实现 基于 Django 的旅游偏好挖掘与景区推荐系统(源码+文档+远程调试,全bao定制等) 博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am… 2026/7/9 0:05:09
GBase 8a vs MySQL 8.0:ALTER TABLE语法与限制的5点关键差异对比 GBase 8a与MySQL 8.0:ALTER TABLE语法差异深度解析与实战指南1. 两种数据库的ALTER TABLE能力全景对比在数据库架构设计和运维过程中,表结构变更(DDL操作)是不可避免的需求。GBase 8a作为国产分析型数据库代表,与开源M… 2026/7/9 0:03:06
机器视觉与PLC集成:轮毂缺陷检测与字符识别误差控制在0.2mm内 机器视觉与PLC集成:轮毂缺陷检测与字符识别误差控制在0.2mm内的技术实现轮毂作为汽车关键零部件,其表面质量直接影响行车安全与美观。传统人工检测效率低且易漏检,而采用机器视觉与PLC集成方案可实现微米级精度检测。本文将深入解析高精度视觉… 2026/7/9 0:01:04
Ansible的AWX与作业模板调度 在当今快速迭代的IT运维与开发领域,自动化已成为提升效率、保障一致性的核心支柱。Ansible作为一款强大的IT自动化工具,以其无代理、简单易用的特点广受欢迎。而AWX,作为Ansible上游项目提供的企业级Web界面、API及任务引擎,则将A… 2026/7/8 23:59:03
Unity WebGL部署Apache Tomcat:MIME配置、Gzip压缩与缓存优化实战 1. 项目概述:当Unity WebGL遇上Apache Tomcat如果你是一名Unity开发者,想把精心制作的WebGL游戏或应用部署到自己的服务器上,那么Apache Tomcat大概率是你绕不开的一环。这不仅仅是把一堆构建出来的文件扔进一个文件夹那么简单。我见过太多项… 2026/7/8 23:59:03
机器视觉与PLC集成:轮毂缺陷检测与字符识别误差控制在0.2mm内 机器视觉与PLC集成:轮毂缺陷检测与字符识别误差控制在0.2mm内的技术实现轮毂作为汽车关键零部件,其表面质量直接影响行车安全与美观。传统人工检测效率低且易漏检,而采用机器视觉与PLC集成方案可实现微米级精度检测。本文将深入解析高精度视觉… 2026/7/9 0:01:04
GBase 8a vs MySQL 8.0:ALTER TABLE语法与限制的5点关键差异对比 GBase 8a与MySQL 8.0:ALTER TABLE语法差异深度解析与实战指南1. 两种数据库的ALTER TABLE能力全景对比在数据库架构设计和运维过程中,表结构变更(DDL操作)是不可避免的需求。GBase 8a作为国产分析型数据库代表,与开源M… 2026/7/9 0:03:06
【大数据毕业设计】基于多源旅游数据的景区热度分析与推荐系统的设计与实现 基于 Django 的旅游偏好挖掘与景区推荐系统(源码+文档+远程调试,全bao定制等) 博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am… 2026/7/9 0:05:09
6个月转型AI工程师:实战路径与核心技能 1. 项目概述:6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下,AI工程师岗位需求同比增长217%(LinkedIn数据)。不同于传统算法工程师需要3-5年培养周期,现代AI工程师更侧重工程化落地能力。我在硅谷科技公… 2026/7/7 11:26:57
TPAFE0808与PIC18F87K22的多通道信号采集方案 1. 项目背景与核心需求在工业自动化、医疗设备和科研仪器等领域,多通道信号采集与系统监测是基础且关键的技术需求。传统方案往往面临通道数量不足、信号调理复杂、系统集成度低等问题。TPAFE0808作为一款8通道模拟前端芯片,与PIC18F87K22微控制器的组合… 2026/7/8 20:15:17
STC3115与PIC18LF26K80构建高精度电池管理系统 1. STC3115与PIC18LF26K80在电池管理系统中的核心价值在现代电子设备中,电池管理系统(BMS)的重要性不亚于设备的核心处理器。STC3115作为一款高精度电池电量监测IC,与PIC18LF26K80微控制器的组合,构成了一个既能精确监控又能智能管理的完整解… 2026/7/8 14:25:08