Prácticas de tiro de Arduino (4 / 5 paso)

Paso 4: visualización

La parte siguiente es una explicación detallada de cómo configurar las pantallas utilizadas en el proyecto.

En esta sección hemos utilizado cuatro 8 x 8 matrices de LED de OOLOUT.com. Cada uno tiene 128 LEDs. Es 512 LEDs. Relajarse; Utilizamos solamente la mitad de éstos. Las matrices son de bi-color con LEDs rojo y verde. Optamos por utilizar los rojos. Otra gran cosa es que las filas y las columnas se hicieron comunes. Los rieles de la columna se comportan como el ánodo y los rieles de la fila se comportan como cátodos. Para encender un solo LED Conecte el riel de la fila necesario para 5Volts a través de la resistencia y el carril de columna correspondiente a tierra. Por ejemplo, luz led en la fila 2 y columna 6.

Cuando la matriz se da la vuelta una esquina que se encuentra un pequeño 1 corresponde al pin 1 en la matriz.

El "matrixone.jpg" muestra la matriz, su número de pin y donde el 1 está impreso debajo de la matriz. El segundo esquema de la imagen describe que pin controla cada riel. Tenga en cuenta que hemos seleccionado el LED rojo por lo que estamos utilizando pernos de 2,5,8,11,14,17,20,23 para las columnas. Si usábamos el LED verde se utilice alfileres 1,4,7,10,13,16,19,22 pero el carril de fila sigue siendo la misma.
Como se ve en el esquema de cada columna y fila tienen un pin designado. En "matrixtwo.jpg" las columnas y las filas han sido numeradas para evitar cualquier confusión más. Por lo tanto, si desea encender el Led en la columna 6 y la fila 2 Conecte el circuito in"step3.jpg".

Una simple matriz guía está disponible en la Página Web OOMLOUT. En la guía tienen conectados los pines de la fila de matriz mediante resistencias de 1K a los pernos de la entrada-salida de Arduino y enchufado directamente las columnas en los pines de Arduino. En el programa de muestra han utilizado una función llamada "showsprite" que se enciende todos los LEDs en una columna una a una las vueltas ellos fuera. Luego repite el proceso para la columna siguiente y así sucesivamente. Esto puede parecer una tonto pero esto se hace para reducir la corriente de la Arduino. Visto como procesa tan rápido, a pesar de que los LEDs se encienden por columna, todo sucede tan rápido que el ojo humano la imagen aparece como constante.

En el ejemplo anterior, para una matriz se utilizó un total de 16 pernos, y así si tuviéramos que usar 4 matrices utilizamos 64 pines. Que no tenemos, así que la única solución es utilizar registros de desplazamiento.

Cambio de registros: (74HC595) "step5.jpg"

Programas de ejemplo están disponibles en la Web de Arduino para obtener una comprensión básica de cómo cambio registra trabajo pero haré mi mejor para resumirlo.

El registro de desplazamiento acepta datos como un tren de pulsos de 8 bits. Para permitir el registro de desplazamiento aceptar datos enviamos un poco de entrada a su perno traba. Los datos se envían al pin de datos y luego se cierra el pestillo con un alto a la clavija de enganche. Para sincronizar el Arduino y el cambio de registro enviamos reloj de Arduino a la cambio registra pin de reloj. Todo esto se cubrirá durante la explicación del código.

Mostrar en una matriz usando shift 2 registros:

Ahora que podemos enviar datos a un registro de desplazamiento podemos utilizar para conducir la matriz. De nuestra comprensión anterior enviamos una entrada para la fila y un poco de entrada a la columna para encender un LED.
Como los registros de 8 salidas cada podemos seleccionar una sola columna estableciendo los demás en 1 y la columna obligatorio a 0. Luego enviar los datos específicos a la columna a los registros de cambio de fila. Por ejemplo si querías el siguiente patrón: 10101101 (se muestra en la imagen) puede enviar el patrón para el registro de desplazamiento de fila y 11011111 a la columna de cambio de registro.

Ahora que hemos analizado cómo el registro de desplazamiento funciona con una matriz, veamos cómo aplicarlo para 4 pantallas. El registro de desplazamiento tiene 8 salidas y por lo tanto, su salida puede ser conectada directamente con la matriz.

Llegamos a dos formas de hacerlo
1) tener una fila y columna cambio de registro para cada una de las 4 pantallas. La línea de datos es común a todos como registro de desplazamiento sólo uno recibirá datos a la vez. El reloj es común a todos los registros de cambio deben todos ser sincronizados, pero todos ellos necesitan separar cierres que pueden ser activados por separado. Por lo tanto, necesitamos un total de 10 pines (8 cierres, 1 reloj y 1 datos).
2) la otra opción para reducir el número de pines usado es tener un cambio de columna común registro para todas las pantallas y tener cada fila se registra para cada matriz. Este es el método que elegimos como requirió un menor número de (5 pernos pasador, 1 reloj y 1 datos).

Así que esencialmente podemos enviar datos a cada uno de la fila de registran y luego encienda la columna correspondiente, para pantalla 1 columna cada uno de las matrices. Este proceso es un ciclo y los datos se muestran en cada pantalla a altas velocidades y por lo tanto, la imagen aparece constante en todas las 4 pantallas.

En el lenguaje de programación de Arduino un tipo especial de número entero está disponible llamado una máscara de bits que le permite escribir un número en binario, por ejemplo "binary_integer int = B11001010". Esto le permite escribir cómo sería cada línea de pantalla. Al hacer una matriz de estos para cada columna que se puede definir lo que parece una pantalla para cada personaje que debe mostrarse. Para almacenar cada carácter y sus columnas se utiliza una matriz de punteros que apuntan a que en la memoria el carácter es, por lo que es más fácil de acceso.

Para visualizar en una pantalla que necesitamos enviar el registro de datos para el cambio deseado mediante la función predefinida de Arduino:
"digitalwrite (latchrow, bajo); Programación de cierre del registro de cambio requiere baja.
shiftOut (datapin, clockpin, MSBFIRST, Rowmsk1); “
El cambio de función envía los datos para el registro de desplazamiento. La primera entrada es el número de pin de que los datos enviados desde el arduino, entonces el pin del arduino que el reloj está siendo enviado, a continuación se envía el formato en que los datos, en este caso es el bit más significativo primero. La última entrada es un entero (en formato normal o máscara) 8 bits de longitud que los datos enviados para el registro de desplazamiento.
"digitalWrite (latchrowone, HIGH); Esta función establece el cierre en alto una vez que los datos ha sido enviados."

Tenemos que mostrar el tiempo necesario para alcanzar un objetivo y por lo tanto, es necesario que reciba el tiempo como una entrada de tipo entero largo, convertir a string para que nos podemos encontrar que en cada pantalla el carácter correspondiente.

Esto se hace usando el constructor string, una función que convierte un número entero largo en una cadena que contiene cada dígito. Cadena "timeString = String(123456,DEC);"
hace! timeString = {1,2,3,4,5,6}; ".

Utilizamos una caja de interruptor que seleccione que matriz de máscara de bits para mostrar, y luego enviar a la función de visualización de salida demasiado la pantalla.

Artículos Relacionados

Prácticas de tiro de Nerf de Arduino

Prácticas de tiro de Nerf de Arduino

Arduino + 2 servos + láserEnciéndalo y los servos moverse a una posición aleatoria y vuelta sobre el objetivo del láser. Tienes 2 segundos para golpear antes de que se apaga y se mueve a una nueva posición al azar. Posiciones del servo se limitan a 0
Prácticas de tiro de LEGO Micro-Gerente

Prácticas de tiro de LEGO Micro-Gerente

LEGO amar a punto de tener su cumpleaños, fiesta en la casa 9 años de edad y que desean una fiesta con un montón de otros 8/9 años de edad (además de su hermana de 6 año de edad). Tema es Lego. Desgarró el patio para crear un curso de obstáculo de Le
Prácticas de tiro de Star Trek

Prácticas de tiro de Star Trek

Original aquí: http://tsjwang.blogspot.com/2013/09/star-trek-target-practice.htmlSupongo que un poco demasiado Star Trek estaba viendo con mi hermano. Decidí hacer un phaser.Algunos de ustedes pueden saber que hay múltiples tipos de phasers. Modelo d
Prácticas de tiro de pistola K'NEX (HD)

Prácticas de tiro de pistola K'NEX (HD)

Hola.Solo es un video viejo.
Pistola de Airsoft carga Shell de Buzz Bee doble tiro dardos escopeta de

Pistola de Airsoft carga Shell de Buzz Bee doble tiro dardos escopeta de

en primer lugar, esto no es completamente mi idea.  Creo que mi diseño es único, pero en caso de que no es así, no estoy tratando de todo lo que he visto en línea copiar exactamente.  Mi propósito es mostrar un diseño diferente y posiblemente mejor y
Luz blanco de tiro con arco portátil de peso para menores $25

Luz blanco de tiro con arco portátil de peso para menores $25

Este proyecto es rápido, fácil y barato. Sólo tardará unos 20 minutos para hacer y tendrá un objetivo de gran tiro que va a durar mucho tiempo. No sólo eso, es ligero y portátil.Este objetivo fue probado con diferentes dibujar arcos de peso y puede t
Una buena táctica para el juego Pocket Tanks

Una buena táctica para el juego Pocket Tanks

esto es una buena estrategia para el juego Pocket Tanks. Me enteré por jugando en parte de las prácticas de tiro del juego. Si no tienes el juego, personas que utilizan un PC pueden obtener en Tanques de bolsillo para PC. Si utilizas un Mac, puede co
6 tiro dardos bazooka

6 tiro dardos bazooka

un bazooka paja plásticacapaz de disparardardos de papel alrededor de 20 pies.Y con un objeto en la mente,molestia.Vea el paso 5 para q-Tip alternativoversión de la pistola.Paso 1: reunir los materiales necesitacinta Scotch,5 pajitas,tijeras,y un vie
Arco de tiro largo

Arco de tiro largo

mi primer instructivo, cuanto más tiempo la pieza que lanza mejor,Paso 1: Lo que usted necesita Este paso es sólo un paso de conseguir-a-saber-it.Te hace falta:10 conectores naranja (agregar más para mejor presentación)2 amarillos (debe ser lo sufici
Sus inicios tiro con arco

Sus inicios tiro con arco

en este instructable le mostraré todas las necesidades básicas para iniciar el tiro con arco. Si se me olvida algo por favor me dicen en los comentarios.Paso 1: El arco Por supuesto la parte más importante del tiro con arco es el arco. Hay muchas mar
Todo propósito tablero de bajo coste

Todo propósito tablero de bajo coste

Recientemente decidí tomar tirar de cuchillo, y por supuesto eso significaba necesitaba un objetivo, así que, por supuesto, construí. Era muy barato, muy fácil de hacer y lo mejor de todo gratis porque fue hecho de retazos tenía por ahí.Paso 1: Mater
Cómo hacer malabares con una cascada de bola de tres

Cómo hacer malabares con una cascada de bola de tres

No dejes que el título te engañe, una "cascada de bola de tres" es simplemente la jerga técnica para un patrón básico de tres bolas de malabares!Materiales necesarios:3 de cualquier objeto (consulte el paso dos para más detalles)2 manosEspacio a
Refletching una flecha de carbono baratos

Refletching una flecha de carbono baratos

Admito, cuando se trata de flechas puedo ser barato. Yo he perdido bastante o roto bastante durante los años que tengo un tiempo real duro justificar el gasto de un conjunto de flechas muy agradables. ¿Figura que incluso las flechas baratas deberían
Seguridad del arma de fuego: El "Qué hacer" y "qué no hacer" de disfrutar con seguridad de armas.

Seguridad del arma de fuego: El "Qué hacer" y "qué no hacer" de disfrutar con seguridad de armas.

Este instructable le mostrará algunas precauciones de seguridad básicas de armas de fuego. Estoy manteniendo intencionalmente este muy básico y a punto, pero puede entrar en más detalle en un futuro instructable. Manejo de un arma de fuego, como cual