Paso 66: Software: red animación: marcador del LED
Ganará el primer equipo en conseguir el equipo contrario hasta cero copas sobre la mesa. Cada vez que se quita una taza de un lado de la mesa, se reducirá la puntuación en ese lado de la mesa por uno. Las puntuaciones de cada lado pueden ser entre diez y cero, en otras palabras, cada taza en la mesa vale un punto.
Llamada a la función
LED_Scoreboard (UINT32 pod_sensors)
Llamadas de función secundaria
Update_Sensors()
Pack_Sensor_Data()
Posición de código de
LED_Graphics.c
LED_Graphics.h
Código ubicación - funciones secundarias
IR_Sensors.c
IR_Sensors.h
Puesta en práctica
Se trata de una animación general que debe colocarse en la parte principal del programa. Esto permitirá la función actualizar las secuencias de animación cada vez que el programa recorra la rutina principal. Junto con esta función, también deberemos ejecutar Update_Sensors() y obtener el valor devuelto de Pack_Sensor_Data() para mantener el marcador actualizar la puntuación de cada lado de la mesa. El valor devuelto de Pack_Sensor_Data() es un entero de 32 bits y se pasa a esta función. Esta función analiza los datos empaquetados y determina la puntuación del juego de pong de la cerveza.
Ejemplo combinado
Actualizar los valores analógicos de sensor IR
Update_Sensors();
Determinar si los objetos son detectados y empaquetar los datos en 'sensor_bits'
sensor_bits = Pack_Sensor_Data();
Pasar los datos del sensor lleno a la animación y mostrar el cuadro de indicadores
LED_Scoreboard(sensor_bits);