如何通过串口C ++读取开关?

时间:2019-07-02 18:17:28

标签: arduino serial-port arduino-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 :(得分: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。我添加了一个延迟,但这可能不是您拥有的应用程序的最佳答案(并选择不共享)。我还假定您的按钮在上拉状态下处于活动低电平状态,因为您也没有共享该按钮。