172 lines
6.1 KiB
Arduino
172 lines
6.1 KiB
Arduino
|
#define TIME_PULSE 100
|
||
|
int NeonA[3] = {23, 22, 25};
|
||
|
int NeonB[3] = {24, 27, 26};
|
||
|
int NeonC[5] = {29, 28, 31, 30, 33};
|
||
|
|
||
|
void setup() {
|
||
|
// put your setup code here, to run once:
|
||
|
for(int i=0; i<16; i++)
|
||
|
{
|
||
|
pinMode(22 + i, OUTPUT);
|
||
|
digitalWrite( 22 + i, HIGH);
|
||
|
}
|
||
|
for(int i=0; i<3; i++)
|
||
|
{
|
||
|
digitalWrite( NeonA[i], LOW);
|
||
|
//delay(1000);
|
||
|
}
|
||
|
pinMode(12, INPUT_PULLUP);
|
||
|
// for(int i=0; i<3; i++)
|
||
|
// {
|
||
|
// digitalWrite( NeonB[i], LOW);
|
||
|
// //delay(1000);
|
||
|
// }
|
||
|
// for(int i=0; i<5; i++)
|
||
|
// {
|
||
|
// digitalWrite( NeonC[i], LOW);
|
||
|
// //delay(1000);
|
||
|
// }
|
||
|
}
|
||
|
|
||
|
unsigned long time_sec1_A = millis();
|
||
|
|
||
|
void secuencia1()
|
||
|
{
|
||
|
if ((millis()-time_sec1_A)>=3000)
|
||
|
{
|
||
|
if ((millis()-time_sec1_A)<4000) digitalWrite(NeonA[0], HIGH);
|
||
|
else if ((millis()-time_sec1_A)<(4000 + TIME_PULSE))
|
||
|
{
|
||
|
digitalWrite(NeonA[0], LOW);
|
||
|
digitalWrite(NeonA[1], HIGH);
|
||
|
}
|
||
|
else if ((millis()-time_sec1_A)<8000) digitalWrite(NeonA[1], LOW);
|
||
|
else if ((millis()-time_sec1_A)<9000) digitalWrite(NeonA[2], HIGH);
|
||
|
else if ((millis()-time_sec1_A)<10000) digitalWrite(NeonA[2], LOW);
|
||
|
else if ((millis()-time_sec1_A)>=15000) time_sec1_A = millis();
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
for(int i=0; i<3; i++) digitalWrite( NeonA[i], LOW);
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
unsigned long time_sec2_A = millis();
|
||
|
|
||
|
void secuencia2()
|
||
|
{
|
||
|
if ((millis()-time_sec2_A)>=1000)
|
||
|
{
|
||
|
if ((millis()-time_sec2_A)<(1000 + TIME_PULSE)) digitalWrite(NeonB[0], HIGH);
|
||
|
else if ((millis()-time_sec2_A)<4000) digitalWrite(NeonB[0], LOW);
|
||
|
else if ((millis()-time_sec2_A)<(4000 + TIME_PULSE)) digitalWrite(NeonB[1], HIGH);
|
||
|
else if ((millis()-time_sec2_A)<5000) digitalWrite(NeonB[1], LOW);
|
||
|
else if ((millis()-time_sec2_A)<6000) digitalWrite(NeonB[2], HIGH);
|
||
|
else if ((millis()-time_sec2_A)<7000) digitalWrite(NeonB[2], LOW);
|
||
|
else if ((millis()-time_sec2_A)<(7000 + TIME_PULSE)) digitalWrite(NeonB[2], HIGH);
|
||
|
else if ((millis()-time_sec2_A)<10000) digitalWrite(NeonB[2], LOW);
|
||
|
else if ((millis()-time_sec2_A)>=15000) time_sec2_A = millis();
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
for(int i=0; i<3; i++) digitalWrite( NeonB[i], LOW);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
unsigned long time_sec3_A = millis();
|
||
|
|
||
|
void secuencia3()
|
||
|
{
|
||
|
if ((millis()-time_sec2_A)>=2000)
|
||
|
{
|
||
|
if ((millis()-time_sec3_A)<(2000 + TIME_PULSE)) digitalWrite(NeonC[1], HIGH);
|
||
|
else if ((millis()-time_sec3_A)<6000) digitalWrite(NeonC[1], LOW);
|
||
|
else if ((millis()-time_sec3_A)<(6000 + TIME_PULSE)) digitalWrite(NeonC[2], HIGH);
|
||
|
else if ((millis()-time_sec3_A)<7000) digitalWrite(NeonC[2], LOW);
|
||
|
else if ((millis()-time_sec3_A)<8000) digitalWrite(NeonC[0], HIGH);
|
||
|
else if ((millis()-time_sec3_A)<9000) digitalWrite(NeonC[0], LOW);
|
||
|
else if ((millis()-time_sec3_A)<(9000 + TIME_PULSE)) digitalWrite(NeonC[2], HIGH);
|
||
|
else if ((millis()-time_sec3_A)<10000) digitalWrite(NeonC[2], LOW);
|
||
|
else if ((millis()-time_sec3_A)<(10000 + TIME_PULSE)) digitalWrite(NeonC[4], HIGH);
|
||
|
else if ((millis()-time_sec3_A)<15000) digitalWrite(NeonC[4], LOW);
|
||
|
else time_sec3_A = millis();
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
for(int i=0; i<5; i++) digitalWrite( NeonC[i], LOW);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
void secuencia1B()
|
||
|
{
|
||
|
if ((millis()-time_sec1_A)>=2000)
|
||
|
{
|
||
|
if ((millis()-time_sec1_A)<(2000 + 500)) digitalWrite(NeonA[0], HIGH);
|
||
|
else if ((millis()-time_sec1_A)<4000) digitalWrite(NeonA[0], LOW);
|
||
|
else if ((millis()-time_sec1_A)<(4000 + TIME_PULSE)) digitalWrite(NeonA[0], HIGH);
|
||
|
else if ((millis()-time_sec1_A)<10000) digitalWrite(NeonA[0], LOW);
|
||
|
else if ((millis()-time_sec1_A)<(10000 + TIME_PULSE)) digitalWrite(NeonA[0], HIGH);
|
||
|
else if ((millis()-time_sec1_A)<20000) digitalWrite(NeonA[0], LOW);
|
||
|
else if ((millis()-time_sec1_A)>=20000) time_sec1_A = millis();
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
digitalWrite( NeonA[0], LOW);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
void secuencia2B()
|
||
|
{
|
||
|
if ((millis()-time_sec1_A)>=1000)
|
||
|
{
|
||
|
if ((millis()-time_sec1_A)<(1000 + TIME_PULSE)) digitalWrite(NeonA[1], HIGH);
|
||
|
else if ((millis()-time_sec1_A)<3000) digitalWrite(NeonA[1], LOW);
|
||
|
else if ((millis()-time_sec1_A)<(3000 + 1000)) digitalWrite(NeonA[1], HIGH);
|
||
|
else if ((millis()-time_sec1_A)<5000) digitalWrite(NeonA[1], LOW);
|
||
|
else if ((millis()-time_sec1_A)<(5000 + TIME_PULSE)) digitalWrite(NeonA[1], HIGH);
|
||
|
else if ((millis()-time_sec1_A)<8000) digitalWrite(NeonA[1], LOW);
|
||
|
else if ((millis()-time_sec1_A)<(8000 + 500)) digitalWrite(NeonA[1], HIGH);
|
||
|
else if ((millis()-time_sec1_A)<20000) digitalWrite(NeonA[1], LOW);
|
||
|
else if ((millis()-time_sec1_A)>=20000) time_sec1_A = millis();
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
digitalWrite( NeonA[1], LOW);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
void secuencia3B()
|
||
|
{
|
||
|
if ((millis()-time_sec1_A)>=2000)
|
||
|
{
|
||
|
if ((millis()-time_sec1_A)<(2000 + TIME_PULSE)) digitalWrite(NeonA[2], HIGH);
|
||
|
else if ((millis()-time_sec1_A)<6000) digitalWrite(NeonA[2], LOW);
|
||
|
else if ((millis()-time_sec1_A)<(6000 + TIME_PULSE)) digitalWrite(NeonA[2], HIGH);
|
||
|
else if ((millis()-time_sec1_A)<7000) digitalWrite(NeonA[2], LOW);
|
||
|
else if ((millis()-time_sec1_A)<(7000 + TIME_PULSE)) digitalWrite(NeonA[2], HIGH);
|
||
|
else if ((millis()-time_sec1_A)<10000) digitalWrite(NeonA[2], LOW);
|
||
|
else if ((millis()-time_sec1_A)<(10000 + 500)) digitalWrite(NeonA[2], HIGH);
|
||
|
else if ((millis()-time_sec1_A)<20000) digitalWrite(NeonA[2], LOW);
|
||
|
else if ((millis()-time_sec1_A)>=20000) time_sec1_A = millis();
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
digitalWrite( NeonA[2], LOW);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
void loop() {
|
||
|
if (digitalRead(12))
|
||
|
{
|
||
|
secuencia1B();
|
||
|
secuencia2B();
|
||
|
secuencia3B();
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
for(int i=0; i<3; i++) digitalWrite(NeonA[i], LOW);
|
||
|
}
|
||
|
// put your main code here, to run repeatedly:
|
||
|
}
|