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

STM32 cubeMX 光敏电阻AD转化实验

文章代码使用 HAL 库。

文章目录

  • 前言
  • 一、光敏电阻介绍
  • 二、光敏电阻原理图解析
  • 三、ADC采样介绍
      • 1. 工作原理:
      • 2. ADC精度:
  • 四、STM32 cubeMX配置ADC采样
  • 五、代码编写
  • 总结

前言


  • 实验开发板:STM32F051K8。
  • 所需软件:keil5 , cubeMX 。
  • 实验目的:了解 cubeMX 定时器 的配置和使用。

一、光敏电阻介绍

光敏电阻模块,也称为光敏电阻传感器或光敏电阻模块,是一种用于检测光照强度变化的传感器设备。它通常由光敏电阻元件,调节电阻,输出电路组成,可以方便地与微控制器或其他电子设备连接,用于在光照条件变化时输出相应的电信号。

二、光敏电阻原理图解析

光敏电阻连接到了A1端口:
在这里插入图片描述

A1端口是开发板上的PA4端口:
在这里插入图片描述

三、ADC采样介绍

当涉及模拟信号(例如声音、光线、温度等)需要在数字系统(如计算机或微控制器)中进行处理时,需要将其转换为数字形式。模拟-数字转换器(ADC)负责执行这一过程。

1. 工作原理:

  1. 采样: 这是ADC的第一步,它连续或间断地测量输入模拟信号的值。在这个阶段,ADC以一定的时
    间间隔对模拟信号进行采样。
  2. 量化: 采样得到的模拟信号需要被量化。量化过程将连续的模拟信号转换为离散的数字值。ADC根
    据采样时的精度将信号转换为对应的数字表示,例如,8位、10位、12位或更高的精度。
  3. 编码: 编码将量化的样本转换为二进制数字。这个数字代表了信号的大小,以便在数字系统中进行
    处理和存储。

2. ADC精度:

ADC(模拟-数字转换器)精度是指ADC输出的数字值与实际模拟输入之间的差异程度。精度是ADC性能的一个重要指标,通常以位(bits)为单位表示。更高的精度通常意味着更准确的数字表示。

  1. 位数: 精度通常以位数表示,比如8位、10位、12位等。一个N位的ADC可以表示2^N个不同的数
    字值。例如,一个10位ADC可以表示2^10(1024)个不同的数字。
  2. 分辨率: 分辨率是指ADC能够将模拟输入范围分成多少个离散的步骤。与位数直接相关,分辨率越
    高,ADC能够区分的模拟输入的微小变化就越多。

四、STM32 cubeMX配置ADC采样

在这里插入图片描述

五、代码编写

通过 AD 转换将光敏电阻的模拟信号转化为数字信号。

int adc_val = 0;// ADC 开启
HAL_ADC_Start(&hadc);// 获取 ADC 值
adc_val = HAL_ADC_GetValue(&hadc);
printf("adc_val : %d\r\n", adc_val);HAL_Delay(1000);		// 每一秒打印一次ADC值

示例:
在这里插入图片描述


总结

下一篇文章为大家介绍 stm32 温湿度模块。

http://www.lryc.cn/news/268276.html

相关文章:

  • AutoSAR(基础入门篇)3.2-Autosar中RTE的Ports【S/R】与【C/S】
  • 安装kafka
  • [MySQL] MySQL 高级(进阶) SQL 语句
  • 创建springboot项目
  • “双十一、二” 业务高峰如何扛住?韵达快递选择 TDengine
  • STM32L432+LIS3DH【加速度传感器】:端侧AI
  • VCG Mesh刚性旋转(变换矩阵)
  • R语言【base】——system.file() 在软件包等中查找文件的完整文件名。
  • HTML制作暴雨特效
  • cesium实现区域贴图及加载多个gif动图
  • blackbox黑盒监控部署(k8s内)tensuns专用
  • “C语言“——scanf()、getchar() 、putchar()、之间的关系
  • Spring Boot3 Web开发技术
  • 学习笔记:数据挖掘与机器学习
  • highcharts的甘特图设置滚动时表头固定,让其他内容跟随滚动
  • ElasticSearch 架构设计
  • HTML---定位
  • JVM高频面试题(2023最新版)
  • webpack学习-7.创建库
  • MQTT - 笔记
  • Django 安装
  • 推荐一个vscode看着比较舒服的主题:Dark High Contrast
  • YCSB 测试表预分区
  • K8s 教程
  • python:改进型鳟海鞘算法(SSALEO)求解23个基本函数
  • Hive-数据模型详解(超详细)
  • docker的常规使用总结
  • CSS 文字弹跳效果
  • 什么是动态IP?静态IP和动态IP有什么区别?
  • Linux 与 Shell