Ameba Arduino: [RTL8195] ADC – 使用ADC让Ameba变成电压计

ADC介绍

  • ADC (Analog to Digital Converter), 它可以将类比的电压讯号转成数位讯号,Ameba的ADC是12-bit的精准度, 可测量的电压范围是0V ~ 3.3V, 所以可测量到的最小电压差距为 3.3V / (2^12-1) = 8mV。

材料准备

  • Ameba x 1
  • 10 KΩ 电位器(可变电阻器),如果没有电位器也没关系, 可以使用Ameba版子上的3V3 & 5V

范例说明

ADC可用于类比讯号,像是处理电压、声音、光亮、温度等等,实际应用的情况里可用来测量电池的电压,或是读取音量旋钮的大小等等。
这个范例里我们使用ADC读取电压值。

這個範例在 “File” -> “Example” -> “01.Basics” -> “ReadAnalogVoltage”

Ameba共有3根ADC,分别是A0~A2, 这个范例里我们使用A0,所以将电位器的输出接到A0, 并将电位器的VDD与GND如下图连接:

接着我们要从Serial Monitor视窗来看Ameba印出读到的数据首先我们要找到Ameba的Serial Port, 点Windows的[开始] 按钮、[控制台]、[系统及安全性],然后在[系统]下方按一下[装置管理员],开启[装置管理员]。会看到Ports那边有个mbed Serial Port(COM15), 这边COM15就是就是Ameba的Port Number



接着我们将Arduino的Port选到COM15, 它在 “Tools” -> “Port” -> COM15 (Ameba目前的Mbed Serial Port)。

每当我们要从Arduino IDE看Ameba印出的讯息, 都要设定成正确的port:



接着我们打开Serial Monitor, 在 “Tools” -> “Serial Monitor”:


此时会在Serial Monitor上面看到Ameba一直印出从A0读到的电压值, 我们可以调整电位器来改变Ameba读到的数值。



或者你手上没有电位器的话,也可以将接一条线将3V3与A0接在一起,会看到值大约在3.3左右,代表电压是3.3V,这样就代表读到的值是正确的。

程式码说明

我们使用跟Arduino同样的程式码, 所以可以在Ar​​duino的官方网站上找到说明:
https://www.arduino.cc/en/Tutorial/ReadAnalogVoltage

使用analogRead()就可以直接读到ADC的数据0~3.3:
https://www.arduino.cc/en/Reference/AnalogRead