在 Arduino 编程语言中,输出是将数字或模拟信号从控制板发送给其他设备或机械部件的过程。可以使用多种输出,包括数字输出、模拟输出以及 PWM 输出,这些输出可用于控制机械、灯光、音频、电机等各种外部设备。
输出使得 Arduino 物联网应用变得更加智能化,可以方便地集成其他设备,并与物联网的其他部分进行通信。
数字输出是 Arduino 中最基础的输出方式。数字信号可将数值作为高电平(5V)或低电平(0V)来发送,这些信号可控制 LED 灯、灯泡、电机等外部电子设备。
为了进行数字输出,我们使用 digitalWrite() 函数,将要控制的引脚作为参数传递给函数,并传递需要输出的电平值。例如,要控制引脚 13,使其输出高电平:
digitalWrite(13, HIGH);
同样,通过将电平值设为低,可以使引脚输出低电平:
digitalWrite(13, LOW);
模拟输出是运用 PWM 技术对电压进行控制,以达到模拟输出的效果,在控制某些设备时尤其有用。Arduino 控制板有几个用于模拟输出的引脚(通常是 3、5、6、9 和 10,具体取决于板型),我们可以使用它们来向设备输出模拟信号。例如,可以使用模拟输出来控制直流电机的转速和方向。
要进行模拟输出,我们使用 analogWrite() 函数,通过设置 PWM 占空比来控制引脚输出的电压值。PWM 占空比是机器周期内 PWM 信号的有效占空比,最大可达 100%。这种技术使得输出电压可以在实现的电子设备的电源范围内进行调整。
例如,要以占空比为 50% 的 PWM 波形输出到引脚 9:
analogWrite(9, 128);
串行输出是 Arudino 控制板向计算机发送数据的过程。它是一种在实现物联网时非常常见的输出方式,它允许 Arduino 与其他设备通信,例如计算机或其他 Arduino 控制板。
要使用串行输出,我们需要使用 Serial 库中的函数。在代码的setup() 函数部分,我们首先要使用 begin() 函数,设置串行通信的波特率:
Serial.begin(9600);
在 loop() 函数中,我们可以使用 Serial.Print() 函数来将数据发送到计算机上:
Serial.print("Hello World!");
在 Arduino 库中还有许多其他函数,可用于串行通信,并提供了不同的输出格式。