我们知道,Arduino UNO开发板,他有三排引脚,一排是数字引脚,用于输入输出的,一排是模拟信号引脚,输入和输出模拟信号,还有一个是电源部分。
pinMode(pin, mode)函数
pinMode(pin, mode)函数的作用,是设置数字输入/输出引脚的模式。这里需要注意的是,这个定义说清楚了,他是用于数字引脚的,对于其他的引脚并不起作用。同时,既然是数字引脚,那么其输入和输出只能是0和1的值了。
pinMode函数有两个参数:第一个参数pin用来定义数字引脚的编号,Arduino UNO板上有编号0-13;第二个参数mode用来设置引脚的模式,一共有三种模式:
- INPUT:将引脚设置为输入模式。这意味着引脚可以读取外部信号(如按钮按压或传感器读数)。
- OUTPUT:将引脚设置为输出模式。这允许引脚输出高电平(通常为5V或者3.3V,取决于Arduino板)或者低电平(0V)。这可以用于控制LED灯,继电器或其他设备的开关状态。
- INPUT_PULLUP:将引脚设置为输入模式,并启用内部上拉电阻。着有助于稳定输入信号,减少外部噪声的影响。当引脚悬空(未连接任何外部设备)时,它会被拉高到高电平状态。当外部设备将引脚拉低到低电平时,可以检测到信号变化。
这里,主要就是关于INPUT_PULLUP的理解,按照上面所描述的,当你设置了INPUT输入模式,但是没有接入外面的设备的话,你读取的这个接口的值有可能是0有可能是1,而如果你使用了INPUT_PULLUP模式,那么你在没有接入外部设备的情况下,或者没有拉低电平的情况下,你读取到的始终是1,那么就实现了稳定性。
pinMode(2, INPUT);
pinMode(3, INPUT_PULLUP);
pinMode(13, OUTPUT);
注意:并非所有Arduino板都支持INPUT_PULLUP模式,这取决于板上的硬件涉及。此外,模拟引脚(以A开头的引脚,如A0,A1等)主要用于读取模拟信号,但是也可以作为数字引脚使用,所以如果数字引脚不够用了,其实也是可以用模拟引脚的,不过他们通常不支持INPUT_PULLUP模式。