Почему Arduino отправляет лишние символы при общении через COM порт?
Хотел научить плату arduino UNO c компьютером с помощью python, чтобы потом использовать показания с датчиков, которые снимает arduino и отправляет на COM порт, с которого их обрабатывает python в голосовом помощнике. всё получилось, но вместе с данными отправляются какие-то помехи
пример:
b'Hello World\r\n'
При том что отправлял просто Hello World. Как убрать эти символы?
вот код для python:
import serial
import time
ser = serial.Serial('COM20', 9600)
while ("1"):
print(ser.readline())
time.sleep(0.1)
скетч для arduino:
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
Serial.println("Hello World");
delay(100);
}
Ответы (2 шт):
Serial.println отправляет строку в COM порт и прибавляет символы переноса
Попробуй Serial.print без ln.
Если всё так-же будет ловить "разграничители", попробуй прописать, чтобы Python их игнорил.
Та-же проблема сегодня была у меня, только пишу на С#, я решил с помощью метода "Contains" в общем он смотрим присутствует ли в пришедших данных в порт с ардуино нужный текст. Допустим пришло " b'Hello World\r\n " - с помощью метода можно проверить есть ли тут "Hello World" если да то возвращает true, проверка при помощи if. На python думаю есть подобное