Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const int MAXLED = 3;
- // arreglo de 8 LEDs, desde el pin 0 hasta el pin 5
- //Pin connected to latch pin (ST_CP) of 74HC595
- const int latchPin = 8;
- //Pin connected to clock pin (SH_CP) of 74HC595
- const int clockPin = 12;
- ////Pin connected to Data in (DS) of 74HC595
- const int dataPin = 11;
- int led[MAXLED] = {8,11,12};
- int dato0[8]={1,2,4,8,16,32,64,128};
- int dato1[8]={128,64,32,16,8,4,2,1};
- int dato2[8]={129,66,36,24,24,36,66,129};
- int dato3[8]={128,192,224,240,248,252,254,255};
- int dato4[8]={1,3,7,15,31,63,127,254};
- int dato5[8]={129,195,231,255,255,231,195,129};
- int dato6[8]={129,195,231,255,255,126,60,24};
- // se ejecuta 1 sola vez, al iniciar el programa
- void setup() {
- for (int i=0; i<MAXLED; i++)
- pinMode(led[i], OUTPUT);
- }
- // se repite infinitamente mientras el arduino tenga corriente
- void loop()
- {
- int b = analogRead(A0);
- b = map(b, 0, 1023, 0,7);
- secuencia(b);
- }
- void secuencia(int a)
- {
- switch(a)
- {
- case 0:
- for(int i=0;i<8;i++)
- {
- alumbrar(dato0[i]);
- }
- break;
- case 1:
- for(int i=0;i<8;i++)
- {
- alumbrar(dato1[i]);
- }
- break;
- case 2:
- for(int i=0;i<8;i++)
- {
- alumbrar(dato2[i]);
- }
- break;
- case 3:
- for(int i=0;i<8;i++)
- {
- alumbrar(dato3[i]);
- }
- break;
- case 4:
- for(int i=0;i<8;i++)
- {
- alumbrar(dato4[i]);
- }
- break;
- case 5:
- for(int i=0;i<8;i++)
- {
- alumbrar(dato5[i]);
- }
- break;
- case 6:
- for(int i=0;i<8;i++)
- {
- alumbrar(dato6[i]);
- }
- break;
- }
- }
- void alumbrar(int a)
- {
- digitalWrite(latchPin, LOW);
- shiftOut(dataPin, clockPin, MSBFIRST,a );
- digitalWrite(latchPin, HIGH);
- delay(100);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement