0

我有一个 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”。

4

1 回答 1

1

也许我误解了你的问题。为什么不直接读取按钮并在按下时发送“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。我添加了延迟,但这可能不是您拥有的应用程序的最佳答案(并且选择不共享)。我还假设您的按钮通过上拉电阻连接到低电平有效,因为您也没有共享它。

于 2019-07-02T20:16:37.650 回答