Гирлянда
Описание работы
Обычная гирлянда, в которой состоят несколько светодиодов, и имеет разные режимы при использовании потенциометра.
Список компонентов
- Плата “Arduino UNO”.
- Макет.
- 1 потенциометр.
- 14 провода.
- 9 резистора.
- 9 LED светодиода.
Код
int sensorPin =0;
int ledred1=13;
int ledblue1=12;
int ledgreen1=11;
int ledred2=10;
int ledblue2=9;
int ledgreen2=8;
int ledred3=7;
int ledblue3=6;
int ledgreen3=5;
int sensorValue = 0;
int Value_new;
void setup()
{
pinMode(ledred1, OUTPUT);
pinMode(ledblue1, OUTPUT);
pinMode(ledgreen1, OUTPUT);
pinMode(ledred2, OUTPUT);
pinMode(ledblue2, OUTPUT);
pinMode(ledgreen2, OUTPUT);
pinMode(ledred3, OUTPUT);
pinMode(ledblue3, OUTPUT);
pinMode(ledgreen3, OUTPUT);
}
void red()
{
digitalWrite(ledred1, HIGH);
digitalWrite(ledred2, HIGH);
digitalWrite(ledred3, HIGH);
delay(100);
digitalWrite(ledred1, LOW);
digitalWrite(ledred2, LOW);
digitalWrite(ledred3, LOW);
delay(100);
}
void blue()
{
digitalWrite(ledblue1, HIGH);
digitalWrite(ledblue2, HIGH);
digitalWrite(ledblue3, HIGH);
delay(200);
digitalWrite(ledblue1, LOW);
digitalWrite(ledblue2, LOW);
digitalWrite(ledblue3, LOW);
delay(200);
}
void green()
{
digitalWrite(ledgreen1, HIGH);
digitalWrite(ledgreen2, HIGH);
digitalWrite(ledgreen3, HIGH);
delay(100);
digitalWrite(ledgreen1, LOW);
digitalWrite(ledgreen2, LOW);
digitalWrite(ledgreen3, LOW);
delay(200);
}
//
void blink()
{
digitalWrite(ledred1, HIGH);
digitalWrite(ledred2, HIGH);
digitalWrite(ledred3, HIGH);
digitalWrite(ledblue1, HIGH);
digitalWrite(ledblue2, HIGH);
digitalWrite(ledblue3, HIGH);
digitalWrite(ledgreen1, HIGH);
digitalWrite(ledgreen2, HIGH);
digitalWrite(ledgreen3, HIGH);
delay(500);
digitalWrite(ledred1, LOW);
digitalWrite(ledred2, LOW);
digitalWrite(ledred3, LOW);
digitalWrite(ledblue1, LOW);
digitalWrite(ledblue2, LOW);
digitalWrite(ledblue3, LOW);
digitalWrite(ledgreen1, LOW);
digitalWrite(ledgreen2, LOW);
digitalWrite(ledgreen3, LOW);
delay(500);
}
void blink2()
{
digitalWrite(ledred1, HIGH);
delay(200);
digitalWrite(ledred2, HIGH);
delay(200);
digitalWrite(ledred3, HIGH);
delay(200);
digitalWrite(ledred1, LOW);
digitalWrite(ledblue1, HIGH);
delay(200);
digitalWrite(ledblue2, HIGH);
digitalWrite(ledred2, LOW);
delay(200);
digitalWrite(ledblue3, HIGH);
digitalWrite(ledred3, LOW);
delay(200);
digitalWrite(ledgreen1, HIGH);
digitalWrite(ledblue1, LOW);
delay(200);
digitalWrite(ledgreen2, HIGH);
digitalWrite(ledblue2, LOW);
delay(200);
digitalWrite(ledgreen3, HIGH);
digitalWrite(ledblue3, LOW);
delay(200);
digitalWrite(ledgreen1, LOW);
delay(200);
digitalWrite(ledgreen2, LOW);
delay(200);
digitalWrite(ledgreen3, LOW);
delay(300);
}
void randomBlink()
{
int randomLED = random(1, 10);
switch (randomLED)
{
case 1:
digitalWrite(ledred1, HIGH);
delay(random(100, 500));
digitalWrite(ledred1, LOW);
break;
case 2:
digitalWrite(ledblue1, HIGH);
delay(random(100, 500));
digitalWrite(ledblue1, LOW);
break;
case 3:
digitalWrite(ledgreen1, HIGH);
delay(random(100, 500));
digitalWrite(ledgreen1, LOW);
break;
case 4:
digitalWrite(ledred2, HIGH);
delay(random(100, 500));
digitalWrite(ledred2, LOW);
break;
case 5:
digitalWrite(ledblue2, HIGH);
delay(random(100, 500));
digitalWrite(ledblue2, LOW);
break;
case 6:
digitalWrite(ledgreen2, HIGH);
delay(random(100, 500));
digitalWrite(ledgreen2, LOW);
break;
case 7:
digitalWrite(ledred3, HIGH);
delay(random(100, 500));
digitalWrite(ledred3, LOW);
break;
case 8:
digitalWrite(ledblue3, HIGH);
delay(random(100, 500));
digitalWrite(ledblue3, LOW);
break;
case 9:
digitalWrite(ledgreen3, HIGH);
delay(random(100, 500));
digitalWrite(ledgreen3, LOW);
break;
}
}
//
void loop()
{
Value_new = analogRead(sensorPin);
Value_new = map(Value_new,0,1023,1,6);
if (Value_new==2)
{
red();
}
else if(Value_new==3)
{
blue();
}
else if(Value_new==4)
{
green();
}
else if(Value_new==5)
{
blink();
}
else if(Value_new==6)
{
blink2();
}
else
{
randomBlink();
}
/*
else
{
digitalWrite(ledred1, LOW);
digitalWrite(ledred2, LOW);
digitalWrite(ledred3, LOW);
digitalWrite(ledblue1, LOW);
digitalWrite(ledblue2, LOW);
digitalWrite(ledblue3, LOW);
digitalWrite(ledgreen1, LOW);
digitalWrite(ledgreen2, LOW);
digitalWrite(ledgreen3, LOW);
}
*/
}
Конструкция в Tinkercad

Отчеты
Конструкция в реальности

Видеоотчеты
добавляются