Я не знаю, как сделать Fade = 0, не прикрепляя его к выводу 0 на Arduino - PullRequest
0 голосов
/ 15 апреля 2020

Моя проблема в том, что замирание не может быть 0 без подключения его к выводу 0, но замирание происходит, когда замирает светодиод rgb. поэтому я не знаю что делать. вот мой код:

int red=9;
int green=10;
int blue=11;




void setup() {
  pinMode(red, OUTPUT);
  pinMode(green, OUTPUT);
  pinMode(blue, OUTPUT);

}

void loop() {
  for (int fade=0; fade <=100; fade=fade+5);

analogWrite (red, fade);
delay(30);
digitalWrite(red, 0); analogWrite (green, fade);
delay(30);
digitalWrite(green, 0); analogWrite (blue, fade);
delay(30);
digitalWrite(blue, 0);

}

1 Ответ

1 голос
/ 15 апреля 2020

A для l oop будет запускать любой следующий оператор после него, пока регистр в середине не потерпит неудачу.

Если вы поставите точку с запятой после вашей для l oop, например:

для (int i = 0; i <10; i ++); </p>

, тогда это " Следующее утверждение "это просто пустая точка с запятой. Так что 10 раз ничего не делает. Или более вероятно, что это оптимизируется.

Если вы хотите запустить несколько операторов вместе в for l oop, вам нужно заключить эти операторы в набор фигурных скобок, чтобы сгруппировать их в составной оператор или «блок». Вы делаете это для циклов for, а также операторов while и if.

void loop() {
  for (int fade=0; fade <=100; fade=fade+5) //<- NO SEMICOLON
  {  //<- OPENING BRACE
    analogWrite (red, fade);
    delay(30);
    digitalWrite(red, 0); analogWrite (green, fade);
    delay(30);
    digitalWrite(green, 0); analogWrite (blue, fade);
    delay(30);
    digitalWrite(blue, 0);
  }  // <- CLOSING BRACE

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...