Arduino上的数字引脚是根据用户需求设计为输入或输出的引脚。数字引脚可以打开或关闭。开启时,它们处于5V的高电平状态,当关闭时,它们处于0V的低电平状态。
在Arduino上,当数字引脚配置为输出时,它们设置为0或5V。
当数字引脚配置为输入时,电压由外部设备提供。该电压可以在0-5V之间变化,并转换成数字表示(0或1)。为了确定这一点,有2个阈值:
低于0.8v - 视为0。
高于2.0v - 视为1。
将组件连接到数字引脚时,确保逻辑电平匹配。如果电压在阈值之间,则返回值将不确定。
什么是PWM?
通常,脉宽调制(PWM)是一种调制技术,用于将消息编码为脉冲信号。 PWM由两个关键部分组成:频率和占空比。 PWM频率决定了完成单个周期(周期)所需的时间以及信号从高到低的波动速度。占空比决定信号在总时间段内保持高电平的时间。占空比以百分比表示。
在Arduino中,支持PWM的引脚产生约500Hz的恒定频率,而占空比根据用户设置的参数而变化。见下图:
PWM信号用于直流电机的速度控制,调光LED等。
通信协议
串行(TTL) - 数字引脚0和1是Arduino Uno的串行引脚。
它们由板载USB模块使用。
什么是串行通信?
串行通信用于在Arduino板和其他串行设备(如计算机,显示器,传感器等)之间交换数据。每块Arduino板至少有一个串口。串行通信发生在数字引脚0(RX)和1(TX)以及USB上。 Arduino也支持通过数字引脚与SoftwareSerial Library进行串行通信。这允许用户连接多个支持串行的设备,并保留主串行端口可用于USB。
软件串行和硬件串行 - 大多数微控制器都具有用于与其他串行设备进行通信的硬件。软件串行端口使用引脚更改中断系统进行通信。有一个用于软件串行通信的内置库。处理器使用软件串行来模拟额外的串行端口。软件串行唯一的缺点是它需要更多的处理,并且不能支持与硬件串行相同的高速。
SPI- SS / SCK / MISO / MOSI引脚是SPI通信的专用引脚。它们可以在Arduino Uno的数字引脚10-13和ICSP插头上找到。
串行外设接口(Serial Peripheral Interface,SPI)是一种