RP2040 开发,用 Arduino 通过 ADC 获取电压测量数据

这两天测试了一下如何通过 RP2040 的内置 ADC 获取一个待测量的电压数据,RP2040 内置了4路ADC,分辨率是12bit,也就是说,可以获取4096阶的变化量,但第4个 ADC 已经用于测量芯片的内部温度,所以实际能用的仅有3个 ADC。ADC的测量电压范围其实是 0 到 3.3V,这个其实是内置ADC的原因,范围已经是定死了,所以每一档的分辨率是0.8mV的样子。但由于片内LDO的电压并不是标准的3.3V,所以,实际测量结果会有误差。

这个测量电路非常简单,额外加一个电位器就行了,电位器的两端分别接3.3V,和A Gnd,版上能很容易找到3.3V的接口,接地要接AG,电位器中点接A0那个端口,就是GPIO 26。实际测量了一下电位器两端电压,是3.26V,并没有3.3V。

然后打开 Arduion,选择好开发板,在File -> Examples -> ADCInput 内选择 AnalogMicphone 这个例子。这个例子其实不需要改就可以运行。

/*Mono analog microphone example using electret mike on A0Run using the Arduino Serial Plotter to see waveform.Released to the Public Domain by Earle F. Philhower, IIIWire the mike's VCC to 3.3V on the Pico, connect the mike'sGND to a convenient Pico GND, and then connect mike OUT to A0
*/#include <ADCInput.h>ADCInput mike(A0);
// For stereo/dual mikes, could use this line instead
//   ADCInput(A0, A1);void setup() {Serial.begin(115200);mike.begin(8000);while (1) {Serial.printf("%d\n", mike.read());// For stereo/dual mikes, use this line instead//   Serial.printf("%d %d\n", mike.read(), mike.read());}
}void loop() {/* Nothing here */
}

代码非常简单,mike.begin 函数内的 8000 就是需要的采样率。然后只需要调用 mike.read() 就能获取到返回值。返回值是 int 类型。

执行结果如下:

调整电位器,就可以看到返回值的不断变化。 是不是非常简单?

如果需要更精确的数据,就需要选用更高位的ADC,比如16或则24位,RP2040 用 SPI 或则 I2S 与 ADC 通讯并获取数据。

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

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

相关文章

浅谈逻辑控制器之随机控制器

浅谈逻辑控制器之随机控制器 随机控制器(Random Controller)是众多逻辑控制器中的一种&#xff0c;它为测试脚本引入了随机性&#xff0c;提高了模拟真实用户行为的灵活性。 随机控制器的功能 随机控制器的作用在于从其直接子元素&#xff08;通常是采样器&#xff09;中随机…

电脑桌面杂乱无章,整理电脑桌面,电脑桌面整理整洁电脑桌面这里推荐腾讯桌面整理软件

这里只需要下载桌面整理独立版就行&#xff0c;就37M多&#xff0c;官网如下&#xff1a; 桌面整理_桌面整理软件_一键桌面整理工具-腾讯电脑管家官网 (qq.com)

使用uniapp.pageScrollTo方法进行页面滚动

先看看是不是你想要的&#xff1a; 需求&#xff1a; 有个填写数据的单子在提交的时候&#xff0c;会对必填项做校验&#xff0c;如果必填项没有数据的话&#xff0c;必填项校验生效给出提示&#xff0c;并且页面滚动到第一个需要填写数据的地方。 开发&#xff1a; 因为这个…

vs code python开发笔记

目录 安装插件 不全&#xff1a; 2.选择python解释器 安装插件 不全&#xff1a; remote ssh python debuger 左下角&#xff0c;点击左右左右箭头&#xff0c;远程连接到ssh 2.选择python解释器 ctrlshiftP打开VSCode的命令行&#xff0c;输入python: select Interpreter…

【Unity】Excel配置工具

1、功能介绍 通过Excel表配置表数据&#xff0c;一键生成对应Excel配置表的数据结构类、数据容器类、已经二进制数据文件&#xff0c;加载二进制数据文件获取所有表数据 需要使用Excel读取的dll包 2、关键代码 2.1 ExcelTool类 实现一键生成Excel配置表的数据结构类、数据…

Raspbian命令行安装指定版本picamera2

Raspbian命令行安装指定版本picamera2 1. 源由2. 卸载、升级、安装2.1 查看2.2 卸载2.3 升级2.4 安装 3. OS指定版本安装4. 补充 - 安装异常 1. 源由 OV5647与树莓派bullseye 64bit的兼容性问题 Can’t access video WebGUI #234 上面的问题&#xff0c;主要还是树莓派上查找…

细粒度图像分类论文阅读笔记

细粒度图像分类论文阅读笔记 摘要Abstract1. 用于细粒度图像分类的聚合注意力模块1.1 文献摘要1.2 研究背景1.3 本文创新点1.4 计算机视觉中的注意力机制1.5 模型方法1.5.1 聚合注意力模块1.5.2 通道注意力模块通道注意力代码实现 1.5.3 空间注意力模块空间注意力代码实现 1.5.…

Qt实战项目——贪吃蛇

一、项目介绍 本项目是一个使用Qt框架开发的经典贪吃蛇游戏&#xff0c;旨在通过简单易懂的游戏机制和精美的用户界面&#xff0c;为玩家提供娱乐和编程学习的机会。 游戏展示 二、主要功能 2.1 游戏界面 游戏主要是由三个界面构成&#xff0c;分别是游戏大厅、难度选择和游戏…

基于QFD的景区共享代步车创新设计

一、传统景区交通方式的瓶颈 在传统景区中&#xff0c;游客往往面临着步行太累、乘坐观光车又不够自由灵活的困境。同时&#xff0c;随着游客数量的不断增加&#xff0c;景区内的交通压力也在逐渐增大。因此&#xff0c;开发一种既环保又便捷的代步工具&#xff0c;成为了摆在…

【Java Web】会话管理

目录 一、为什么需要会话管理&#xff1f; 二、会话管理机制 三、Cookie概述 四、HttpSession概述 4.1 HttpSession时效性 一、为什么需要会话管理&#xff1f; HTTP协议在设计之初就是无状态的&#xff0c;所谓无状态就是在浏览器和服务器之间的通信过程中&#xff0c;服务器并…

数据分类分级分几步?“6步分解”一目了然!

数据分类分级是企业开展数据安全治理的第一步。通过数据分类分级对数据资产进行盘点&#xff0c;及时掌握内部数据情况&#xff0c;有针对性的对各类型数据采取安全防护措施&#xff0c;为后续企业数据资产管理和数据安全体系建设起到关键作用。 同时&#xff0c;随着《中华人民…

PVE 8.2.2安装OpenWrt 23.05.3

1,下载官方openwrt 23.5.3镜像并解压 2&#xff0c;进入pve上传镜像 复制这段文字之后需要使用 创建虚拟机 删除磁盘 安装完毕后 shell 运行 qm importdisk 100 /var/lib/vz/template/iso/openwrt-23.05.3-x86-64-generic-ext4-combined-efi.img local-lvm 其中100是虚拟…

C++ 参数传递方式有哪些?它们有什么区别【面试】

传递方式 在C中&#xff0c;参数的传递方式主要有以下几种&#xff1a; 按值传递&#xff08;Pass by Value&#xff09;&#xff1a; 将实参的值复制给形参&#xff0c;函数内对形参的操作不会影响实参的值。适用于基本数据类型和小型结构体&#xff0c;因为复制开销较小。 按…

Java中反射的应用举例

一、技术难点 Java反射&#xff08;Reflection&#xff09;是Java语言提供的一种强大工具&#xff0c;它允许程序在运行时进行自我检查和修改。然而&#xff0c;反射也带来了一些技术难点&#xff1a; 性能问题&#xff1a;反射涉及到了动态类型解析和代码生成&#xff0c;相…

想学gis开发,java和c++那个比较好?

ava与C的应用场景不同&#xff0c;究竟选择谁&#xff0c;应该由开发者的兴趣方向来决定。 你选择Java&#xff0c;意味着以后的业务方向就是偏后台服务开发&#xff0c;如果你非得说我用java也可以写界面&#xff0c;对不起&#xff0c;别人不会。 刚好我有一些资料&#xf…

AudioLM深度解析:革新音频生成的未来

在人工智能领域&#xff0c;自然语言处理&#xff08;NLP&#xff09;的突破性进展已经催生了多种语言模型&#xff0c;如GPT系列和BERT。这些模型在文本生成、翻译和理解方面取得了巨大成功。随着技术的发展&#xff0c;类似的模型也被应用于音频领域&#xff0c;其中AudioLM便…

光电液位传感器工作时容易受哪些因素影响?

光电式水位传感器的检测液位时是必须要接触液体才能进行检测的。当液体覆盖光电式水位传感器的探头时&#xff0c;传感器内的发光二极管发射出去的光线会折射在液体中&#xff0c;而光敏接收器只能接收到少量光电或者接收不到光线。反之正常接收光线则是无水状态。 光电式水位…

使用前缀积求最后K个数的乘积

前缀积解题基本思路&#xff1a; 1.首先创建整型集合&#xff0c;添加元素1&#xff08;任何整数乘以1都等于整数本身&#xff09;。 2.将与新元素的乘积依次添加到整型集合中&#xff0c;再根据相应的索引值进行除法操作&#xff0c;从而获取最后K个数的乘积。 3.&#xff…

腾讯云对象存储cors错误处理

最近将公司的域名进行了修改&#xff0c;同时将腾讯云的对象存储改成了https&#xff0c;为了安全嘛。然后上传软件包的时候发现上传软件就失败了。 在浏览器中打开该 HTML 文件&#xff0c;单击 Test CORS 发送请求后&#xff0c;出现以下错误&#xff0c;错误提示&#xff1…

单点登录系统8大原理机制详解

单点登录系统详解(8大原理机制图解) 单点登录 单点登录&#xff08;SSO&#xff09;实现一处登录&#xff0c;全平台畅通。用户只需登录一次&#xff0c;即可无缝访问多个互信的应用系统&#xff0c;高效便捷&#xff0c;省时省心。 举例来说&#xff0c;阿里旗下拥有多款热门…