Как читать коммутаторы через последовательный порт C ++? - PullRequest
0 голосов
/ 02 июля 2019

У меня есть Arduino Nano.Я хочу подключить коммутаторы MX Cherry и обнаружить нажатие через последовательный порт.Какие контакты я должен использовать на Arduino и какой код должен быть загружен на пластину?

Я понимаю, что мне нужно питать коммутаторы, поэтому должен быть 5В и входной контакты.Но я новичок в электронике, поэтому мне не удалось понять это.

//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 Ответ

1 голос
/ 02 июля 2019

Возможно, я неправильно понял ваш вопрос.Почему бы просто не прочитать кнопку и отправить «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 в секунду.Я добавил задержку, но это может быть не лучшим ответом для вашего приложения (и решил не делиться).Я также предположил, что ваша кнопка активна - НИЗКАЯ с подтягиванием, так как вы тоже этим не делитесь.

...