arduino程序-模拟输入(基础知识)

news2024/11/14 2:43:52

arduino程序-模拟输入(基础知识)

  • 1-28 模拟输入1 - 学用电位器
    • 电位器
    • 电位器实际应用
    • Arduino如何接电位器
  • 1-29 模拟输入2-analogRead
    • 演示效果
    • 示例程序:
    • 干扰问题
    • AnalogRead()
  • 1-30 模拟输入3-电位器控制LED亮度
    • 实验演示
    • 示例程序
    • Map()
    • 回顾

1-28 模拟输入1 - 学用电位器

在这里插入图片描述

电位器

不同电位器基本功能原理相似
在这里插入图片描述

旋钮,可以使用手来控制(收音机的旋钮一般也是通过电位器控制音量)
电阻值,在旋钮的上方一般印上字母和数字,标准1号和3号引脚间的电阻值

在这里插入图片描述

电位器符号如右上,3个引脚如右上(很像初中学的变阻器,电阻可变)

电位器的等效电路如下:

两个电阻串联在一起

在这里插入图片描述

旋转旋钮,可以改变12之间和23之间的电阻值,注意两者是同时发生改变的
在这里插入图片描述

原理讲解如下:

R(1-2) R(2-3)
两个电阻和为1000欧姆
在这里插入图片描述

旋转时R(1-2) 减小,R(2-3)增大,同时变化的,两者和还是1000欧姆
在这里插入图片描述

左旋到无法旋转时,R(1-2) =0,R(2-3)=1000,13之间的电阻值始终为1000欧姆
在这里插入图片描述

右旋按钮

在这里插入图片描述

在这里插入图片描述

口诀:

在这里插入图片描述

电位器实际应用

常用在分压电路

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2号引脚电压在0~5v之间变换

Arduino如何接电位器

个人喜欢将1号引脚接地,3号引脚接+5v,2号引脚接模拟输入引脚(向右旋转2号电位增大,向左旋转减小)
在这里插入图片描述

1-29 模拟输入2-analogRead

在这里插入图片描述

上节课电位器原理,此次模拟输入功能学习
在这里插入图片描述
在这里插入图片描述

电位器右侧3号引脚接+5v,左侧1号引脚接地GND,中间2号引脚接A0引脚

演示效果

在这里插入图片描述

向右旋转,右侧串口监视器的数字增大到(1023就停止了),向左扭就不断减小,变成0了

示例程序:

在这里插入图片描述

模拟输入数值,通过函数analogRead将A0引脚的数值读取进来

干扰问题

当旋钮调到最大到头的时候,在串口监视器看到的数值并不是很稳定的数值,有时1023,有时1022,电位器转到最小的时候也是如此,不是总保持到0

为什么?
Arduino使用0~1023的数字表示电压的变化

在串口监视器上看到的每一个数字,每一个数字变化的时候,代表的模拟输入引脚的电压变化是多少呢,只有0.005mv
在大自然中,会有干扰,如动一下导线,就会有变化如下:
在这里插入图片描述

有时做实验的时候,会出现与理论不太相符,干扰这些是正常的,好在此处的精确度并不用太高

工作要实际动手,理论与实践有差距的

AnalogRead()

在这里插入图片描述

http://www.taichi-maker.com/homepage/reference-index/arduino-code-reference/analogread/
在这里插入图片描述

通道:给arduino进行数据传输的通道
Arduino有多个模拟输入引脚的(多个10位数模转换通道)
数模转换:模拟信号转数字信号,数字信号转模拟信号

当输入信号不是05v,而是03v时,可以通过analogReference()进行调整的,这就涉及到高级的模拟输入操作了
在这里插入图片描述
在这里插入图片描述

0~5v的模拟信号中间有无数个数,必须将其转换离散的数字信号,控制器才能对其处理,在离散的时间采集数据,数据等级分割成了1024份

在这里插入图片描述

猜数字时,使用analogRead()读取空的引脚作为随机种子

1-30 模拟输入3-电位器控制LED亮度

在这里插入图片描述

上节使用arduino的模拟输入功能接收电位器的0~5V模拟信号

此节如何利用电位器的模拟信号,发出模拟输出信号PWM,控制led的亮度变化
在这里插入图片描述

电位器中间连接A0模拟输入引脚

Led等的正极连接9~号引脚(用于PWM输出)

实验演示

在这里插入图片描述

向右旋转按钮,灯就更亮了
在这里插入图片描述

示例程序

在这里插入图片描述

AnalogWrite模拟输出信号(0~255)

Map()

Map函数,等比映射()
AnalogInputVal存储的是电压数值,转换成了01023之间的数字,然而我们的输出PWM信号或者led灯亮的信号范围是0255之间的,此时需要将01023的范围等比例的缩小到0255范围

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

回顾

(1)电位器产生0~5V的模拟信号
(2)Arduino使用analogRead函数将05v模拟输入信号读取成01023共1024个数字信号
(3)arduino使用map函数将01023范围等比映射成0255范围
(4)arduino使用analogWrtie函数模拟输出PWM信号(0~255)
(5)led等接受0~255的变化
在这里插入图片描述

模拟输入和模拟输出方法不同

对于arduino UNO的模拟输入信号是电压,模拟输出信号是PWM。对于其他的开发板就不一定了(可能模拟输出信号不是PWM,可能是电压或者电流,这里是学习原理)

在这里插入图片描述

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

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

相关文章

自定义封装日历组件

自定义日历 工作需要&#xff0c;但现有框架封装的日历无法满足需求&#xff0c;又找不到更好的插件&#xff0c;所以准备自己封装一个。 效果图和说明 一个很简易版的demo日历&#xff0c;本文只提供最基本的功能代码&#xff0c;便于阅读二开。 新建calendar.vue文件 <…

【小技巧】CSS如何实现文字溢出显示省略号

文章目录 文字溢出显示省略号设置伪类实现全称展示 文字溢出显示省略号 在列表项或者导航菜单中&#xff0c;经常会在列表项或导航菜单中&#xff0c;由于空间有限&#xff0c;当文本内容较长时&#xff0c;可以使用省略号显示文本已被截断。 CSS中文字溢出显示省略号&#xf…

TCP通信的实现和项目案例

TCP协议是面向连接的&#xff0c;在通信时客户端与服务器端必须建立连接。在网络通讯中&#xff0c;第一次主动发起通讯的程序被称作客户端&#xff08;Client&#xff09;程序&#xff0c;简称客户端&#xff0c;而在第一次通讯中等待连接的程序被称作服务器端&#xff08;Ser…

npm install 报错 ‘proxy‘ config is set properly. See: ‘npm help config‘

解决 参考链接&#xff1a;npm install 报错 ‘proxy‘ config is set properly. See: ‘npm help config‘-阿里云开发者社区 (aliyun.com)

Linux Ubuntu 20.04 安装DPDK方法指南

系统及DPDK版本 系统&#xff1a;Ubuntu 20.04 DPDK&#xff1a;20.11.10 Pktgen-DPDK&#xff1a;22.04.1 关于DPDK&#xff0c;其实Ubuntu的软件源中就已经包含了最新的Stable版本的DPDK&#xff0c;如果不想自己编译的话&#xff0c;直接 apt install dpdk 也是可以的 安…

python库(17):pkuseg库实现文本分词

1 pkuseg简介 PKUSEG&#xff0c;全称“北京大学语言计算与机器学习研究组开发的分词工具”&#xff0c;它就像一把锋利的瑞士军刀&#xff0c;帮助我们轻松切割文本。 在Python的文本处理领域&#xff0c;有很多分词工具&#xff0c;比如jieba、SnowNLP等。但是&#xff0c;…

iOS多界面传值

iOS多界面传值 文章目录 iOS多界面传值属性传值协议传值Block传值通知传值KVO传值概述使用步骤 总结 属性传值 这个传值方式和他的名字一样&#xff0c;我们主要还是通过属性对值进行一个传递&#xff0c;主要应用场景是前一个页面向后一个页面传值。 首先我们先要设置一个属…

哪里有ai写真软件免费方法?轻松获取写真的5个技巧

想在8月为自己的社交媒体更新个人形象吗&#xff1f;想要为即将到来的秋季增添一抹新意吗&#xff1f; AI写真软件是我们最佳的理想选择&#xff0c;通过简单的操作&#xff0c;我们可以在短时间内获得一张专属于自己的AI头像&#xff0c;让这个夏天的回忆更加生动。 特别是常…

C++进阶:设计模式___适配器模式

前言 在C的基础语法的学习后,更进一步为应用场景多写代码.其中设计模式是有较大应用空间. 引入 原本在写容器中适配器类有关的帖子,发现适配模式需要先了解,于是试着先写篇和适配器模式相关的帖子 理解什么是适配器类,需要知道什么是适配器模式.适配器模式是设计模式的一种.笔…

【论文阅读】PETRv2: A Unified Framework for 3D Perception from Multi-Camera Images

Q: 论文如何解决这个问题&#xff1f; A: 论文通过提出PETRv2框架来解决多相机图像的3D感知问题&#xff0c;具体方法包括以下几个关键点&#xff1a; 时间建模&#xff08;Temporal Modeling&#xff09;&#xff1a; 通过3D坐标对齐&#xff08;3D Coordinates Alignment&…

AI应用开发前景与目标

前景与目标 什么是AIGC AIGC最基本的能力是生成内容&#xff0c;包括文本、图像、视频、代码、3D内容或者几种媒介类型转换组合 形成的“多模态内容”。生成算法、预训练模型、多模态等技术累积融合&#xff0c;以及深度模型方面的 技术创新&#xff0c;共同催生了AIGC的大爆…

一篇文章教你如何在Android上使用QPython高效编程

导语&#xff1a;你是否想在Android设备上体验Python编程的乐趣&#xff1f;QPython是一款强大的Python脚本引擎&#xff0c;让你在手机上也能轻松编写和运行Python代码。本文将带你了解QPython的使用方法&#xff0c;让你随时随地开启编程之旅&#xff01; 一、认识QPython Q…

File 34

package File;import java.awt.*; import java.io.File;public class file1 {public static void main(String[] args) {//创建FILE对象&#xff0c;指代某个具体的文件//路径分隔符File f1new File("C:/Users/SUI/Desktop/kaishi/nih.txt");// File f1new File(&quo…

推荐4款比转转大师还好用的专业数据恢复软件。

数据已经成为我们生活和工作中不可或缺的一部分&#xff1b;然而我们在很多的场景当中都会导致数据丢失&#xff1b;于是数据恢复工具便成了一些人的常用工具。很多人都知道转转大师数据恢复软件&#xff0c;但是也有其他的恢复软件也很好用。 1、福昕恢复 直通车&#xff1a;…

ArkTS通用属性

目录 一、尺寸设置 宽高&#xff0c;外边距&#xff0c;内边距&#xff0c;尺寸size layoutWeight constraintSize 二、位置设置 align direction position offset 使用Edge方式position,offset 三、布局约束 aspectRatio displayPriority 四、Flex布局 flexBas…

数字转罗马字符

import java.util.Scanner;/*** author gyf* ClassName Test* Date 2024/7/31 17:14* Version V1.0* Description : 方法一*/ public class Test {public static void main(String[] args) {Scanner scanner new Scanner(System.in);System.out.println("请输入一个字符串…

php类与对象

前言 欢迎来到我的博客 个人主页:北岭敲键盘的荒漠猫-CSDN博客 本文主要整理php类与对象相关的知识点 适合有编程基础的人观看 因为我这个也是整理第n语言&#xff0c;这些老套的概念就不再多啰嗦了。 直接整理相应的语法 感觉把php当第一语言学的人不太多了 快速理解类与对…

MyBatis的example.createCriteria()方法学习记录

目录 一、mapper的crud方法:1. insert方法insert(User user)insertSelective(User user) 2. select方法selectByPrimaryKey(id)selectByExample(example)selectCountByExample(example) 3. update方法updateByPrimaryKey(User user)updateByPrimaryKeySelective(User user)upda…

从零开始的MicroPython(六)ADC

上一篇&#xff1a;PWM 文章目录 ADC是什么ESP32的ADC代码 ADC是什么 ADC的英文全称是Analog / Digital Converter&#xff0c;是将模拟信号转换为数字信号的转换器&#xff0c;ADC是单片机读取传感器信号的常见方式。 我们日常生活中的信号&#xff0c;例如光照强度&#xf…

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

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