Está en la página 1de 2

/* programa Secuencia en 8 Bits */

byte secuencias[5][70] =
{
{ 8 , 1 , 2 , 4 , 8 , 16 , 32, 64, 128 },
{ 8 , 128, 64, 32 , 16 , 8 , 4 , 2 , 1 },
{ 16 , 0 , 128 , 192 , 224 , 240 , 248 , 252 , 254 , 255 , 127, 63 , 31, 15 , 7, 3, 1 },
{ 8, 129 , 66 ,36 , 24 , 36, 66, 129, 0 },
{ 67 , 128, 64 ,32 , 16 , 8 , 4, 2, 1, 129, 65, 33, 17, 9, 5, 3, 131, 67, 35, 19, 11, 7, 135, 71, 39, 23, 15,143, 79, 47, 31, 159,
95, 63, 191, 127, 255, 254, 253, 250, 249, 244, 242, 241, 232, 228, 226, 225, 208, 200, 196, 194, 193, 160, 144, 136, 132,
130, 129, 64, 32, 16, 8, 4, 2, 1 },
};

int conta , tiempo = 3;


int dato, efecto = 0;

void setup()
{
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
pinMode(11, OUTPUT);
pinMode(10, OUTPUT);
pinMode(9, OUTPUT);
pinMode(8, OUTPUT);
pinMode(7, OUTPUT);
pinMode(6, OUTPUT);

pinMode(2, INPUT);
pinMode(4, INPUT);
pinMode(18, INPUT);
pinMode(14, INPUT);
}

void loop()
{ for (conta = 1 ; conta <=secuencias[efecto][0] ; conta++)
{ dato = secuencias [ efecto ] [ conta ] ;

digitalWrite ( 6 , dato%2 );
dato = dato / 2;
digitalWrite ( 7 , dato%2 );
dato = dato / 2;
digitalWrite ( 8 , dato%2 );
dato = dato / 2;
digitalWrite ( 9 , dato%2 );
dato = dato / 2;
digitalWrite ( 10 , dato%2 );
dato = dato / 2;
digitalWrite ( 11 , dato%2 );
dato = dato / 2;
digitalWrite ( 12 , dato%2 );
dato = dato / 2;
digitalWrite ( 13 , dato%2 );
delay ( tiempo * 100 ) ;

if ( digitalRead(2) == 0 )
if ( tiempo >= 2 )
tiempo = tiempo - 1;

if ( digitalRead(4) == 0)
if (tiempo <= 8)
tiempo = tiempo + 1;

if( digitalRead(18) == 0 )
if( efecto >= 1 )
efecto = efecto - 1;

if( digitalRead(14) == 0 )
if( efecto <= 3 )
efecto = efecto + 1;
}
}

También podría gustarte