const int keyPin = 2;//按键引脚

void setup() {
  Serial.begin(9600);//创建一个串口监视器
  Serial.println("hello");
  pinMode(keyPin,INPUT);//设置引脚模式
}
int keyValue = 2;//按键的读取数值
void loop() {
  keyValue = digitalRead(keyPin);//数字输入语句
  Serial.println(keyValue);
  delay(20);//稍微加个延时
}

以下是对这段Arduino程序功能的分析:

1. 变量定义

const int keyPin = 2; :定义了一个常量 keyPin ,值为2 ,用于表示连接按键的Arduino数字引脚。常量意味着在程序运行过程中其值不能被改变,这样做有助于提高程序的可读性和可维护性,方便后续修改引脚连接时只需修改这一处定义。

2. setup 函数

  • Serial.begin(9600); :初始化串口通信,设置波特率为9600。波特率决定了数据在串口通信中传输的速度。通过这一步,Arduino可以与外部设备(如连接的电脑 )进行串行数据传输。
  • Serial.println("hello"); :通过已经初始化的串口,向连接设备(通常是电脑上的串口监视器 )发送字符串 "hello" ,起到程序启动提示的作用。
  • pinMode(keyPin, INPUT); :将 keyPin 引脚(即数字引脚2 )设置为输入模式,以便后续能够读取连接在该引脚上的按键的状态。

3. 变量定义(loop 函数外)

int keyValue = 2; :定义了一个变量 keyValue ,用于存储从按键引脚读取到的值,初始值为2 。不过这里初始值设置为2意义不大,因为后续在 loop 函数中会重新读取按键状态并赋值。

4. loop 函数

  • keyValue = digitalRead(keyPin); :使用 digitalRead 函数读取 keyPin 引脚上的电平状态,并将读取到的值(高电平为1 ,低电平为0 )存储到 keyValue 变量中。
  • Serial.println(keyValue); :通过串口将 keyValue 的值发送出去,在连接的串口监视器上显示。这样就可以实时观察按键引脚的电平状态变化,进而判断按键是否被按下(通常按键未按下时引脚为高电平,按下时为低电平 ,具体取决于硬件连接方式 )。
  • delay(20); :让程序暂停20毫秒,这是为了消除按键抖动带来的影响。按键在按下和松开瞬间,由于机械触点的抖动,电平状态可能会不稳定,短暂的延时可以确保读取到稳定的电平值。

总结

总体而言,这段程序的功能是实时读取连接在Arduino数字引脚2上的按键状态,并通过串口将按键引脚的电平状态值(0或1 )输出到串口监视器上显示,方便用户观察按键的按下和松开动作 。

0 条评论

目前还没有评论...