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.mzph.cn/news/547262.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

tls握手浅析

首先上图: tcp三次握手完毕 tls: 1、client hello client random 支持的tls 支持的算法 2、server hello server random 选择的tls协议 选择的算法 证书 公钥 3、client 公🔑加密后的。 premaster secret server 私钥解密得到 premas…

第二题:坦克游戏1.0(方法:动态规划)

stO 在此给某位靠打01背包处理射程并AC的大神跪了 Orz 问题描述: henry公司最近推出了一款新的坦克游戏。在游戏中,你将操纵一辆坦克,在一个NM的区域中完成一项任务。在此的区域中, 将会有许多可攻击的目标&…

linux 使用systemctl 设置java进程开机启动,管理springboot开机进程

该过程默认已经安装jdk。java程序启动方式有多重,列出如下几种。 1、java -jar demo.jar 使用该命令程序在控制台输出启动,当按下CtrlC和关闭终端时,程序会终止。输出日志,在后面加上 > 文件名,如:java…

Opencv 深度学习识别性别和检测年龄

目录 1基于CNN的性别分类建模原理 1.1 人脸识别 1.2 性别预测 1.3 年龄预测 1.4 结果 2 代码 参考 本教程中,我们将讨论应用于面部的深层学习的有趣应用。我们将估计年龄,并从单个图像中找出该人的性别。模型由GilLevi和TalHassner训练&#xff0…

结构体和联合体

结构体: 8个为一个内存地址 依次向下 联合体: 共用一块内存地址 调试可以gcc -g -o输出编译。然后gdb执行 d打断点。n下一行。p输出。查看每一个所占的内存地址 宏定义和使用 #define 宏名称 “实现什么东西” 大小端 可以自行判断自己电脑 摘自…

Log4j的应用实例

建一张表,如下: create table log4j( logId int not null auto_increment,--流水号 createDate varchar(45) default null,--日志生成时间 thread varchar(45) default null,--当前线程 level varchar(45) default null,--当前日志的级别 …

AgileEAS.NET SOA 中间件平台.Net Socket通信框架-完整应用例子-在线聊天室系统-代码解析...

一、AgileEAS.NET SOA中间件Socket/Tcp框架介绍 在文章AgileEAS.NET SOA 中间件平台.Net Socket通信框架-介绍一文之中我们对AgileEAS.NET SOA中间Socket/Tcp框架进行了总体的介绍,我们知道 AgileEAS.NET SOA中间件Socket/Tcp框架是一套Socket通信的消息中间件&…

小程序如何跳转到各大电商小程序进行CPS赚钱

小程序系统广告门槛高,流量主费用低,个人开发者难以变现。电商CPS也是一种不错的变现方式,在自己的小程序内添加购物优惠导航入口。自己小程序的用户通过导航跳转到电商平台,进行购物,购物完成结算后,作为开…

安装composer以及laravel框架

Linux系统下安装laravel框架 在linux系统下安装laravel: 1.下载到windows系统下,使用FTP(FileZilla是一种快速、可信赖的FTP客户端以及服务器端开放源代码程式,具有多种特色、直接的接口。FileZilla在2002年11月获选为当月最佳推荐专案.)上传…

JVM系列(一)--JVM运行时数据区

随着时间的推移,我觉得有必要将一些之前相对模糊但是对自身技术提高会有帮助的原理、概念、实现进行一下系统的整理,所以就从JVM系列开始吧。本系列主要参考《Java虚拟机规范(第二版)》、周志明先生写的《深入理解Java虚拟机》,具体虚拟机主要…

ceph iscsi安装

ceph iscsi安装 2020-02-24 #安装包 下载包https://github.com/ceph/ceph-iscsi安装ceph-iscsi配置文件安装rbd-target-api所在的ceph-iscsi-cli包 3.1安装依赖python-configshell,网上 3.2安装包里的python-rtslib(先卸载老版本) 3.3安装…

Tensorflow C3D完成视频动作识别

本文是视频动作识别领域经典的C3D网络的简易实现&#xff0c;可以作为动作识别的入门。论文为<Learning Spatiotemporal Features with 3D Convolutional Networks>(ICCV 2015)。 框架&#xff1a;Tensorflow (1.6)python(2.7)slim 数据集&#xff1a;UCF101. Center f…

去除表中重复的数据

2019独角兽企业重金招聘Python工程师标准>>> 表数据如下&#xff1a; 查询表中重复的数据&#xff1a; SELECT * FROM t_class WHERE classname IN (SELECT classname FROM t_class GROUP BY classname HAVING COUNT(classname) > 1) 结果如下&#xff1a; 显示…

基于动态骨骼的动作识别方法ST-GCN

解读&#xff1a;基于动态骨骼的动作识别方法ST-GCN&#xff08;时空图卷积网络模型&#xff09; 2018年04月09日 01:14:14 我是婉君的 阅读数 16076更多 分类专栏&#xff1a; 计算机视觉 论文 版权声明&#xff1a;本文为博主原创文章&#xff0c;遵循 CC 4.0 BY-SA 版权协…

pyTorch实现C3D模型的视频行为识别实践

1、3D卷积t简介 2、C3D模型原理与PyTorch实现 2.1、C3D模型结构 2.2、C3D视频动作识别&#xff08;附PyTorch代码&#xff09; 2.3、测试结果 参考 1、3D卷积的简介 在图像处理领域&#xff0c;被卷积的都是静态图像&#xff0c;所以使用2D卷积网络就足以。而在视频理解领域&…

HyperLPR Python3车牌识别系统的入门使用

概要 HyperLRP是一个开源的、基于深度学习高性能中文车牌识别库&#xff0c;由北京智云视图科技有限公司开发&#xff0c;支持PHP、C/C、Python语言&#xff0c;Windows/Mac/Linux/Android/IOS 平台。 github地址&#xff1a; https://github.com/zeusees/HyperLPR TODO 支…

java简单自定义Annotation

为什么80%的码农都做不了架构师&#xff1f;>>> 原文内容比较多&#xff0c;这里就简单地说一下。java 5以后增加了3个annotation&#xff0c; Override Deprecated SuppressWarnings 以上annotation用途就不说了。java中自定义annotation需要interface关键字和用到…

Tensorflow Object detection API 在 Windows10 配置

Tensorflow Object detection API 在 Windows10 下的配置不如在 Ubuntu 下配置方便&#xff0c;但还是有方法的&#xff0c;介绍一下我的配置流程。官方目标检测的demo中调用了大量的py文件&#xff0c;不利于项目的部署&#xff0c;因此我将其合并为两个文件 ##1.Tensorflow m…

使用jq的toggle函数实现全选功能遇到的问题

2019独角兽企业重金招聘Python工程师标准>>> 今天做网站后台管理的时候&#xff0c;要实现一个单选全选的功能&#xff0c;很简单的功能&#xff0c;不过&#xff0c;遇到了一个很诡异的问题&#xff0c;写出来跟大家分享下。 功能就不赘述了&#xff0c;大家都懂&…

GO国内镜像加速模块下载

众所周知&#xff0c;国内网络访问国外资源经常会出现不稳定的情况。 Go 生态系统中有着许多中国 Gopher 们无法获取的模块&#xff0c;比如最著名的 golang.org/x/...。并且在中国大陆从 GitHub 获取模块的速度也有点慢。 因此设置 CDN 加速代理就很有必要了&#xff0c;以下…