El registro del cambio del 74HC164 y su Arduino (8 / 9 paso)

Paso 8: Proyecto 3 [pt 2]: pantalla de matriz de led de 4 x 4 '2 hilos'

El cambio de registro de controles de los ánodos y los cátodos de los LED en un YX formato, mira en el siguiente

bit 1 = columna 1 (derecha)
bit 2 = columna 2
bit 3 = columna 3
bit 4 = columna 4
bit 5 = fila 1 (superior)
bit 6 = fila 2
bit 7 = fila 3
bit 8 = fila 4

Para dibujar un cuadrado de 4 x 4 en papel cuadriculado y rellenar en los que desea aparece una imagen, luego hacer una tabla YX. A continuación verá una asignación para un símil, así como mejor uno puede hacer en 4 x 4 "píxeles"

Para cada uno lleno en sección que escribo hacia abajo de la columna (Y) es, entonces cual fila es en (X)

Ahora abre el archivo _4x4.pde en el arduino IDE podrás ver nuestros viejos 2 amigos

#define datos 2
#define reloj 3

entonces una matriz de enteros

int [img] = {1,1,4,1,1,3,4,3,2,4,3,4};

Si se mira sólo una lista de mi escrito por YX coordina, sería un gran dolor en el trasero para convertir esos valores a mano y contamos con un equipo... déjelo hacerlo!

Pasando allí es vacío donde hacemos nuestro reloj y datos pines salidas

void setup()
{
pinMode (reloj, salida); hacer el reloj pin una salida
pinMode (datos, salida); hacer el pin de datos un output3
}

Y un bucle vacío mirando confuso, poner cosas apagado necesitan declarar algunas variables locales

void loop()
{
int Y;
int X;
byte

A continuación, un bucle, este lazo debe ser tan largo como la cantidad de entradas de la matriz de la img, para esta imagen utilizado 6 píxeles, por lo que hace que las coordenadas de x 12. Hacerla saltar cada otro número usando i += 2, porque leemos 2 coordenadas por loop

para (int i = 0; i < 12; i += 2) / / número de puntos de la matriz de img, este caso 12
{

Ahora leemos el entery Y en [i] de la matriz y restar uno de su valor, porque bytes no empiezan en uno, empiezan en cero, pero contamos de 1

obtener el primer par de cables de YX
Y = (img [i] - 1); restar a uno desde la cuenta de poco empieza en 0

A continuación Lea el X entery en [i + 1] de la matriz y restar uno de su valor, por la misma razón

X = (img [i + 1] - 1);

Después tenemos los valores YX del pixel, hacemos algunos bit a bit o matemáticas y desplazamiento a la izquierda.

Primero debemos leer el valor de X, y todo lo que su valor es de cambio que muchos lugares + 4 a la izquierda, por lo que si X es 4 y añadir 4 es pedacito 8 (MSB), mirando la tabla otra vez...

bit 1 = columna 1 (derecha)
bit 2 = columna 2
bit 3 = columna 3
bit 4 = columna 4
bit 5 = fila 1 (superior)
bit 6 = fila 2
bit 7 = fila 3
bit 8 = fila 4

Bit 8 es la última fila

El valor Y también se desplaza a la izquierda, esta vez justo por su auto, luego nada añadido.

Finalmente los dos son unidos juntos en 1 byte en lugar de 2 bytes la mitad (nibbles), usando bitwise o (el símbolo |   ) ocupa dos bytes y básicamente les suma, deja para asumir

X = 10000000
Y = 00000001
--------------------
O = 10000001

fila 4 columna 1

a = 1 << (X + 4) | 1 << Y;

Y finalmente shiftOut y mostrar la imagen actual, seguir haciendo hasta que no tengamos ningún dato más en la matriz... demora un momento y lazo para siempre, ya que estábamos cambiando datos a la izquierda tenemos el MSB para ser en el último pin de salida del envío de registro de turno en primer lugar.

shiftOut (datos, reloj, MSBFIRST, out); cambiar el byte de salida a nuestro registro
Delay(1); retrasarlo abit así tiene oportunidad de dejar un punto de luz en tus ojos

No dude en hacer sus propias imágenes y efectos, hay 3 archivos de ejemplo, la cara sonriente y un tablero de ajedrez (que se ve más como rayas) y finalmente un fabricante de chispa al azar

Artículos Relacionados

RegisterWrite - extender las salidas del Arduino/microcontrolador con los registros de cambio

RegisterWrite - extender las salidas del Arduino/microcontrolador con los registros de cambio

Registrar escriba es un ejemplo de programa para ampliar las salidas de Arduino usando un registro de cambio.He escribí un bosquejo sencillo que usa 3 salidas de Arduino para manejar el registro de desplazamiento.Escribí esto como no pude encontrar n
Manipulación de registro del microcontrolador

Manipulación de registro del microcontrolador

Siempre estoy sorprendido por la nueva tecnología que constantemente está saliendo que permite a aficionados como yo acceso a microcontroladores poderosos y baratos como los consejos de desarrollo de Arduino o chipKIT. Son fácil de programar y fácil
Multiplexación de 7 segmentos muestra con Arduino y registros de cambio

Multiplexación de 7 segmentos muestra con Arduino y registros de cambio

en este instructable, enseñará los fundamentos de la multiplexación 7 exhibiciones de segmento utilizando un Arduino y un par de registros de cambio. Este proyecto es ideal para mostrar información numérica o si quieres controlar un montón de LEDs. P
Con un registro de cambio de frambuesa Pi

Con un registro de cambio de frambuesa Pi

este instructable intentará explicar en términos simples, lo que un cambio es de registro, y cómo usted puede utilizarlo con el Raspberry Pi para ampliar el puerto GPIO ejecutando ocho salidas con cuatro puertos GPIO.Para empezar, ¿qué es un registro
Tutorial para principiantes: control de matriz de LED con 2 595 registros de cambio y medidor

Tutorial para principiantes: control de matriz de LED con 2 595 registros de cambio y medidor

Estoy recien comenzando con Arduino y el instructables de amandaghassaei me ayudó mucho. En su segunda tutorialabout entradas y salidas, ella explica cómo utilizar registros de desplazamiento y cómo controlar una matriz de LED por multiplexación. En
Primeros pasos con el proceso y Arduino (control de registro de cambio de equipo)

Primeros pasos con el proceso y Arduino (control de registro de cambio de equipo)

Hola otra vez! Tengo solo algunas piezas, así que decidí empezar a construir virtual! Tenía proceso en mi computadora, pero nunca había utilizado, porque i´m a un estudiante y me don´t saber Java en todo. Primero decidí sacar Plaza. He tenido problem
Un registro de cambio de funcionamiento

Un registro de cambio de funcionamiento

En previsión para el 8 x 8 x 8 LED cubo Instructable (tengo un 3 x 3 x 3 la versión aquí), voy a explicar un componente clave en el funcionamiento del cubo que no creo se explica tan bien como podría ser (pero no dude en corregirme si sientes lo cont
Gabinete de servidores a deshidratador del alimento, controlada por Arduino

Gabinete de servidores a deshidratador del alimento, controlada por Arduino

teníamos que hacer un montón de alimento crudo y a menudo eso significa deshidratación.  Para lograr esto hemos encontrado un servidor gabinete y había convertido en un deshidratador.Este fue un proyecto bastante simple y produce gran cantidad de alm
Cómo escribir tu propio 4 x 4 x 4 cubo del LED mostrar para Arduino

Cómo escribir tu propio 4 x 4 x 4 cubo del LED mostrar para Arduino

Hay muchos Instructables ahi le enseña a construir un cubo de LED, sin embargo sólo unos pocos realmente ayudan a escribir el código para ir con él pero sólo le dan algunos a utilizar, así detener tu potencial creativo! También hay muchas formas de p
Cómo crear números de registro del barco

Cómo crear números de registro del barco

lo hice en TechShop Menlo Park. http://www.techshop.comEn el proceso de pintar un barco que consiguieran raspar las cifras de registro para una limpieza suave mirar. Sin estos el barco es ilegal estar en el agua. Se trata de cómo crearlas:Paso 1: Gua
Registro del corte del laser

Registro del corte del laser

Paso 7: Haga su propio Puede convertir sus archivos de audio en trazados de corte vectoriales en diez pasos:1. descargar el procesamiento.2. Descargar Python 2.5.4.3. Descargar Audacity.4. descargar el código en GitHub (se puede descargar el archivo
STATSulator: Registro del entrenamiento

STATSulator: Registro del entrenamiento

el STATSulator es un php/mysql de la aplicación y bs2 escritorio pantalla lcd que realiza un seguimiento de tu entrenamiento. Le permite ver lo que sus compañeros de entrenamiento también están poniendo en, horas de raws, no los detalles para su acti
Araña y registro del bosque negro

Araña y registro del bosque negro

Utilice estos pasos para hacerte un registro con una araña y los huevos directamente de la selva negra!INGREDIENTESReceta de pastel de chocolate-blanco 1 taza de azúcar-1 taza de harina-6 cucharadas cacao en polvo sin azúcar-3/4 cucharaditas polvo de
LinkIt uno - registro de cambio

LinkIt uno - registro de cambio

El LinkIt es una muy buena tabla para trabajar con y una gran alternativa de Arduino pero como los proyectos se complican pueden enfrentar que 14 pernos de LinkIt pueden no ser suficiente. Y a veces no tenga una placa extra para trabajar con para tod