Что не так с моими кодами

Мой учитель показал нам представление о танцующих рождественских огнях в tinkercad. Но я не знаю, что делать с кодами. Он оставил нам инструкцию, что делать. Я слежу за этим, но тинкеркад продолжает говорить об этом...

Sorry, it seems like your code has some errors.
Close
 In function 'void setup()':
13:5: error: a function-definition is not allowed here before '{' token
21:7: error: a function-definition is not allowed here before '{' token
41:61: error: expected '}' at end of input
41:61: error: expected '}' at end of input
41:61: error: expected '}' at end of input
 exit status 1

А вот код, который я ввел...

int ledPins[]={3,4,5,6,7,8,9,10,11,12};
void setup()
{
  for(int i =0; i <11; i++)
  {
    pinMode(ledPins[i],OUTPUT);
}
  {
  void setup()
    {
     for (int i=0; i <11; i++)
     {
       pinMode(ledPins[i],OUTPUT);
     }
  }
    {
      void loop()
      {
        int i = 0;
        while (i<10)
          
        {
          {
            digitalWrite(ledPins{i],HIGH);
            delay(100);
            digitalWrite(ledPins[i],LOW);
            i++;
                                }
                         }
                         i = 10;
                         while (i >0
                                {
                                  digitalWrite(ledPins[i],HIGH;
                                               delay(100);
                                               digitalWrite(ledPins[i],LOW;
                                                            i--;
                                                            }
                                                            }

А вот инструкция моего учителя по кодам...

6. Инициализировать переменные Используйте массив для инициализации переменных. Установите ledPin в качестве имени переменной и инициализируйте контакты Arduino, которые вы собираетесь использовать. Никогда не забывайте заканчивать каждое выражение точкой с запятой

7. Установите все контакты для вывода Используйте функцию void setup() Создайте цикл for() для работы с массивами. Инициализируйте цикл for с помощью i=0; так как мы начнем танцевальные огни со всеми выключенными светодиодами. Инициализировать условие i<11; так как нам нужно включить 10 светодиодов.

Установите приращение на i++, потому что нам нужно повторять, пока не будет достигнут последний светодиод. Настройте вывод с помощью pinMode(). Поместите фигурную скобку до и после цикла for и функции pinMode(). 8. Создайте петлю Используйте функцию void loop(). Создайте переменную, я = 0. Используйте while() для непрерывного цикла Сначала while() используется для запуска вашего источника света справа налево.

Вторая функция while() используется для запуска источника света слева направо. Поместите фигурную скобку до и после блока операторов. Никогда не забывайте заканчивать каждое выражение точкой с запятой

, 👍0

Обсуждение

У вас, кажется, скобки-туретки. Вам действительно нужно посмотреть на эти скобки. Изучите их форму и порядок. Подсказка: для каждого открытия {должно быть закрытие}. Для каждого открытия (должно быть закрытие). Для каждого открытия [должно быть закрытие]., @Majenko

Это единственные коды, которые мне нужно изменить?, @Janelle

Я не знаю. Ваш код такой беспорядок, что я понятия не имею, что он собирается делать., @Majenko

Нужно правильно расставить скобки. Хотя это не про Arduino, поэтому здесь не по теме. Вы можете поискать учебные пособия по C/C++ в Интернете, чтобы правильно понять синтаксис. Также вы должны использовать функцию автоформатирования (не знаю, есть ли она в Tinkercad, но она есть в Arduino IDE), чтобы получить правильный отступ. В противном случае вам придется делать это вручную. После того, как код имеет правильный отступ, становится намного легче увидеть проблемы со скобками., @chrisl

вам действительно нужно посмотреть пример кода в Arduino IDE... посмотреть, как код отформатирован, а значит, как он имеет отступ... уровни отступа похожи на абзацы в письме... ваш код имеет отступ, но он повсюду без причины, @jsotola

Отвечает ли это на ваш вопрос? [Что не так с моими кодами?](https://arduinoprosto.ru/q/77967/whats-wrong-with-my-codes), @sempaiscuba

Дубликат [https://arduinoprosto.ru/q/77967/whats-wrong-with-my-codes](https://arduinoprosto.ru/q/77967/whats-wrong-with-my- коды), @StarCat


1 ответ


Лучший ответ:

1

Я изменил его, чтобы он хотя бы компилировался.

int ledPins[]={3,4,5,6,7,8,9,10,11,12};
void setup()
{
  for(int i=0; i < 11; i++)
  {
    pinMode(ledPins[i],OUTPUT);
  }
}

void loop()
{
  int i = 0;
  while (i < 10)
  {
    digitalWrite(ledPins[i],HIGH);
    delay(100);
    digitalWrite(ledPins[i],LOW);
    i++;
  }
  i = 10;
  while (i > 0)
  {
    digitalWrite(ledPins[i],HIGH);
    delay(100);
    digitalWrite(ledPins[i],LOW);
    i--;
  }
}
,