Arduino Leonardo 简单操作之二--读取模拟量(电压)

硬件准备:

除了开发板和USB线之外,还要购买面包板、跳线、可变电阻器(0-100KOhm之间手动可调)、固定电阻器(2kOhm)

Arduino Leonardo 简单操作之二--读取模拟量(电压)_第1张图片

使用leonardo 提供的5伏电压源,向电阻供电,如图。A3针是读取模拟量的ADC接口。leonardo另一端连计算机。

代码如下:

int analogPin = A3;
int iVal = 0;
void setup()
{
    Serial.begin(9600);//打开串口,设置波特率9600
    pinMode(1, OUTPUT);//由于pin1是串口的Tx,所以要将其模式设置为OUTPUT
}

void loop()
{
    iVal = analogRead(analogPin);
    float fVal = iVal * 5000.0 / 1024;
    Serial.print(fVal, 3);
    Serial.println();//输出换行符
    delay(1000);
}

由于开发板提供的电压是5伏,且模拟量读取的分辨率是1024,那么A3获取的实际电压就是 iVal * 5000.0 / 1024

每次读取的结果通过串口Serial发给上位机。

将开发板与计算机连接后,选择对应的端口和正确的开发板类型:

Arduino Leonardo 简单操作之二--读取模拟量(电压)_第2张图片

然后点击IDE界面工具栏左起的第二个按钮,将代码编译并上传到开发板上:

Arduino Leonardo 简单操作之二--读取模拟量(电压)_第3张图片

上传完成后,板子就在读取电压并向上位机回报数据了。此时点击IDE的“工具栏”,选择“串口监视器”即可看到实时的电压值。

Arduino Leonardo 简单操作之二--读取模拟量(电压)_第4张图片

你可以选择串口的波特率(监视器右下角),使之与代码中的波特率一致。

下图展示的电压是~100mV.这是在可调电阻器的滑动触头到达最下端时测到的数据。此时整个滑动变阻器100KOhm都连入电路。而固定电阻的阻值是2KOhm。所以在两个电阻器相交的位置(也就是滑动触头当时所在的位置,也是A3读取电压的位置),电压约为5000mV * 2 / 100 ~= 100mV,与测量结果相符。

Arduino Leonardo 简单操作之二--读取模拟量(电压)_第5张图片

你可能感兴趣的:(单片机)