📜  Arduino-I O功能(1)

📅  最后修改于: 2023-12-03 15:29:27.696000             🧑  作者: Mango

Arduino-I/O功能介绍

Arduino是一种开源硬件平台,可以利用其I/O功能来和外部设备进行交互,实现各种应用。

I/O接口类型

Arduino主要有两种I/O接口类型:

  1. 数字接口(Digital):数字接口是指在Arduino板子上能够输出0或1的接口。其中,输入接口可以读取外部数字输入信号,输出接口可以控制外部数字输出信号。

  2. 模拟接口(Analog):模拟接口是指能够输出模拟信号(0-5V)的接口。可以用它们来读取外部模拟输入信号或控制外部模拟输出信号。

数字接口

所有数字接口都用digitalWrite(pin, value)函数控制。参数pin指要控制的引脚号,value可以为HIGHLOWHIGH表示通电状态(5V),LOW表示断电状态(电压源到接地之间)。例如,digitalWrite(13, HIGH)会让引脚13处于通电状态。

数字输入接口可以用digitalRead(pin)函数读取输入信号。

下面是一个示例代码,将引脚13设置为输出接口,周期性地交替输出HIGH和LOW。

void setup() {
  pinMode(13, OUTPUT);  // 将13号引脚设置为输出接口
}

void loop() {
  digitalWrite(13, HIGH);   // 将13号引脚输出HIGH
  delay(1000);              // 程序等待1s
  digitalWrite(13, LOW);    // 将13号引脚输出LOW
  delay(1000);              // 程序等待1s
}
模拟接口

所有模拟输出接口都用analogWrite(pin, value)函数控制,其中的value用于设置输出电压,最大可以取到255.

模拟输入接口需要使用analogRead(pin)函数,该函数返回模拟输入的值(0-1023)。

下面是一个示例代码,将引脚11设置为模拟输出接口,以一定频率改变输出电压。

int ledPin = 11;    // LED在11号引脚
int brightness = 0; // LED亮度

void setup() {
  pinMode(ledPin, OUTPUT);           // 将11号引脚设置为输出
}

void loop() {
  analogWrite(ledPin, brightness);   // 使用PWM方式改变LED亮度
  brightness = brightness + 5;       // 增加LED亮度
  if (brightness >= 255) {           // 如果亮度达到最大值
    brightness = 0;                  // 重置亮度
  }
  delay(30);                         // 程序等待30ms
}
总结

这就是Arduino的I/O功能。借助这些功能,我们可以用Arduino与各种设备交互,实现各种有趣的应用。