下面是一个使用Arduino解决按键问题并发送单一值的示例代码:
#define BUTTON_PIN 2 // 按键连接到Arduino的引脚2
#define LED_PIN 13 // LED连接到Arduino的引脚13
int buttonState = 0; // 按键状态变量
int previousButtonState = 0; // 前一次按键状态变量
void setup() {
pinMode(BUTTON_PIN, INPUT); // 设置按钮引脚为输入模式
pinMode(LED_PIN, OUTPUT); // 设置LED引脚为输出模式
Serial.begin(9600); // 初始化串口通信
}
void loop() {
buttonState = digitalRead(BUTTON_PIN); // 读取按钮引脚的状态
if (buttonState != previousButtonState) { // 检测按键状态是否发生变化
if (buttonState == HIGH) { // 检测是否按下了按钮
digitalWrite(LED_PIN, HIGH); // 打开LED灯
Serial.println("Button pressed!"); // 发送按键按下的消息
} else { // 检测是否松开了按钮
digitalWrite(LED_PIN, LOW); // 关闭LED灯
Serial.println("Button released!"); // 发送按键松开的消息
}
delay(50); // 延迟50毫秒以避免按键抖动
}
previousButtonState = buttonState; // 更新前一次按键状态变量
}
以上代码中,我们使用Arduino的digitalRead()
函数读取按钮引脚的状态,并根据状态的变化来执行不同的操作。如果按钮被按下,我们会打开LED灯并通过串口发送一条消息。如果按钮被松开,我们会关闭LED灯并发送另一条消息。
你可以使用Arduino的串口监视器来查看接收到的消息。