Arduino Serial.Read () нестабильно с Raspberry Pi Serial.write () - PullRequest
0 голосов
/ 11 декабря 2019

Я создаю что-то, где Raspberry Pi подключается к базе данных, чтобы проверить правильность значения. Если значение верное, оно отправляет сигнал Arduino через Serial.write (). Затем Arduino считывает эти данные, и если Arduino читает 1, он должен отправить ВЫСОКИЙ сигнал через контакт 13.

Это сработало несколько месяцев назад, но когда я попробовал это на прошлой неделе, это сработало только несколько раз. Кажется, что Arduino не всегда может прочитать сигнал, который посылает Pi. В большинстве случаев он работает только в первый раз после внесения изменений, а затем кажется, что он больше не читает сигналы.

Код Arduino:

int n;

void setup(){
  pinMode(13,OUTPUT);
  pinMode(10,INPUT);
  Serial.begin(9600);
  n=7;
}

void loop(){
  if (Serial.available()){
    n = Serial.read() - '0';
  }
  if(n==1){
    digitalWrite(13,HIGH);
  }
  else{
    digitalWrite(13,LOW);
  }
  int rst = digitalRead(10);
  if(rst==HIGH){
     n=7;
  }
}

Raspberry Pi Pythonкод, который отправляет сигнал через Serial.write ((arduinoSerialData.write ()).

if strscan == barcode:
    print ('code valid')
    arduinoSerialData.write('1')
    break
else:
    print ('code invalid')
    arduinoSerialData.write('2')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...