首页 > 解决方案 > 使用 Python 检查 Arduino 打印和如果条件满足播放声音

问题描述

我的 arduino 代码只打印出 1 和 2 等待 10 秒打印 0 和 0 等待 10 秒并重复。

int test1;
int test2;

void setup() {
  // put your setup code here, to run once:
Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
  test1 = 1;
  test2 = 2;
  Serial.println(test1);
  Serial.println(test2);
  delay(10000);
  test1 = 0;
  test2 = 0;
  Serial.println(test1);
  Serial.println(test2);
  delay(10000);
  
} 

我的 Python 代码:

import serial
import winsound

arduinoData = serial.Serial('COM5',9600, timeout = 1) 
print("COM5")


var2 = arduinoData.readline()

print(var2)


while(1):
        var2 = arduinoData.readline().decode('ascii') 
        print(var2)

        if (var2==1):

            winsound.PlaySound("zona1.wav",winsound.SND_ASYNC)
            print("yes")

        if (var2==2):

            winsound.PlaySound("zona2.wav",winsound.SND_ASYNC)
            print("no")    

它打印出 1 2 然后 0 0 然后 1 2。但我无法让它播放声音或打印。似乎没有满足 if 语句。

我在这种事情上是菜鸟。因此,任何帮助将不胜感激。

标签: pythonarduino

解决方案


原来我只需要使用条删除空格。

所以 ('ascii').strip()。


推荐阅读