Arduino 模拟输入输出

"Hello World, Hello GitheBlog"

Posted by Githe on May 11, 2024

正文

模拟输入和模拟输出端口,在使用前不需要通过`pinMode()`函数初始化;另外,如果模拟输入端口悬空,那么`analogRead()`函数读取到的值将是随机的。

1
2
3
4
5
6
7
8
9
#include <Arduino.h> // 引入Arduino库,才能在程序中使用Arduino提供的方法;

void loop(){
    int val = analogRead(A0); //   模拟输入端口,会将0-5v的电压转换为0-1023的数值;
    Serial.println(val);  // 通过串口打印val的值;
    map(val, 0, 1023, 0, 255);  //   map 等比映射函数,将变量val数值从 0 - 1023 区间等比映射到 0 - 255区间;
    analogWrite(6, val);   // analogWrite, 会将0-255的值通过PWM波的形式输出;
    delay(100);  // 使Arduino暂停100ms;
}

此案例的电路图如下:

analog示例电路