Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int clockPin=8;
- int dataPin=9;
- int digito1=11;//Indica la posición en el display del número a mostrar
- int digito2=12;
- byte cero=255-252;/*Para pintar un 0 en un 7 segmentos hay que enviar un valor binario de 1111110. Como el registro de desplazamiento tiene 8 bits, añadimos un bit más a esa cadena (da igual el valor) y tendremos entonces 11111100, que en decimal se corresponde con el 252. Este sería en principio el valor a enviar por el registro de desplazamiento, pero para el display que estoy utilizando necesito enviar los bits invertidos (un 0 enciende el led y un uno lo apaga), así que el valor a enviar, en binario, es 00000011, que en decimal es el 3 (255-252). Esto mismo hay que hacer para el resto de valores. */
- byte uno=255-96;
- byte dos=255-109;
- byte tres=255-121;
- byte cuatro=255-102;
- byte cinco=255-182;
- byte seis=255-190;
- byte siete=255-224;
- byte ocho=255-0;
- byte nueve=255-230;
- void setup(){
- pinMode(clockPin, OUTPUT);
- pinMode(dataPin, OUTPUT);
- pinMode(digito1, OUTPUT);
- pinMode(digito2, OUTPUT);
- }
- void loop(){
- shiftOut(dataPin,clockPin,LSBFIRST,siete);//Pintamos el valor 7 en el primer dígito
- delay(1000);
- digitalWrite(digito1,LOW);
- digitalWrite(digito2,HIGH);
- shiftOut(dataPin,clockPin,LSBFIRST,uno);//Pintamos el valor 1 en el primer digito
- delay(1000);
- digitalWrite(digito1,HIGH);
- digitalWrite(digito2,LOW);
- shiftOut(dataPin,clockPin,LSBFIRST,cinco);//PIntamos el valor 5 en el segundo dígito
- delay(1000);
- digitalWrite(digito1,HIGH);
- digitalWrite(digito2,LOW);
- shiftOut(dataPin,clockPin,LSBFIRST,cuatro);//Pintamos el valor 4 en el segundo dígito
- delay(1000);
- digitalWrite(digito1,LOW);
- digitalWrite(digito2,HIGH);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement