Я пытаюсь отправить некоторые данные из raspberry pi в arduino через последовательное соединение, но скорость кажется слишком низкой.Все, что я пытаюсь сделать, это включить и выключить свет на плате Arduino, и сигнал для переключения света отправляется через последовательное соединение.
Свет включается и выключается через некоторый промежуток времени, какпоказано в коде ниже.Когда задержка больше 1, она работает нормально, свет включается и выключается, но когда я изменяю задержку на значение меньше 1, свет вообще не мигает.Я попытался изменить скорость передачи, но это не помогает.Скорость передачи на обеих платах одинакова.Код ниже находится на Raspberry Pi.
import serial
import time
serial_light = serial.Serial('/dev/ttyACM0', 250000)
delay = float (2)
while(1):
inp = "60"
print ("On\n")
serial_light.write(inp.encode())
time.sleep(float (delay))
inp = "61"
print ("Off\n")
serial_light.write(inp.encode())
time.sleep(float (delay))
// Код Arduino
int light = 13;
void setup()
{
Serial.begin(250000);
pinMode(light, OUTPUT);
}
void loop()
{
int in = 0;
while(Serial.available() == 0);
in = Serial.parseInt();
if(in == 60)
{
digitalWrite(light, HIGH);
}
else if(in == 61)
{
digitalWrite(light, LOW);
}
}
Еще раз, он работает для значений задержки> = 1, но не между 0 и 1.