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. Tornado + vue.js 前后端分离运行脚本

    shell脚本部分: #!/bin/bash 主脚本 (./cem-demo_publish_front) (./cem-demo_publish_backend) #!/bin/bash 后端脚本 ...

  2. Android开发之制作圆形头像自定义View,直接引用工具类,加快开发速度。带有源代码学习

    作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 QQ986945193 博客园主页:http://www.cnblogs.com/mcxiaobing ...

  3. oeasy教您玩转linux010105详细手册man

    详细手册 回忆上节课 我们上节课学习了使用命令来了解命令 whatis 我们通过他来发出灵魂之问 whatis到底是干什么的?

  4. 小白也能弄得懂的目标检测YOLO系列之YOLOv1网络训练

    上期给大家介绍了YOLO模型的检测系统和具体实现,YOLO是如何进行目标定位和目标分类的,这期主要给大家介绍YOLO是如何进行网络训练的,话不多说,马上开始! 前言: 输入图片首先被分成S*S个网格c ...

  5. Thymeleaf中model设一个值 页面显示此值 JS取此值

    model设值: m.addAttribute("pageNo", pageNo); 页面显示值: 当前为第:<span th:text="${pageNo}&qu ...

  6. LAMP环境之编译安装httpd服务

    “Apache HTTP Server”是开源软件项目的杰出代表,它基于标准的 HTTP 网络协议提供网页浏览服务. 在配置 Apache 网站服务之前,需要正确安装好 httpd 服务器软件.htt ...

  7. Java审计之SQL注入篇

    Java审计之SQL注入篇 0x00 前言 本篇文章作为Java Web 审计的一个入门文,也是我的第一篇审计文,后面打算更新一个小系列,来记录一下我的审计学习的成长. 0x01 JDBC 注入分析 ...

  8. Apache Hudi异步Compaction方式汇总

    本篇文章对执行异步Compaction的不同部署模型一探究竟. 1. Compaction 对于Merge-On-Read表,数据使用列式Parquet文件和行式Avro文件存储,更新被记录到增量文件 ...

  9. 关于LLVM源码在Linux下编译的过程

    1. 最好在gitee上查找llvm的源码或者直接git clone https://gitee.com/uniquesquirrel/llvm-project.git,是和github上的llvm项 ...

  10. 关于px、pt、em、rem四个单位的解释

    写在前面 最近在群里突然看到一个问题,就是px pt em rem 三者的区别,这个问题看起来非常基础,也非常容易被忽略,however,面试会问到~,那我就解释一下 px px的英文是pixel,翻 ...