Я взял мой Arduino из коробки около часа назад, и я пытаюсь получить некоторые фрагменты кода. Приведенный ниже код должен ждать ввода с последовательного монитора и установить светодиод, подключенный на клемме 9, к входному значению. Arduino считывает значение в первый раз, но всегда устанавливает светодиод на полную яркость и никогда не печатает «вход недействителен». Arduino также не считывает значения после первого. Я уверен, что это ошибка новобранец, но я не могу понять, что это такое.Связь Arduino через последовательный монитор
int A;
void setup()
{
Serial.begin(9600);
Serial.println("input value");
}
void loop()
{
A = 0; /*reset A */
if (Serial.available() > 0) /* wait for input */
{
A = Serial.read(); /* read input */
if(A >= 0 && A <= 255) /* check for valid input */
{
analogWrite(9, A); /* set value of led */
}
else
{
Serial.println("input invalid");
}
}
delay(100); /* wait 0.1 sec */
}
Я думаю, вы должны использовать 'Serial.parseInt()' вместо чтения одного символа 'read()'. И если вы быстро двигаетесь со светодиодом, и вы можете видеть мерцание (след), то он не находится на «полной яркости». – KIIV
Спасибо! Это исправило это. –