arduino 读取模拟电压_【Arduino官方教程】基础示例(六):读取模拟电压
读取模拟电压(Read Analog Voltage)
本示例展示了如何读取模拟输入0脚的模拟信号,将来自analogRead()的值转换为电压,并打印输出到 Arduino Software (IDE)的串口监视器。
所需硬件
- Arduino或者Genuino开发板
- 10k欧电位器
电路连接方式
AnalogReadSerial_BB.png (15.86 KB, 下载次数: 43)
2016-6-24 09:02 上传
使用三根导线将电位器连接到开发板。第一根导线从电位器外侧的一端连接到地。第二根导线从电位器外侧的另一端连接到5V。第三根导线从电位器的中间脚连接到模拟输入2脚。
通过转动电位器的旋转轴,你将改变电刷两侧的电阻值,该电刷与电位器中间的引脚相连。这样就可以改变中心引脚上的电压值。当中间引脚与连接5伏引脚之间的电阻接近于0时(同时另一侧引脚的电阻值接近于10k),中间引脚上的电压接近于5V。反之,中间引脚上的电压接近于0V。该电压就是你要读取的模拟电压作为输入信号。
Arduino开发板的微控制器内部有一个模拟数字转换器(analog-to-digital converter)的电路,可以读取这种变化的电压并将其转换成0到1023之间的数字。当电刷完全转向一侧时,引脚上的电压为0V,此时输入值为0。当电刷转向反方向时,引脚上的电压为5V,此时输入值为1023。当电刷在中间某个位置时,analogRead()将根据引脚分得的电压值成比例返回一个0到1023之间的数值。
原理图
AnalogReadSerial_sch.png (32.01 KB, 下载次数: 47)
2016-6-24 09:15 上传
代码
在下面的代码中,setup函数所做的唯一事情就是使用以下指令建立Arduino板和计算机的每秒9600数据位的串行通信:
Serial.begin(9600);
接下来,在代码的主循环,你需要建立一个变量来存储电位器的电阻值(大小在0到1023间,int数据类型);
int sensorValue = analogRead(A0);
若要想将该值从0-1023变成与引脚读取的电压相对应的范围内,则需要创建一个float型的变量,并且做一些数学运算。要将该值变到0.0到5.0之间,用5.0除以1023然后乘以sensorValue的值。
float voltage= sensorValue * (5.0 / 1023.0);
最后,你需要将这些信息打印输出到串口监视器,可以使用指令Serial.println()来实现。
Serial.println(sensorValue, DEC)
现在,当打开Arduino IDE上的串口监视器(通过点击窗口右上侧的类似放大镜的图标,或者按快捷键Ctrl+Shift+M),可以看到一串介于0.0 - 5.0之间的稳定数字流.当转动电位器时,这些数值也会立马跟着变化,与电位器的位置相对应。
/*
ReadAnalogVoltage
Reads an analog input on pin 0, converts it to voltage, and prints the result to the serial monitor.
Graphical representation is available using serial plotter (Tools > Serial Plotter menu)
Attach the center pin of a potentiometer to pin A0, and the outside pins to +5V and ground.
This example code is in the public domain.
*/
// the setup routine runs once when you press reset:
void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
}
// the loop routine runs over and over again forever:
void loop() {
// read the input on analog pin 0:
int sensorValue = analogRead(A0);
// Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V):
float voltage = sensorValue * (5.0 / 1023.0);
// print out the value you read:
Serial.println(voltage);
}复制代码
arduino 读取模拟电压_【Arduino官方教程】基础示例(六):读取模拟电压相关推荐
- python中读取文件编码_[转载]python中使用文件的读取编码问题
原文链接:https://www.cnblogs.com/qianboping/p/6524420.html 今天想写个程序合并文件的,以前一直觉得python的编码解码好烦,只要处理文件合并之类的都 ...
- python元胞自动机模拟交通_基于立体网格的放射性污染物扩散过程模拟与表达
作 者 信 息 施加松1,余接情2,常芸芬1,童晓冲3 (1.防化研究院,北京 102205:2.中国矿业大学 环境与测绘学院,江苏 徐州 221116:3.信息工程大学,河南 郑州 450001) ...
- 计算机基础知识真题模拟7,计算机一级考试计算机基础及Photoshop应用模拟试题(7)...
计算机一级考试计算机基础及Photoshop应用模拟试题 1.当给一个制作标志的时候,大多存成矢量图,这是因为:() 选择A矢量图颜色多,做出来的标志漂亮 选择B矢量图不论放大或是缩小它的边缘都是平滑 ...
- vue手机端回退_华为官方教程:以 P40 为例,鸿蒙 OS 2.0 Beta 版本回退到 EMUI 11 稳定版...
12月16日,华为举行 HarmonyOS 2.0 手机开发者 Beta 活动.现场正式发布了 HarmonyOS 2.0 手机开发者 Beta 版本.同时,HarmonyOS 2.0 手机开发者 B ...
- cass读取dat文件_南方CASS教程+视频讲解+插件汇总,小白快速上手的测绘神器
南方CASS教程+视频讲解+插件汇总,小白快速上手的测绘神器 自CASS软件推出以来,市场占有率遥遥领先,已经成为业内应用最广.使用最方便快捷的软件品牌.也是用户量最大.升级最快.服务最好的主流成图和 ...
- python读取图像数据流_【NUKE教程】Nuke Python 获取图像数据
通过python有两种方式读取图像的像素数据: 创建分析图像的节点(比如,MinColor, CurveTool),执行,然后读取其结果的knob数值 sample方法可以直接抽样节点的像素. 使用C ...
- vba 循环读取单元格_利用VBA打开顺序文件,并读取
大家好,疫情施虐,国外各地更有爆发的迹象,但无论怎样,我们一定要坚信,疫情终将会过去,曙光一定会到来.后疫情时代将会是一个全新的世界,很多理念都将被打破,大多数人不会再享受体制内的保护,对于我们每个人 ...
- python模拟上传图片_用python创建自己的等离子图片模拟
python模拟上传图片 For today's recreational coding exercise, we will investigate plasma physics with parti ...
- 组态王bitset用法_组态王教程(基础入门篇).pdf
组态王教程及使用问题解答(基础篇) 一.组态王教程 简介:本教程是学习"组态王"软件的入门教程,覆盖了"组态王"软件的大部分基本功能.学完本教程后, 您将能够建 ...
- python读取一个图像_从图像处理python的文件中读取多个图像
嗨,我有一个脚本来运行图像处理.但是我想用一个循环或者其他方法从一个文件中读取多个图像 例如C:\Users\student\Desktop\Don\program (opencv version)\ ...
最新文章
- 杭州码农哀叹:新买的房子装修到一半没钱了,靠着贷款平台借钱才勉强推进。这套房子价格高达1000多万,有钱买却没钱装修!...
- HTTP 错误 404.15 - Not Found请求筛选模块被配置为拒绝包含的查询字符串过长的请求...
- google nexus5x 刷机抓包逆向环境配置(三)
- 九种东西吃多会...
- asp.net 使用my97 datepicker实现前后两个日期的范围界定
- 子主题function php,php – 带有依赖项的子主题
- Memcache 和 Radis 比较
- 计算机无论采用何种方式接入网络,自考计算机网络实用技术考核知识点之Internet的结构及其接入方式...
- 关于srand((unsigned)time(NULL))是初始化随机函数种子
- 大数据分析的流程是怎样
- Flex 与外部的数据通信(HTTPService,URLLoader和URLRequest)
- Android Eclipse 导入 AS Gradle AAR 库手册
- excel的表格数据转为数据库的dbf文件
- keeplive+haproxy+nginx
- JAVA实现字体扩大代码_[Java教程]jQuery实现设置字体大小代码实例
- 计算机是怎么分类,计算机一般按什么分类
- 共享文件夹没有权限访问
- C#开发串口调试助手的详细教程
- 项目UML设计--日不落战队
- 排列组合之插板法及变形
热门文章
- perl依赖包安装方法
- MySQL 案例实战--MySQL数据库主从复制
- vue 动态渲染表格序号列
- Netron - 网络可视化
- python输入三个数形成各种三角形
- python预处理tif格式图片
- r语言 rgl 强制过程中_R语言中编写最小工作示例(MWRE)
- Ninth season eighth episode,Rachel‘s another sister,how is she???
- 黑色脸谱_上演三幕的脸谱剧
- SAN和NAS、ISCSI存储有什么区别,SAN和NAS设备哪个更好?