Advertisement
jsbsan

arduinoRegistroDesplazamiento

Aug 12th, 2014
6,916
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.69 KB | None | 0 0
  1. int clockPin=8;
  2. int dataPin=9;
  3. int digito1=11;//Indica la posición en el display del número a mostrar
  4. int digito2=12;
  5. 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. */
  6. byte uno=255-96;
  7. byte dos=255-109;
  8. byte tres=255-121;
  9. byte cuatro=255-102;
  10. byte cinco=255-182;
  11. byte seis=255-190;
  12. byte siete=255-224;
  13. byte ocho=255-0;
  14. byte nueve=255-230;
  15.  
  16. void setup(){
  17.   pinMode(clockPin, OUTPUT);
  18.   pinMode(dataPin, OUTPUT);
  19.   pinMode(digito1, OUTPUT);
  20.   pinMode(digito2, OUTPUT);
  21. }
  22. void loop(){
  23.   shiftOut(dataPin,clockPin,LSBFIRST,siete);//Pintamos el valor 7 en el primer dígito
  24.   delay(1000);
  25.   digitalWrite(digito1,LOW);
  26.   digitalWrite(digito2,HIGH);
  27.   shiftOut(dataPin,clockPin,LSBFIRST,uno);//Pintamos el valor 1 en el primer digito
  28.   delay(1000);
  29.   digitalWrite(digito1,HIGH);
  30.   digitalWrite(digito2,LOW);
  31.   shiftOut(dataPin,clockPin,LSBFIRST,cinco);//PIntamos el valor 5 en el segundo dígito
  32.   delay(1000);
  33.   digitalWrite(digito1,HIGH);
  34.   digitalWrite(digito2,LOW);
  35.   shiftOut(dataPin,clockPin,LSBFIRST,cuatro);//Pintamos el valor 4 en el segundo dígito
  36.   delay(1000);
  37.   digitalWrite(digito1,LOW);
  38.   digitalWrite(digito2,HIGH);
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement