Sunteți pe pagina 1din 4

PROYECTO 22 - PANTALLA LED DE MATRIZ DE PUNTOS - PONG

DE JUEGO.
Lliguay Joel
En el prximo proyecto, se har uso de estas bibliotecas para que se pueda
apreciar cmo se facilita la programacin.
Proyecto 22 - Pantalla LED de matriz de puntos - Pong de juego.
Tenemos ya realizado el proyecto 21. As, para el Proyecto 22 que se va a crear
un juego simple con cdigo simple utilizando la pantalla de matriz de puntos y
un potencimetro. Esta vez se va a utilizar una de las muchas bibliotecas
disponibles para el control de matriz de puntos LED muestra para ver lo fcil
que puede hacer su vida al codificar.
1. PIEZAS NECESARIAS.
MAX7219 (o AS1107)

Resistencia limitadora de corriente

8*8 Dot Matrix Display (C-)

Potencimetro 10k.

2. REALIZACIN DE LA CONEXIN.
Deje el circuito de la misma que en el Proyecto 21.

Aadimos ahora un potencimetro. Las clavijas izquierda y derecha van a tierra


y + 5V, respectivamente, y el pasador central va a analgica Pin 5.

3. CARGAR EL CDIGO.
Sube el cdigo del Listado 7-4. Cuando se ejecuta el programa, una bola se
iniciar desde una ubicacin aleatoria de la izquierda y la cabeza hacia la
derecha. Utilizando el potencimetro, controlar la paleta para rebotar la pelota
hacia la pared. Conforme pasa el tiempo, la velocidad de la bola se
incrementar ms y ms rpido hasta que usted no ser capaz de mantenerse
al da con l.
Cuando el baln salta ms all de la paleta, la pantalla parpadea y el juego se
reiniciar. A ver cunto tiempo se puede ir para antes del partido restablece.
4. LISTA 7-4. CDIGO PARA EL PROYECTO 21.
//Project 22
#include "LedControl.h"
LedControl myMatrix = LedControl(2, 4, 3, 1); //crea una instancia de
una matriz
int column = 1, row = random(8)+1; // decide donde la pelota se
iniciara.
int directionX = 1, directionY = 1; // asegrese que se dirija de
derecha a izquierda primero.
int paleta 1 = 5, paleta1Val; // selecciono el pin y el valor.
int velocidad = 300;
int contador = 0, multiplos = 10;
configuracion de vacio ()

myMatrix.shutdown(0, false); // habilitar display


myMatrix.setIntensity(0, 8); // Ajuste el brillo al medio
myMatrix.clearDisplay(0); // limpiar el display
randomSeed(analogRead(0));
Lazo de vacio()
{

==

Paleta 1Val = analogRead(paddle1);


Paleta 1Val = map(paddle1Val, 200, 1024, 1,6); column += direccin;
fila += directionY;
if (column == 6 && directionX == 1 && (paddle1Val == row || paddle1Val+1
fila || paddle1Val+2 == row)) {directionX = -1;}
if (column == 0 && directionX == -1 ) {directionX =
if (row == 7 && directionY == 1 ) {directionY = -1;}

if (fila == 0 && directionY == -1 ) {directionY =


1;} if (column == 7) { oops();}
myMatrix.clearDisplay(0); // limpiar la pantalla para el prximo marco de
la animacion.
myMatrix.setLed(0, column, row, HIGH);
myMatrix.setLed(0, 7, paddle1Val, HIGH);
myMatrix.setLed(0, 7, paddle1Val+1, HIGH);
myMatrix.setLed(0, 7, paddle1Val+2, HIGH);
if (!(counter % mult)) {speed -= 5; mult * mult;}
delay(speed);
counter++;
void oops() {
for (int x=0; x<3; x+
+)
myMatrix.clearDisplay
(0); delay(250);
for (int y=0; y<8; y++) {
myMatrix.setRow(0, y, 255);
}
delay(250);
}
mostrador=0; // reset all the
values speed=300;
column=1;
row = random(8)+1; // escoger una nueva estacin local.

5. DETALLES DEL CODIGO UTILIZADO Y LOS PASSO QUE SE


SIGIERON.
El cdigo para el Proyecto 22 es realmente sencillo, ya que la mayora de la
programacin se ha realizado en el proyecto 21.
En primer lugar, la biblioteca LedControl.h est incluido en el boceto. Usted
tendr que descargar la biblioteca e instalarlo en las bibliotecas de la carpeta
como antes. La biblioteca, as como ms informacin, se pueden encontrar en:

www.arduino.cc/playground/Main/LedControl
1. Primero usaremos : #include "LedControl.h"
Este crea una instancia de un objeto LedControl como tal.
2. LedControl myMatrix = LedControl(2, 4, 3, 1); // crea un instante
en una matriz
Esto crea un objeto llamado LedControl myMatrix. El objeto LedControl requiere
cuatro parmetros. Los tres primeros son los nmeros de patas para el
MAX7219; la orden es de datos en, Reloj y carga. El nmero final es para el
nmero del chip (en caso de que se est controlando ms de un MAX7219 y
pantalla).
3. int column = 1, row = random(8)+1; // decide cuando comenzara
Entonces usted decide qu columna y fila la pelota comenzar. Aqu en La fila
se decidi utilizar un nmero al azar.
4. int directionX = 1, directionY = 1; // asegurarse de que se dirige
de izquierda a derecha primero.
Ahora dos enteros son declarados para decidir la direccin que la pelota
viajar. Si el nmero es positivo, ser la cabeza de izquierda a derecha y de
abajo hacia arriba, respectivamente, y si es negativo, ser a la inversa.
5. int paddle1 = 5, paddle1Val; // elegir el pin y el valor.
Usted decide qu pin se utiliza para la paleta (potencimetro) y declara un
nmero entero para mantener el valor ledo desde el pin analgico:
6. int speed = 300;
La velocidad de la pelota es declarada en milisegundos:

S-ar putea să vă placă și