esp8266–02 按钮状态监测

esp
Author

dd21

Published

December 5, 2022

用D0口检测按钮是否按下.

esp8266 nodeMCU上的LED灯为反向空控制 输入高电平为熄灭,输入低电平为点亮

int buttonState = 0;         // 设置初始状态为0低电平

void setup() {
    // 设置串频率为9600
  Serial.begin(9600);
  // 设置板子上的led灯作为输出信号:
  pinMode(LED_BUILTIN, OUTPUT);
  // 初始化D0为信号采集针脚:
  pinMode(16, INPUT);
}

void loop() {
  // 设置按钮状态为D0采集到的状态:
  buttonState = digitalRead(16);
  // 串口打印信息(可以去掉)
  Serial.println(buttonState+"----");
  // 判断按钮是否按下
  if (buttonState == HIGH) {
    // 把LED点亮   
    digitalWrite(LED_BUILTIN,LOW );
    Serial.println(buttonState+"----on");
  } else {
    // turn LED off:
    digitalWrite(LED_BUILTIN, HIGH);
     Serial.println(buttonState+"----off");
  }
}

简化程序

int buttonState = 0;         // 设置初始状态为0低电平

void setup() {  
  pinMode(LED_BUILTIN, OUTPUT);
  pinMode(16, INPUT);
}

void loop() {
  buttonState = digitalRead(16);

  if (buttonState == HIGH) {
    digitalWrite(LED_BUILTIN,LOW);
  } else { 
    digitalWrite(LED_BUILTIN, HIGH);
  }
}