Загрузка данных


Вы правы! В радуге порядок такой: красный → оранжевый → жёлтый → зелёный → голубой → синий → фиолетовый.

Вот упрощённый код именно по цветам радуги (7 цветов):

```cpp
int color = 0;  // 0-красный, 1-оранжевый, 2-жёлтый, 3-зелёный, 4-голубой, 5-синий, 6-фиолетовый

void setup() {
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);
  pinMode(2, INPUT_PULLUP);
}

void loop() {
  if (digitalRead(2) == LOW) {
    color = (color + 1) % 7;  // 0→1→2→3→4→5→6→0
    
    // Красный
    if (color == 0) { analogWrite(9, 255); analogWrite(10, 0); analogWrite(11, 0); }
    // Оранжевый (красный + немного зелёного)
    if (color == 1) { analogWrite(9, 255); analogWrite(10, 80); analogWrite(11, 0); }
    // Жёлтый (красный + зелёный)
    if (color == 2) { analogWrite(9, 255); analogWrite(10, 255); analogWrite(11, 0); }
    // Зелёный
    if (color == 3) { analogWrite(9, 0); analogWrite(10, 255); analogWrite(11, 0); }
    // Голубой (зелёный + синий)
    if (color == 4) { analogWrite(9, 0); analogWrite(10, 255); analogWrite(11, 255); }
    // Синий
    if (color == 5) { analogWrite(9, 0); analogWrite(10, 0); analogWrite(11, 255); }
    // Фиолетовый (красный + синий)
    if (color == 6) { analogWrite(9, 255); analogWrite(10, 0); analogWrite(11, 255); }
    
    delay(200);  // защита от дребезга
  }
}
```

Почему в прошлом коде не хватало цветов?
Там использовался digitalWrite (только ВКЛ/ВЫКЛ), а для оранжевого, жёлтого, голубого нужны промежуточные значения — поэтому здесь используется analogWrite (0–255).

Теперь цвета идут строго как в радуге