Сборка гирлянды

int ledPin1 = 13;
int ledPin2 = 12;
int ledPin3 = 11;
int ledPin4 = 10;
int ledPin5 = 9;
int sensorValue = 0;
int sensorPin = A0;
void setup() {
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
pinMode(ledPin4, OUTPUT);
pinMode(ledPin5, OUTPUT);
Serial.begin(9600);
randomSeed(analogRead(A1)); // Инициализация генератора случайных чисел
}
// 1. Все светодиоды мигают одновременно
void mode1() {
for (int i = 0; i < 5; i++) {
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin2, HIGH);
digitalWrite(ledPin3, HIGH);
digitalWrite(ledPin4, HIGH);
digitalWrite(ledPin5, HIGH);
delay(200);
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, LOW);
digitalWrite(ledPin4, LOW);
digitalWrite(ledPin5, LOW);
delay(200);
}
}
// 2. Светодиоды по одному
void mode2() {
int pins[] = {ledPin1, ledPin2, ledPin3, ledPin4, ledPin5};
for (int i = 0; i < 5; i++) {
digitalWrite(pins[i], HIGH);
delay(200);
digitalWrite(pins[i], LOW);
}
}
// 3. "Цветной" режим
void mode3() {
digitalWrite(ledPin1, HIGH); digitalWrite(ledPin4, HIGH);
delay(200);
digitalWrite(ledPin1, LOW); digitalWrite(ledPin4, LOW);
digitalWrite(ledPin2, HIGH);
delay(200);
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, HIGH); digitalWrite(ledPin5, HIGH);
delay(200);
digitalWrite(ledPin3, LOW); digitalWrite(ledPin5, LOW);
}
// 4. Случайный режим
void mode4() {
int pins[] = {ledPin1, ledPin2, ledPin3, ledPin4, ledPin5};
for (int i = 0; i < 10; i++) {
int randPin = pins[random(0, 5)];
digitalWrite(randPin, HIGH);
delay(random(100, 300));
digitalWrite(randPin, LOW);
}
}
// 5. Работают все
void mode5() {
int pins[] = {ledPin1, ledPin2, ledPin3, ledPin4, ledPin5};
for (int i = 0; i < 5; i++) {
digitalWrite(pins[i], HIGH);
delay(150);
digitalWrite(pins[i], LOW);
}
for (int i = 3; i > 0; i--) {
digitalWrite(pins[i], HIGH);
delay(150);
digitalWrite(pins[i], LOW);
}
}
void loop() {
int Value_new = analogRead(sensorPin);
Value_new = map(Value_new, 0, 1023, 1, 6);
Serial.println(Value_new); // Для отладки
if (Value_new == 2) {
mode1();
}
else if (Value_new == 3) {
mode2();
}
else if (Value_new == 4) {
mode3();
}
else if (Value_new == 5) {
mode4();
}
else if (Value_new == 6) {
mode5();
}
else {
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, LOW);
digitalWrite(ledPin4, LOW);
digitalWrite(ledPin5, LOW);
}
}
Используеться :
- 5 ламп
- 5 резистор
- потенциометр
На потенуциометре пишется режим рабоы и деапозон, он регулирует какой режим должен работать