初识Arduino——以UNO为例

时间:2024-03-27 18:11:07

初识Arduino——以UNO为例

 Arduino是一款便捷灵活、方便上手的开源电子原型平台,主要包含两个部分:

  1. 硬件部分(各种型号的Arduino板、扩展板)可以用来做电路连接的电路板,Arduino和面包板、扩展板配合,可以避免焊接的繁琐,让我们可以更加轻松的得到我们需要的电路设计;
  2. 软件部分(Arduino IDE)是我们计算机中的程序开发环境,现在市场上,还有很多图形化的开发软件:Scratch、米思齐、S4A等等,可以极大程度上降低编程的难度;代码部分属类C++编程,跟硬件更贴合;

这里提到了开源两个字,那么什么是开源呢?

相对于以Linux为代表的开源软件阵营,开源软件也是开源思想的继承者;这些硬件的开发者将硬件的全部资料都对外公开,包括电路图、固件、软件、元件列表、器件列表以及印刷版图,这些资料允许任何人使用,我么可以以Arduino为基础,定制我们自己的兼容板,开发更*,不用考虑版权的问题;

 

我们首先来看一下,Arduino给我们提供了哪些硬件资源:(硬件部分详解参照:详解Arduino Uno开发板的引脚分配图及定义

初识Arduino——以UNO为例

Arduino Uno微控制器采用的是Atmel的ATmega328,包含14个数字引脚、6个模拟输入、电源插孔、USB连接和ICSP插头。引脚的复用功能提供了更多的不同选项,例如驱动电机、LED、读取传感器等(复用指的是,同一个引脚可以拥有多种功能,比如说引脚5,不仅可以当做数字引脚来使用、还可以用于PWM,也是定时器端口)

 

Arduino UNO的三种供电方式:

  •  直流电源插孔 -可以使用电源插孔为Arduino开发板供电。电源插孔通常连接到一个适配器。开发板的供电范围可以是5-20V,但制造商建议将其保持在7-12V之间。高于12V时,稳压芯片可能会过热,低于7V可能会供电不足;
  •  VIN引脚 - 该引脚用于使用外部电源为Arduino Uno开发板供电。电压应控制在上述提到的范围内;
  •  USB电缆 - 连接到计算机时,提供500mA/5V电压;

初识Arduino——以UNO为例

在电源插孔的正极与VIN引脚之间链接有一个极性保护的二极管,额定电流为1安培;

您使用的电源决定了可用于电路的功率。例如,使用USB为电路供电时,电流最大限制在500mA。考虑到该电源也用于为MCU、外围设备、板载稳压器和与其连接的组件供电。当通过电源插座或VIN为电路供电时,可用的最大电流取决于Arduino开发板上的5V和3.3V稳压器;

●    5v和3v3 - 它们提供稳压的5V和3.3v,向外部组件供电;

●    GND - 在引脚分配图中可以看到有5个GND引脚,它们都是互连的。GND引脚用于闭合电路回路,并在整个电路中提供一个公共逻辑参考电平。务必确保所有的GND(Arduino、外设和组件)相互连接并且有共同点;

●    RESET - 该引脚可以实现程序对开发板进行复位,接在数字引脚,通过数字引脚置低电平复位;

●    IOREF - 该引脚是输入/输出参考,提供了微控制器工作的参考电压;(在数模或模数转换时,芯片可以提供一个转换的参考电平,有时为了提高转换精度可以在芯片外提供一个参考电平,ioref应该就是引入参考电平的管脚)

 

Arduino Uno引脚分配 - 模拟输入

Arduino Uno有6个模拟引脚,它们作为ADC(模数转换器)使用,用作模拟输入,但也可用作数字输入或数字输出。

初识Arduino——以UNO为例

模数转换

ADC表示模拟到数字转换器。 ADC是用于将模拟信号转换为数字信号的电子电路。模拟信号的这种数字表示允许处理器(其是数字设备)测量模拟信号并在其操作中使用它;

Arduino引脚A0-A5能够读取模拟电压。在Arduino上,ADC具有10位分辨率,这意味着它可以通过1,024个数字电平表示模拟电压。 ADC将电压转换成微处理器可以理解的位;

一个常见的ADC例子是IP语音(VoIP)。每部智能手机都有一个麦克风,可将声波(语音)转换为模拟电压。这通过设备的ADC,转换成数字数据,通过互联网传输到接收端;

 

Arduino Uno引脚分配 - 数字引脚

Arduino Uno的引脚0-13用作数字输入/输出引脚。其中,引脚13连接到板载的LED指示灯;引脚3、5、6、9、10、11具有PWM功能;

需要注意的是:

●    每个引脚可提供/接收最高40 mA的电流。但推荐的电流是20毫安;

●    所有引脚提供的绝对最大电流为200mA;

初识Arduino——以UNO为例

 

数字电平意味着什么?

数字是一种表示1位电压的方式:0或1。Arduino上的数字引脚是根据用户需求设计为输入或输出的引脚。数字引脚可以打开或关闭。开启时,它们处于5V的高电平状态,当关闭时,它们处于0V的低电平状态;

在Arduino上,当数字引脚配置为输出时,它们设置为0或5V;

当数字引脚配置为输入时,电压由外部设备提供。该电压可以在0-5V之间变化,并转换成数字表示(0或1)。为了确定这一点,有2个阈值:

  • 低于0.8v - 视为0
  • 高于2.0v - 视为1

将组件连接到数字引脚时,确保逻辑电平匹配。如果电压在阈值之间,则返回值将不确定;

 

其他的通信引脚,在后面用到的时候再讲;