串行通信后,Arduino继续重新启动

2024-06-18 13:17:15 发布

您现在位置:Python中文网/ 问答频道 /正文

Good day 

我有一个python代码,它使用串行通信和 在我运行命令(打开LED)后,LED将亮起约2秒钟,然后arduino将重新启动并转到默认状态,即LED熄灭。但它在串行监视器中运行良好

python code
 time.sleep(2) 
        ser = serial.Serial('COM3', 9600)

        if 'lights on' in voice:   #after sending this part the LED will turn on for about 2 sec and then turning off again
            ser.write(1)   

        if 'lights off' in voice:
            ser.write(2)

        time.sleep(2)    
        ser.close()    


arduino code:

byte incomingByte = 0; // for incoming serial data
int Relay4 = 13;
void setup() {

Serial.begin(9600); // opens serial port, sets data rate to 9600 bps
pinMode(Relay4,OUTPUT);
digitalWrite(Relay4, HIGH);
}

void loop()
{

if(Serial.available())
{
  incomingByte = Serial.read();
  Serial.println(incomingByte,DEC);
  switch(incomingByte){
  case 49:
  digitalWrite(Relay4,LOW);
  break;
  case 50:
  digitalWrite(Relay4,HIGH);
  break;
  default:
  break;
    }
  }
}

Tags: lediftimeonserialcodesleeparduino