Как объединить 2 скетча в 1 скетч ардуино

Помогите объединить 2 скетча в 1 скетч ардуино

1 скетч БЕГУЩИЙ ОГОНЬ

void setup() 
{
for (int i = 3; i <=5 ; i++){
 pinMode(i, OUTPUT);}
}

void loop() 
{
for (int i = 3; i <= 5; i++){
digitalWrite(i,HIGH);
delay(750);
digitalWrite(i,LOW);
}
for (int i = 5; i >= 3; i--)
{
digitalWrite(i,HIGH);
delay(750);
digitalWrite(i,LOW);
}
}

2 Скетч НОЧНИК

const int BLED = 9;

const int GLED = 10;

const int RLED = 11;

const int BUTTON = 12;

boolean lastButton = LOW;

boolean currentButton = LOW;

int ledMode = 0;

void setup() 

{

  pinMode (BLED, OUTPUT);

  pinMode (GLED, OUTPUT);

  pinMode (RLED, OUTPUT);

  pinMode (BUTTON, INPUT);

}

boolean debounce(boolean last)

{

  boolean current = digitalRead(BUTTON);

  if (last != current)

  {

    delay(5);

    current = digitalRead(BUTTON);

    return current;

  }

}

void setMode(int mode)

{

  // Красный

  if (mode == 1)

  {

    digitalWrite(RLED, HIGH);

    digitalWrite(GLED, LOW);

    digitalWrite(BLED, LOW);

  }

  // Зеленый

  else if (mode == 2)

  {

    digitalWrite(RLED, LOW);

    digitalWrite(GLED, HIGH);

    digitalWrite(BLED, LOW);

  }

  // Синий

  else if (mode == 3)

  {

    digitalWrite(RLED, LOW);

    digitalWrite(GLED, LOW);

    digitalWrite(BLED, HIGH);




  }

  // Пурпурный (Красный+ Синий)

  else if (mode == 4)

  {

    analogWrite(RLED, 127);

    analogWrite(GLED, 0);

    analogWrite(BLED, 127);

  }

  // Бирюзовый (Синий+ Зеленый)

  else if (mode == 5)

  {

    analogWrite(RLED, 0);

    analogWrite(GLED, 127);

    analogWrite(BLED, 127);

  }

  // Оранжевый (Зеленый+ Красный)

  else if (mode == 6)

  {

    analogWrite(RLED, 127);

    analogWrite(GLED, 127);

    analogWrite(BLED, 0);

  }

  // Белый (Зеленый+ Красный+ Синий)

  else if (mode == 7)

  {

    analogWrite(RLED, 85);

    analogWrite(GLED, 85);

    analogWrite(BLED, 85);

  }

  // Выключен (mode = 0)

  else

  {

    digitalWrite(RLED, LOW);

    digitalWrite(GLED, LOW);

    digitalWrite(BLED, LOW);

  }

}


void loop() 

{

  currentButton = debounce(lastButton);

  if (lastButton == LOW && currentButton == HIGH)

  {

    ledMode++;

  }

  lastButton = currentButton;

  if (ledMode == 8)

    ledMode = 0;

  setMode(ledMode);
}

Я отредактировал. Используйте тройной обратный апостроф ``` для вставки кода пожалуйста

Не понел что такое тройной обратный апостроф ```

  • как посмотреть что вы отредактировали
    Можете скинуть отдельным сообщением

я поправил форматирование вашего сообщения

1 лайк

Допиши 8-ю функцию как бегущий огонь, по образцу как выше

Это мы с ним о нумерации строк говорили.

взять из первого скетча функцию бегущего огня (только её) и дописать во второй скетч, у тебя там 7 функций, по образу и подобию этих 7 вставляем 8-ю, естественно номера пинов должны быть как в нижнем скетче и исправить количество функций в главном цикле

Тяжело
Честно говоря я просто взял с роликов ютуба скетчы и сделал на схеме. А вот как вставить 2 скетча в 1 чет не понел.

Как посмотреть что вы изменили?

я ничего не менял, я тебе подсказал как, ну если сам не одолеешь закажи чтобы сделали, за пиво думаю сделают :wink:

2 лайка

Любой учебник по С++ подскажет.
Лично я предпочитаю Шилдта.

2 лайка

@AmirMull
Ваша ветка перенесена в"Песочницу" как более подходящий раздел форума.

3 лайка

точне было бы в Ищу исполнителя, ТС сам однозначно не одолеет :smiley:

1 лайк

Прошло два дня…оказывается и не надо было ничего )))

1 лайк

А ты сомневался?))