STM32单片机雨滴模块
STM32单片机雨滴模块
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- STM32单片机雨滴模块
- 前言
- 一、设备说明
- 二、部分关键代码
- 1.初始化ADC采集
- 2.读入数据
- 总结
前言
STM32单片机雨滴模块功能实现
一、设备说明
单片机:STM32f103zet6
雨滴模块
片描述
二、部分关键代码
1.初始化ADC采集
代码如下(示例):
void Adc_Init(void)
{ ADC_InitTypeDef ADC_InitStructure; GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA |RCC_APB2Periph_ADC1 , ENABLE ); //使能ADC1通道时钟RCC_ADCCLKConfig(RCC_PCLK2_Div6); //设置ADC分频因子6 72M/6=12,ADC最大时间不能超过14M//PA1 作为模拟通道输入引脚 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; //模拟输入引脚GPIO_Init(GPIOA, &GPIO_InitStructure);
//**All notes can be deleted and modified**//ADC_InitStructure.ADC_Mode = ADC_Mode_Independent; //ADC工作模式:ADC1和ADC2工作在独立模式ADC_InitStructure.ADC_ScanConvMode = DISABLE; //模数转换工作在单通道模式ADC_InitStructure.ADC_ContinuousConvMode = DISABLE; //模数转换工作在单次转换模式ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None; //转换由软件而不是外部触发启动ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; //ADC数据右对齐ADC_InitStructure.ADC_NbrOfChannel = 1; //顺序进行规则转换的ADC通道的数目ADC_Init(ADC1, &ADC_InitStructure); //根据ADC_InitStruct中指定的参数初始化外设ADCx的寄存器 ADC_Cmd(ADC1, ENABLE); //使能指定的ADC1 ADC_ResetCalibration(ADC1); //使能复位校准 while(ADC_GetResetCalibrationStatus(ADC1)); //等待复位校准结束 ADC_StartCalibration(ADC1); //开启AD校准while(ADC_GetCalibrationStatus(ADC1)); //等待校准结束
2.读入数据
代码如下(示例):
adcx=Get_Adc_Average(ADC_Channel_0,5);//读取ad转换值 5次求平均 printf(" adcx %d\r\n",adcx); sensorVal =99-((float)adcx*3.3/4096)*2*99.0/5.0;// 采集值 *2表示电阻分压 输出最大5v 但是要转化为最大3.3v sensorVal =99-((float)adcx*3.3/4096)*99.0/5.0;printf(" sensorVal %d\r\n",sensorVal);if(sensorVal<BASICS_VAL)sensorVal = 0;//过滤传感器本身自带电压else{sensorVal = (sensorVal-BASICS_VAL)*99/(99-BASICS_VAL);//将30-99值转化为0-99的值}printf(dis0,"nowValue:%d ",sensorVal); //打印 if(setMode){printf(dis1,"setValue:%02d< ",setNum); //打印 }else{printf(dis1,"setValue:%02d ",setNum); }
总结
最后输出的结果:
根据测试,雨滴模块浸入水的深度不同,返回的电压值转化成的adc值不同:
完全无水的情况返回的adc值为4096;
完全浸入水中返回值接近400(是因为有模块供电的电压)。
根据400~4096的区间,按百分比输出,无水情况输出0,完全浸没输出99;
STM32单片机雨滴模块相关推荐
- STM32单片机智能语音温控摇头电风扇落地扇可红外遥控可PWM调速定时温度显示
实践制作DIY- GC0074-智能语音温控摇头电风扇 一.功能说明: 基于STM32单片机设计-智能语音温控摇头电风扇 功能介绍: 硬件组成:STM32单片机+语音识别模块+DS18B20温度传感器 ...
- STM32单片机蓝牙APP手势语音温控电风扇落地扇人体感应
实践制作DIY- GC0134-蓝牙APP手势语音温控电风扇 一.功能说明: 基于STM32单片机设计-蓝牙APP手势语音温控电风扇 二.功能介绍: 硬件组成:STM32单片机+语音识别模块+P ...
- stm32通过wifi模块实现手机远程控制灯与舵机
由于对wifi模块的控制需要,在网上找了许多资料,发现wifi模块通过单片机进行通讯的代码不多,也有一些存在着错误,于是便自己写了一个wifi控制舵机和灯的程序,记录下来 stm32通过wifi模块实 ...
- 【Proteus仿真】【STM32单片机】温度报警控制系统设计
文章目录 一.主要功能 二.硬件资源 三.软件设计 四.实验现象 联系作者 一.主要功能 本项目使用Proteus8仿真STM32单片机控制器,使用继电器模块.DS18B20温度传感器模块.LCD16 ...
- 【Proteus仿真】【STM32单片机】步进电机控制系统设计
文章目录 一.主要功能 二.硬件资源 三.软件设计 四.实验现象 联系作者 一.主要功能 本项目使用Proteus8仿真STM32单片机控制器,使用ULN2003电机模块.LCD1602模块.按键模块 ...
- 基于STM32单片机智能自动伸缩衣架雨滴重量光强温度检测伸缩速度可调-蓝牙版
实践制作DIY- GC0010-智能自动伸缩衣架 一.功能说明: 基于STM32单片机设计-智能自动伸缩衣架 功能介绍: 基于STM32F103C系列,LCD1602显示器,光敏电阻采集光强,雨滴传感 ...
- STM32单片机蓝牙APP自动伸缩遮阳棚雨伞雨滴角度温度光强控制
实践制作DIY- GC0130-蓝牙APP自动伸缩遮阳棚 一.功能说明: 基于STM32单片机设计-蓝牙APP自动伸缩遮阳棚 二.功能介绍: 基于STM32F103C系列,LCD1602显示器,光敏电 ...
- 基于STM32单片机窗帘窗户晾衣架雨滴光照检测控制系统电子代
基于STM32单片机窗帘窗户晾衣架雨滴光照检测控制系统电子代 硬件构成: STM32单片机+最小系统+液晶LCD1602显示+蜂鸣器报警模块+设置按键+雨滴检测模块+光敏电阻模块5516+ULN200 ...
- STM32单片机SIM800C创客GSM短信GPRS可编程模块SDK二次开发DIY
STM32单片机SIM800CGSM电话短信GPRS网络可编程模块SDK二次开发 板载STM32F103RCT6单片机,板载LDO,板载SIM800C,有SDK,有基础技术支持,可深度定制. 通过我们 ...
- STM32单片机通过ESP8266WiFi模块与Android APP实现数据传输(二)---上位机搭建
事物的难度远远低于对事物的恐惧 完成对STM32单片机和ESP8266 WiFi模块的配置之后,接下来需要完成Android APP代码的编写以及实现. 1.添加网络权限 因为我们需要对WiFi进行操 ...
最新文章
- Java性能压测-性能监控-jvisualvm使用
- JSR303自定义校验注解
- 6月26号.NET面试题(程序题部分)只要做懂这3道题肯定能脱离菜鸟称号!
- python递归和循环的区别_递归与伪递归区别,Python 实现递归与尾递归
- ZooKeeper 典型的应用场景
- 谈谈JavaScript的ECMA5中forEach
- WebDAV 是什么
- PHP5.4 Apache Mysql搭配与多站点配置
- wso2 ei 6.4.0安装笔记
- Abaqus帮助文档翻译——启动和退出Abaqus/CAE
- 电磁流量计 ADMAG AXG系列
- excel表格数字显示不全_Excel表格中输入数字最后几位数变成0的解决方法
- java网络病毒_网络病毒是由因特网衍生出的新一代病毒,即JAVA及ACTIVEX病毒。 (),不被人们察觉。...
- 个人建站用php,个人用不花钱 8款PHP建站软件推荐
- 【项目】费曼技巧,终极学习法
- 蜘蛛程序php,php模仿百度spider蜘蛛爬虫程序例子
- 使用iperf测试网络性能
- 第二次上机作业 (数组综合)
- 算法学习笔记:简单数据结构及排序算法
- 什么样的软件架构是好的?