从零开始的MicroPython(六)ADC

news2024/11/14 20:10:47

上一篇:PWM

文章目录

  • ADC是什么
  • ESP32的ADC
  • 代码

ADC是什么

ADC的英文全称是Analog / Digital Converter,是将模拟信号转换为数字信号的转换器,ADC是单片机读取传感器信号的常见方式。

我们日常生活中的信号,例如光照强度,声波,电池电压 这些都是模拟值。 如果我们想通过单片机对模拟信号(电压,光照强度,声波)进行测量,用数字信号进行表达,这个时候我们就需要ADC 模拟数字信号转换器。
简单来说,模拟量是连续的,我们需要转换成高低电平这样的离散值,单片机才能理解。
我们可以在烟雾传感器、光敏传感器上看到AO、DO的引脚,AO就是Analog output,DO是Digital Output,具体到读取的意义就是AO是光照强度,DO是有没有光照。

ESP32的ADC

在ESP32里面ADC一共有两组,分为ADC 1 还有ADC 2, 其中又因为ESP32的ADC2不能与WIFI联网同时存在,当连接WIFI的时候ADC 2的管脚就不能进行ADC采样,所以MicroPython-ESP32固件里面,并没有实现对ADC 2的支持。

ADC 类为模数转换器提供了一个接口,并表示一个端点,可以对连续电压进行采样并将其转换为离散值。

用法示例:

import machine

adc = machine.ADC(pin)   # create an ADC object acting on a pin
val = adc.read_u16()     # read a raw analog value in the range 0-65535

构造函数
classmachine.ADC(id)
访问与id标识的源关联的 ADC 。这个 id可以是一个整数(通常指定一个通道号)、一个 Pin对象或底层机器支持的其他值。

方法
ADC.read_u16()
获取模拟读数并返回 0-65535 范围内的整数。返回值表示 ADC 获取的原始读数,按比例缩放,最小值为 0,最大值为 65535。

代码

from machine import Pin, ADC
import time

DO = Pin(32, Pin.IN)
AO = ADC(Pin(33), atten = ADC.ATTN_11DB)
    
while True:
    print('DO = ', DO.value())
    print('AO = ', AO.read())
    sleep(5)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1976607.html

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

相关文章

机器学习练手(三):基于决策树的iris 多分类和波士顿房价预测

总结:本文为和鲸python 可视化探索训练营资料整理而来,加入了自己的理解(by GPT4o) 原活动链接 原作者:vgbhfive,多年风控引擎研发及金融模型开发经验,现任某公司风控研发工程师,对…

python通过pyautogui自动给微信聊天窗口发消息

使用py脚本自动给聊天窗口发消息 1.突然的自我2.编写脚本玩一把i.先获取窗口位置ii.模拟聊天iii.疗效不错呢 1.突然的自我 突然想到pyautogui可以做那么事情, 那么是不是可以模拟聊天呢,如果结合现在的大模型chatGPT一边问然后得到结果一边自动和别人聊…

一文读懂新版Nacos的使用方式

文章目录 什么是 NacosNacos 架构Nacos 的本地启动 构建提供者 provider-nacos-8081搭建环境编写配置文件 application.yaml构建数据库编写业务实体类控制器类逻辑层与数据层接口 模块结构 构建消费者 consumer-nacos-8080搭建环境编写 yaml 文件配置编写业务编写配置类编写 Co…

Linux系统之NFS服务配置

准备工作 克隆两台linux,并更改其Mac地址,作为NFS客户端;将服务器更名为学号nfsserver,配置IP地址为192.168.学号.1 将客户端Client1更名为学号client1,配置IP地址为192.168.学号.2 将客户端Client2更名为学号clien…

达梦数据库一体机在宜昌市财政局上线了!

财政作为国家治理的基础和重要支柱,其数字化转型已成为构建现代财政制度的必由之路,引领着财政管理体系向更高效、更智能的方向迈进。 达梦数据全面助力财政信息化转型与智能化发展,采用 DAMEGN PAI I 系列数据库一体机,为宜昌市财…

python实现图像分割算法3

python实现区域增长算法 算法原理基本步骤数学模型Python实现详细解释优缺点应用领域区域增长算法是一种经典的图像分割技术,它的目标是将图像划分为多个互不重叠的区域。该算法通过迭代地合并与种子区域相似的邻域像素来实现分割。区域增长算法通常用于需要精确分割的场景,如…

css实现文字根据条件渐变

body 选择器 body { padding: 50vh 0; text-align: center; font-size: 6em; } padding: 50vh 0; 设置了body的上下内边距为视口高度的50%,左右内边距为0。text-align: center; 使得body内的文本内容居中显示。font-size: 6em; 设置了字体大小为当前字体尺寸的6倍…

Solana 自建节点搭建教程:手把手教你成为区块链网络的重要一员

区块链技术正在迅速改变世界,而Solana作为新一代高性能公链,以其出色的性能和低廉的交易费用吸引了众多开发者和用户。如果你想成为Solana生态系统的一部分,搭建自己的Solana节点是一个绝佳的选择。本教程将详细介绍如何一步步搭建Solana自建…

MyBatis 如何通过拦截器修改 SQL

目录 1. 实现Interceptor接口2. 注册配置文件 假如我们想实现多租户,或者在某些 SQL 后面自动拼接查询条件。在开发过程中大部分场景可能都是一个查询写一个 SQL 去处理,我们如果想修改最终 SQL 可以通过修改各个 mapper.xml 中的 SQL 来处理。 但实际过…

【C语言】结构体内存布局解析——字节对齐

🦄个人主页:小米里的大麦-CSDN博客 🎏所属专栏:https://blog.csdn.net/huangcancan666/category_12718530.html 🎁代码托管:黄灿灿 (huang-cancan-xbc) - Gitee.com ⚙️操作环境:Visual Studio 2022 目录 一、引言 二、什么是字节对齐&…

开源个性化自托管服务仪表板:Dashy

**Dashy:**一站式管理,个性化展现- 精选真开源,释放新价值。 概览 Dashy是一个创新的自托管仪表板解决方案,旨在为用户提供一个集中管理多个在线服务的平台。通过直观的界面设计,Dashy允许用户快速访问他们的自托管应…

【C++】内联函数vs宏 nullptr

目录 宏的优缺点分析概念回顾宏的缺点宏的优点 内联函数(inline)inline函数的定义和声明总结 宏的优缺点分析 概念回顾 下面是宏的申明方式: #define name( parament-list ) stuff //其中的 parament-list 是一个由逗号隔开的符号表&#x…

一个能够在网上爬取思维导图的python小程序

这个小程序是为需要从网上爬取思维导图的朋友写的,时间久了怕被遗忘在垃圾箱里,所以贴出来,给需要的同学使用。 河西石原创地址:https://haigear.blog.csdn.net/article/details/140878039 二、使用方法及流程介绍 简单的说明一下使用的方法: 1、在网上找到自己需要的思…

GBase8c psycopg2安装(centos6)

GBase8c psycopg2安装(centos6) 安装步骤: [rootcentos6 ~]# cd /opt/python/ [rootcentos6 python]# ls psycopg2-2.7.7.tar.gz [rootcentos6 python]# tar -zxf psycopg2-2.7.7.tar.gz [rootcentos6 python]# cd psycopg2-2.7.7 # 安装命令 [rootcentos6 psycop…

【C++:jsoncpp库的配置CMAKE的安装】

CMAKE的安装: 安装路径:Download CMake安装就是无脑Next跳出以下窗口以上步骤完了之后,页面如此,然后点击generate jsoncpp库的配置: 打开生成的源文件所在路径,找到名为jsoncpp.sln的文件,以vs…

大数据信用报告怎么查?有哪些注意事项?

大数据信用对于有资金周转的人来说是比较重要的,主要由于大数据信用无形的被不少机构用于贷前风控,无论是机构要求的还是自查,提前了解大数据信用情况是常规操作,那大数据信用报告如何查询?有哪些需要注意的呢?本文详细为大家讲…

【Kubernetes】k8s集群的资源发布方式

目录 一.常见的发布方式 二.如何实现 1.滚动升级 2.蓝绿升级 3.实现金丝雀发布(灰度发布) 一.常见的发布方式 蓝绿发布:两套环境交替升级,旧版本保留一定时间便于回滚。优点 用户无感知,部署和回滚速度较快缺点 …

使用 Python 对雷达卫星 sar 图像进行降噪的三种方法

合成孔径雷达 (SAR) 图像广泛应用于各种领域(航空航天、军事、气象等)。问题是这种图像在其原始格式中受到噪点的影响。虽然这些图像通常也是沉重的文件,但从科学的角度来看,有效地对其进行去噪的任务似乎既具有挑战性,又在现实世界中非常有用。 卫星图像有两大类: 光学…

嵌入式C++、QML与MQTT:智能化农业灌溉管理系统设计思路(代码示例)

目录 一、项目概述 二、系统架构 三、环境搭建 1. 硬件环境 2. 软件环境 四、代码实现 1. 硬件端代码示例 2. 软件端代码示例 a. 后端代码(Node.js MQTT) b. 前端代码(QML) 五、项目总结 一、项目概述 随着全球对农业…

Xinference如何注册自定义模型

环境: Xinference 问题描述: Xinference如何注册自定义模型 解决方案: 1.写个model_config.json,内容如下 {"version": 1,"context_length": 2048,"model_name": "custom-llama-3"…