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 模拟引脚的更多相关文章

  1. Arduino数字引脚作为GPIO的使用

    引脚与GPIO的关系 引脚(pin)是对芯片的外部物理接口的一个称呼,它是在不把这个物理接口投入到具体应用场合下的称呼.例如,我们可以说,某某芯片的P1.5引脚可以作为数字输出驱动外部数字设备,也可以 ...

  2. Arduino uno 引脚说明

    http://openhome.cc/Gossip/Books/mBlockArduino1-3and1-4.html http://swf.com.tw/?p=406

  3. Arduino和ESP8266引脚图

    Arduino的引脚图 https://www.geek-workshop.com/thread-11826-1-1.html ESP8266 https://item.taobao.com/item ...

  4. Arduino 极速入门系列 - 光控灯(3) - 光敏电阻、与电阻分压那些事

    继续是讲解基础原理,新手专用部分.这次讲光敏电阻,和用电阻分压.光电元器件有好几种,其中测光相关的元器件,常见的有光敏三极管和光敏电阻,我们这次光控灯用光敏电阻.在我们光控灯里面,将会使用它搭建出分压 ...

  5. arduino api手册

    本文由博主原创,如有不对之处请指明,转载请说明出处. arduino 函数 api 程序结构 在Arduino中, 标准的程序入口main函数在内部被定义, 用户只需要关心以下两个函数:void se ...

  6. 最新 Arduino 驱动 12接口/户外 LED显示屏/LED点阵屏/LED单元板

    起因 现有的驱动LED显示屏的资料,比较好的只有这个.但是它驱动的是08接口的室内显示屏,而我要驱动的是12接口的户外显示屏.两种屏幕的区别在于户外屏幕点阵比较稀疏,而且二者的扫描方式,驱动方式都不太 ...

  7. 使用带Arduino IDE & WIZ820io的ATmega1284P

    使用带Arduino IDE & WIZ820io的ATmega1284P 2013/07/04 | Filed under:   IO模块 and tagged with:   arduin ...

  8. 【Arduino】开源开发板说明

    来自世界各地的新型微控制器层出不穷,这类开发板多数都是通过Arduino改进的版本,例如由Arduino所改良的Yún一样,主要是针对网状网路进行改进或升级了其它无线功能. 但一些开发板也有着其独到的 ...

  9. Arduino语法详解_含示例详解

    Arduino 的程序可以划分为三个主要部分:结构.变量(变量与常量).函数. 结构部分 一.结构 1.1 setup() 1.2 loop() 二.结构控制 2.1 if 2.2 if...else ...

随机推荐

  1. 【亲测】手把手教你如何破解pycharm(附安装包和破解文件)

    此教程支持最新的2019.3版本的Pycharm,并兼容之前的版本. 一.准备工作: 1.下载Pycharm 有条件的可以自行去官网下载,这里我提供了我下载的版本,已上传到百度网盘,链接在下方. 2. ...

  2. Python模拟保护和私有成员

    保护成员:以一个下划线开头.Python不会做特殊处理 私有成员:以两个下划线开头.Python会做mangling

  3. VS停止调试,IIS Express也跟着关闭了

    问题描述: 我们会时不时地用VS进行调试,当点击停止调试的时候,网站再刷新一下,便会出现网页走丢的现象,然后需要重新打开网站,很是麻烦,令人抓狂.如何解决呢? 首先说下,为啥会产生这种问题? 大致描述 ...

  4. SQL SERVER管理维护计划错误,备份错误,1053/3041/错误18204,严重性16,状态1

    在sqlserv2008/2012里设置了管理-维护计划-备份计划,前些天遇到报错-1053/3041/错误18204,严重性16,状态1等:分享下解决方法. 1.在服务器执行任务报错 2.解决办法 ...

  5. Java面试题(1):详解int与Integer

    Java面试题(1):详解int与Integer int与Integer的区别 int是Java的基本数据类型之一,Integer是int的包装类 int直接再内存中储存值,Integer进行new操 ...

  6. Linux:apache第一个简单的站点

    前提: apache安装目录再/application/apache/ 1.先进入安装目录中 cd /application/apache/ ls 查看目录中的内容 可以看到好多我们常见的文件夹,bi ...

  7. PHP相关的书签内容

    ThinkPHP函数详解 session方法 --ThinkPHP 开源PHP框架 ThinkPHP实现支付宝接口功能 - /折磨 - 博客园 php几个常用的概率算法(抽奖.广告首选) - 懒人技术 ...

  8. java的注解学习

    转载自https://www.cnblogs.com/xdp-gacl/p/3622275.html 孤傲苍狼 只为成功找方法,不为失败找借口! Java基础加强总结(一)——注解(Annotatio ...

  9. spring mvc(3) DispatcherServlet

    通过前面的例子,我们实现了spring mvc模式,那么在spring mvc模式下请求是如何被执行最终返回页面的呢? 从服务器收到请求开始,执行流程如下: 1.服务器接收请求,根据web.xml的配 ...

  10. 骚操作:不重启 JVM,如何替换掉已经加载的类?

    Java对象行为 java.lang.instrument.Instrumentation 直接操作字节码 BTrace Arthas 三生万物 在遥远的希艾斯星球爪哇国塞沃城中,两名年轻的程序员正在 ...