1
Arduinoシリアルポートに文字列test
を書き込むPythonスクリプトがあります。 Arduinoのはtest
文字列を受信した場合、それは...文字列ok
で応答し、アップしたいとすべきである13をLEDすべきArduinoへのPythonシリアル書き込みは、Arduinoのシリアルモニタのシリアル書き込みと異なります
問題:Arduinoのシリアルモニタがシリアルポートにtest
を書き込むために使用された場合は、Arduinoのはok
などで応答 LED#13が点灯します。
しかし、Pythonスクリプトが同じシリアルポートにtest
を書き込むと、何も起こりません。 Arduinoはシリアルポートに応答せず、LED#13は点灯しません。
ArduinoとLED 13からの応答がok
の応答になるようにPythonスクリプトを修正する方法はありますか?
Arduinoのスケッチ
int ledPin = 13;
void setup() {
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
}
void loop() {
while(Serial.available() == 0) { }
if(Serial.readString() == "test\r\n") {
Serial.print("ok\r\n");
digitalWrite(ledPin, HIGH);
}
readString = ""; // Clear recieved buffer
delay(100);
}
のPythonスクリプト
port = 'COM5'
ser = serial.Serial(
port=port,
baudrate=9600,
timeout=5
)
serial.write("test\r\n")
response = serial.readline()
print response
作品!!文字列のエンコーディングを試して1時間を費やしてlol – Nyxynyx
私はPython + serial + ardiunoの経験を積んだ; –
素晴らしい!関連する質問:Pythonの無限ループでは、Arduinoが 'test'を送信してから' ok'で返答するのに約2秒かかります。これをスピードアップする方法はありますか? – Nyxynyx