Я создаю что-то, где 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')