Paso 10: Inicialización y configuración
La mayor parte de este código es bastante autoexplicativo, sin embargo, hay algunas partes que te aclaro.Estas dos líneas son los números hexadecimales que mostrar cada dígito en marcadores (0-9).
digitOne byte [10] = {0x6F, 0 x 09, 0x73, 0x3B, 0x1D, 0x3E, 0x7C, 0x0B, 0x7F, 0x1F}; //Player 1 números byte digitTwo [10] = {0x6F, 0 x 09, 0x73, 0x3B, 0x1D, 0x3E, 0x7C, 0x0B, 0x7F, 0x1F}; //Player 2 números Por ejemplo, si desea mostrar el número '3' en un marcador, que envíes 0x3B el registro de desplazamiento. Esto a su vez los pernos de registro cambio 1,3,4,5 y 15 bajo, que completa el circuito y causas los LED cableado a los pines a la luz. Si has seguido el esquema al crear tus marcadores, los LEDs se orientan en la posición «3». Este código define cuantos LEDs se encuentran en la cadena de LED. int nLEDs = 30; //Number de LED Si no alteran su secuencia de LED en todo, usas el número 32, no 30. Sólo tengo 30 LEDs en mi cadena porque tenía que cortar dos (más en la sección solución de problemas).
Este código establece dos marcadores para mostrar el dígito '0'. Marcadores de //sets a '0' digitalWrite (latch1, bajo); shiftOut (data1, clock1, MSBFIRST, ~ digitOne[0]); shiftOut (data1, clock1, MSBFIRST, ~ digitTwo[0]); digitalWrite (latch1, HIGH); Escribir la clavija de enganche bajo y luego enviar la información y luego escribir la clavija de enganche de alta para que se 'bloquea' los números y no cambiarlos hasta que queremos cambiar. digitOne corresponde al marcador del jugador 1 y digitTwo al marcador del jugador 2. enviamos el dígito '0' que es el valor hexadecimal 0x6F y sostiene los pernos 1, 2, 3, 5, 6 y 15 bajo - haciendo que los LEDs se prendan.
A continuación, hice lo del jugador 1 y jugador 2 LEDs fueron dados vuelta apagado. //Turns de LEDs player1 y player2 digitalWrite (latch2, LOW);
shiftOut (data2, clock2, MSBFIRST, 255);
digitalWrite (latch2, HIGH);
digitalWrite (latch3, bajo);
shiftOut (data3, clock3, MSBFIRST, 255);
digitalWrite (latch3, HIGH); Esto es realmente similar a inicializar los registros de cambio de marcador, con una excepción. He utilizado los valores de byte en lugar de hexadecimal. Un byte es cualquier valor entre 0 y 255. Al comunicar con un registro de cambio, 255 vueltas todos los pernos alta (se apaga el LED) y 0 convierte todos bajo (se ilumina el LED).
Luego declaramos tanto pulsadores como entradas. pinMode (player1, entrada);
digitalWrite (player1, HIGH);
pinMode (player2, entrada);
digitalWrite (player2, HIGH); Les escribimos alta porque la Arduino Uno ha construido en resistencias pull-up. Escribiendo los pernos de alta, no necesita soldar cualquier resistencias a los botones.
Por último, llamamos a la función selecScore, explicada en el paso 16. score = selectScore(); //Sets la ganadora puntuación Código de inicialización y configuración aquí