Arduino 模拟引脚
Arduino的模拟引脚的引用,网上不错的一篇文章
参考:http://blog.sina.com.cn/s/blog_156e62ef90102xjio.html
模拟引脚
本文是对于Arduino芯片上模拟引脚的介绍。上面所说的Arduino芯片主要包括(Atmega8, Atmega168,Atmega328或Atmega1280)。
数模转换电路
Arduino中使用的Atmega控制器都配有一个板载6通道数模转换器,这个转换器的精度为10bit,能够返回0-1023的整数。尽管模拟引脚的主要功能是读取模拟信号,但是实际上和0-13号数字引脚一样,模拟引脚也可以进行INPUT、OUTPUT操作(GPIO)。因此,如果你在做项目时需要更多的数字引脚,那么模拟引脚也可用作GPIO操作。
引脚编号
A0、A1、A2、A3……就是模拟引脚的编号。你可以用这个编号让模拟引脚输出高电平或低电平。下面的例子会将A0口设置为输出模式,并且输出高电平
1 pinMode(A0, OUTPUT);
2 digitalWrite(A0, HIGH);
上拉电阻
模拟引脚也有和数字引脚一样的内置上拉电阻。通过下列代码激活模拟引脚内部的上拉电阻。
digitalWrite(A0, HIGH); // 将上拉电阻激活。(这与普通的输入引脚有点区别)
但是激活了上拉电阻后,再用analogRead()的话,读出的值会受到影响。
一些额外需注意的细节
如果一个引脚已经被设置成为OUTPUT模式,analogRead函数就不能够正常工作。因此,如果要将模拟引脚当做数字引脚并且设置了OUTPUT模式,请在调用analogRead前将这个模拟引脚重新定义为INPUT模式。
如上所述,如果你将模拟引脚定为输出模式并且输出了HIGH,那么它内部的上拉电阻就会被激活。如果这时候再转为INPUT,那么上拉电阻将依然工作着。(因此,你需要先设置为LOW,再转换为INPUT,才能够获得正确结果。)
从Atmega的数据手册中,我们可以知道:如果要在模拟引脚上进行快速的电平切换,会导致电子噪声。这会给模电转换模块带来“抖动”,从而影响到其他引脚上的模拟信号值读取。因此,你需要在将模拟引脚进行电平操作切换后使用后用delay函数进行一小段时间的延迟,然后再使用analogRead()去读取其他引脚上的模拟信号。
本文摘自 http://blog.csdn.net/amagamag/article/details/51734049
译者:唐家勋
Arduino 模拟引脚的更多相关文章
- Arduino数字引脚作为GPIO的使用
引脚与GPIO的关系 引脚(pin)是对芯片的外部物理接口的一个称呼,它是在不把这个物理接口投入到具体应用场合下的称呼.例如,我们可以说,某某芯片的P1.5引脚可以作为数字输出驱动外部数字设备,也可以 ...
- Arduino uno 引脚说明
http://openhome.cc/Gossip/Books/mBlockArduino1-3and1-4.html http://swf.com.tw/?p=406
- Arduino和ESP8266引脚图
Arduino的引脚图 https://www.geek-workshop.com/thread-11826-1-1.html ESP8266 https://item.taobao.com/item ...
- Arduino 极速入门系列 - 光控灯(3) - 光敏电阻、与电阻分压那些事
继续是讲解基础原理,新手专用部分.这次讲光敏电阻,和用电阻分压.光电元器件有好几种,其中测光相关的元器件,常见的有光敏三极管和光敏电阻,我们这次光控灯用光敏电阻.在我们光控灯里面,将会使用它搭建出分压 ...
- arduino api手册
本文由博主原创,如有不对之处请指明,转载请说明出处. arduino 函数 api 程序结构 在Arduino中, 标准的程序入口main函数在内部被定义, 用户只需要关心以下两个函数:void se ...
- 最新 Arduino 驱动 12接口/户外 LED显示屏/LED点阵屏/LED单元板
起因 现有的驱动LED显示屏的资料,比较好的只有这个.但是它驱动的是08接口的室内显示屏,而我要驱动的是12接口的户外显示屏.两种屏幕的区别在于户外屏幕点阵比较稀疏,而且二者的扫描方式,驱动方式都不太 ...
- 使用带Arduino IDE & WIZ820io的ATmega1284P
使用带Arduino IDE & WIZ820io的ATmega1284P 2013/07/04 | Filed under: IO模块 and tagged with: arduin ...
- 【Arduino】开源开发板说明
来自世界各地的新型微控制器层出不穷,这类开发板多数都是通过Arduino改进的版本,例如由Arduino所改良的Yún一样,主要是针对网状网路进行改进或升级了其它无线功能. 但一些开发板也有着其独到的 ...
- Arduino语法详解_含示例详解
Arduino 的程序可以划分为三个主要部分:结构.变量(变量与常量).函数. 结构部分 一.结构 1.1 setup() 1.2 loop() 二.结构控制 2.1 if 2.2 if...else ...
随机推荐
- Tornado + vue.js 前后端分离运行脚本
shell脚本部分: #!/bin/bash 主脚本 (./cem-demo_publish_front) (./cem-demo_publish_backend) #!/bin/bash 后端脚本 ...
- Android开发之制作圆形头像自定义View,直接引用工具类,加快开发速度。带有源代码学习
作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 QQ986945193 博客园主页:http://www.cnblogs.com/mcxiaobing ...
- oeasy教您玩转linux010105详细手册man
详细手册 回忆上节课 我们上节课学习了使用命令来了解命令 whatis 我们通过他来发出灵魂之问 whatis到底是干什么的?
- 小白也能弄得懂的目标检测YOLO系列之YOLOv1网络训练
上期给大家介绍了YOLO模型的检测系统和具体实现,YOLO是如何进行目标定位和目标分类的,这期主要给大家介绍YOLO是如何进行网络训练的,话不多说,马上开始! 前言: 输入图片首先被分成S*S个网格c ...
- Thymeleaf中model设一个值 页面显示此值 JS取此值
model设值: m.addAttribute("pageNo", pageNo); 页面显示值: 当前为第:<span th:text="${pageNo}&qu ...
- LAMP环境之编译安装httpd服务
“Apache HTTP Server”是开源软件项目的杰出代表,它基于标准的 HTTP 网络协议提供网页浏览服务. 在配置 Apache 网站服务之前,需要正确安装好 httpd 服务器软件.htt ...
- Java审计之SQL注入篇
Java审计之SQL注入篇 0x00 前言 本篇文章作为Java Web 审计的一个入门文,也是我的第一篇审计文,后面打算更新一个小系列,来记录一下我的审计学习的成长. 0x01 JDBC 注入分析 ...
- Apache Hudi异步Compaction方式汇总
本篇文章对执行异步Compaction的不同部署模型一探究竟. 1. Compaction 对于Merge-On-Read表,数据使用列式Parquet文件和行式Avro文件存储,更新被记录到增量文件 ...
- 关于LLVM源码在Linux下编译的过程
1. 最好在gitee上查找llvm的源码或者直接git clone https://gitee.com/uniquesquirrel/llvm-project.git,是和github上的llvm项 ...
- 关于px、pt、em、rem四个单位的解释
写在前面 最近在群里突然看到一个问题,就是px pt em rem 三者的区别,这个问题看起来非常基础,也非常容易被忽略,however,面试会问到~,那我就解释一下 px px的英文是pixel,翻 ...