如何通过串口C++读取交换机?

How to read switches via serial port C++?

我有一个arduino nano。我想连接 MX Cherry 开关并通过串行端口检测按下。我应该在 arduino 上使用什么引脚以及应该将什么代码上传到盘子上?

我知道我必须为开关供电,所以必须有 5v 引脚和输入引脚。但我是电子学新手,所以我没弄明白。

//that's just basic code for sending a number every second via 13 pin
int i=0;
void setup() {
  Serial.begin(57600);
  pinMode(13, OUTPUT);
}
void loop() {
  i = i + 1;
  Serial.println(i);
  delay(1000);
}

基本上,我需要一种方法,如果按下按钮则发送“1”,否则发送“0”。

也许我误解了你的问题。为什么不只读取按钮并在按下时发送“1”,否则发送“0”?

void loop(){
  int buttonState = digitalRead(buttonPin);

  // Assumes active low button
  if (buttonState == LOW){
     Serial.print('1');
  } 
  else {
     Serial.print('0');
  }
  delay(500);
}

当然,您可能想为其添加某种计时,这样它就不会每秒发送数千个 0 和 1。我添加了延迟,但这可能不是您拥有的应用程序的最佳答案(并选择不共享)。我还假设您的按钮已连接 active-LOW 和 pull-up,因为您也没有共享它。