Я пытаюсь отправить некоторые целочисленные значения из Python в Arduino, используя последовательный порт, код Python, кажется, работает, потому что я вижу мерцание светодиода TX на плате Ardunio, но мой светодиод, подключенный к 12-му выводу, все еще не горит Код Arduino также работает, потому что, когда я открываю последовательный порт IDE Arduino и отправляю «1», загорается светодиод, поэтому я думаю, что существует некоторая несовместимость между данными, отправляемыми Python, и типом Arduino ожидая.
Код Python:
ser = serial.Serial('COM3', 9600)
time.sleep(1)
ser.write('1'.encode())
Arduino код:
void setup() {
Serial.begin(9600);
pinMode(12,OUTPUT);
}
void loop() {
int X;
if (Serial.available()>0)
{
X = Serial.read();
if(X == '1')
{
digitalWrite(12,HIGH);
}
else if(X == '0')
{
digitalWrite(12,LOW);
}
}
}
поэтому мои вопросы:
1) В чем проблема в кодах?
2) _Какой тип данных Arduino ожидает получить от последовательного порта?
3) _ Каков наилучший способ отправить целочисленное значение свыше 255 из Python в Arduino? это правильный путь?
ser = serial.Serial('COM3', 9600)
S = 102
time.sleep(1)
data = [int(x)for x in str(S)]
for d in data:
c = bytes(str(d), "ascii")
ser.write(c)