Arduino Uno

Arduino UNO

如何上电

Arduino Uno 的运作电压 5V,以正确方式提供电源,不只是为了让控制板正常工作,也为了避免损坏控制板。

Arduino Uno 可通过三个方式提供电源:USB 连接、电源输入接口、Vin 脚位。

通过 USB连接

透过USB连接埠提供给控制板的电源必须是5V的电压,最基本的方式,就是透过Type B USB连接控制板,而另一头是Type A USB连接个人电脑,这可以提供5V、500mA的电源给控制板。
通过 USB 供电

通过 AC-DC 适配器

如果要透过电源输入接口供电,插头直径必须是 2.1公厘,供应的电压限制是 6V 至 20V,建议是直流 7V 至 12V,“低于 7V 的话,5V 输出脚位可能电压不足,控制板可能运作不正常,高于 12V 的话,电压调节模组可能过热而损坏控制板”。透过电源输入接口供电时,可以使用电源供应器、9V电池等来供应。

通过电源输入接口供电

通过 Vin 接口

通过 Vin 供电给控制板时,要求与透过电源输入插座相同,Vin 提供的电压,也是经由直流电压调节模组调整为 5V 与3.3 V。由于直流电压调节模组的输入端连接了电源输入插座供电与 Vin,因此,如果你透过电源输入插座供电,Vin也会量得与电源输入插座相同的电压,因此,当有两块 Arduino 控制板需要电源时,可将接有过电源输入插座的控制板上 Vin,连接至另一块控制板的 Vin。

控制板上有个标示为 ON 的 LED,用来指示电源供应状况,如果在已提供电源的情况下,发现标示为 ON 的 LED 闪烁、黯淡或熄灭,应尽快拔除电源,检查电源供应是否正常,以避免损坏控制板。

Arduino Uno 控制板上有三个 GND 脚位,可作为电路上的电压基准,应避免将 5V、3.3V、Vin 或其他输出脚位直接连接GND,以免造成短路,严重时会损坏控制板。

数字输入/输出引脚

Arduino 的数字输入,输出脚可以输出 5V 的和 0V 的数字信号,也可以接受数字信号。Arduino Uno 拥有 14 数字脚,分别为 0~13 号脚,通常以 D0~D13 (D--digital)表示。D3, D5, D6, D9, D10, D11 的引脚号码旁边有 ~ 的符号,表示这些引脚可以将数字信号用作模拟信号,以 PWM(Pulse Width Modulation, 脉冲宽度调变)的形式。

模拟输入引脚

Arduino Uno 配有 6路模拟输入,分别标记为 A0~A5,每路输入提供10位分辨率(即 1024 位不同的值),其默认输入值为 0-5V。虽然对于大多数 Arduino 使用者来说模拟引脚的功能是用来读取模拟传感器,其实模拟引脚同样拥有通用输入/输出(GPIO)引脚的所有功能(和0 - 13号数字引脚一样)。

因些,如果使用者需要更多的通用输入输出引脚,而模拟引脚还没有用掉,那么模拟引脚可以用来作为GPIO。

重置键与 RESET 引脚

控制板左上方有个重置键,按下重置键会使得控制板重新执行使用者烧录之程式,控制板下方有个RESET引脚,当它处于低电位时,也会有相同的重置效果。

其他引脚和元件

控制板右方有个显而易见的芯片,那就是控制板的大脑 ATmega328,采双列直插封装(Dual in-line package),又称DIP 封装,市面上有单独销售ATmega328,如果控制板上的 ATmega328 损坏,可以使用小的一字起子或尖嘴钳将之撬起,用新的ATmega328 取代。

ATmega328 右上方有个 2x3 线上烧录用的 ICSP(In-Circuit Serial Programming)脚位,可连接 ISP 线上烧录器(In-system programmer),对 ATmega328 进行程式烧录,其中几个脚位与 D11、D12、D13 连接在一起。

控制板左上方有SCL(Serial Clock)、SDA(Serial Data)两个脚位,这是用来连接支持 I2C(Inter IC)协定的设备,此协定只采用两条接线,可在感传感器与控制板如 Arduino 之间传递信息,SCL 与S DA 也分别与模拟引脚 A5 与 A4 连接,方便接线之用。

D10、D11、D12、D13 是作为 SPI(Serial Peripheral Interface)协定的介面,SPI 使用四条线连接控制板与支持之设备。Arduino 同时支持 I2C 与 SPI 两种协定,在一些介绍到使用 I2C 或 SPI 设备的 Arduino 书籍中,都会有相关的说明。

Arduino Uno 有两个可设定中断(Interrupt)处理的脚位,中断0与中断1分别为 D2 与 D3,可使用 attachInterrupt 函数来设定中断服务常式(Interrupt Service Routine)。 控制板左下有个 IOREF 脚位,这可让其他设备知道 Arduino 控制板的运作电压,其左边有个脚位目前(Arduino Uno R3)没有任何作用。