Siguiendo banco de estudio de bajo nivel HD44780Después de haber ganado el primer premio en una de las competiciones, el autor de Instructables bajo el apodo indoorgeek decidió hacer otra posición similar. Esta vez, el usuario que quiere sentirse en la piel de "vivir Arduino", Es posible controlar el registro de desplazamiento, un componente importante de las pantallas LED de matriz y no solo.
El dispositivo usa el registro de desplazamiento 74HC595, que se encuentra con mayor frecuencia en la práctica del arduino, y también puede usar el КР1564ИР52 compatible. ¡Usando tres de estos microcircuitos, por ejemplo, puede convertir cinco salidas de un microcontrolador en veinticuatro! Y la propuesta hecho en casa Le mostrará claramente qué procesos están teniendo lugar.
Indoorgeek ensambló dicho soporte en dos versiones: en una placa de pruebas normal y en una tabla de pruebas, de esta manera:
Puede hacerlo a su gusto, o incluso aplicar una instalación volumétrica o hacer una placa de circuito impreso. Es mucho más importante no cometer errores durante el montaje que discutir sobre sus métodos.
Los componentes en el diseño son los siguientes: un registro de desplazamiento del tipo indicado anteriormente, un zócalo para un microcircuito de 16 pines (puede prescindir de él), ocho LED, el mismo número de resistencias de un solo ohmio, tres resistencias de diez ohmios, tres botones, así como una tarjeta adaptadora con un microenchufe USB Si tiene brazos muy rectos, puede simplemente tomar el conector Micro USB y soldar dos cables. Y si no le gusta ser original, puede usar un cable con un conector USB normal. Solo la polaridad en todos los casos, no confunda, bueno, no organice un cortocircuito.
Nuestro registro de desplazamiento se llama científicamente un registro de desplazamiento de ocho bits con tres estados. El primero significa que tiene ocho celdas de memoria de un bit y el mismo número de salidas, y el segundo, que cada uno de los bits binarios puede tomar uno de tres estados: cero, uno y alta impedancia. Esto no es una maldición, sino una imitación de un acantilado, como si no estuviera conectado en absoluto. Una salida en un estado de tono alto, como dicen, no interfiere: puede llevarla con una resistencia al menos a cero, incluso a la unidad, y él obedientemente "está de acuerdo". Pero si entra en un estado de cero o uno, recibirá prioridad, ya que la baja impedancia de salida del microcircuito dominará su resistencia.
El microcircuito tiene cinco entradas.Como el lector probablemente ya adivinó que con un número tan pequeño de entradas para obtener tantas salidas, debe recibir información en serie y enviarla en paralelo. Escribe de la misma manera en el teclado o escribe en papel letra por letra, y luego ve todo el texto a la vez. Si conecta varios registros de desplazamiento en serie, puede aumentar el número de salidas en el número correspondiente de veces, pero a la misma velocidad de transferencia de datos, la larga cadena de registros se llenará más tiempo. Analogía: lleva más tiempo escribir varias hojas de papel que llenar solo una a la misma velocidad.
Pero el registro de desplazamiento es diferente del papel en que los datos en él se desplazan automáticamente, de ahí el nombre. Escribe el siguiente bit en él, y todos los anteriores se mueven más lejos en el registro o sus cadenas, el mismo que estaba al final antes de que desaparezca. Imagine un tubo lleno de bolas, algunas de las cuales son ordinarias, otras son luminosas. Coloque la siguiente bola en ella, normal o luminosa, y otra bola volará desde el lado opuesto.
Conozcamos el propósito de las entradas del chip. Por alguna razón, indoorgeek decidió enumerarlos en orden inverso, como antes de lanzar una nave espacial. El pin 14 es necesario para ingresar datos en serie. Es como una bandeja en la que coloca una bola regular o luminosa antes de empujarla dentro del tubo. 13ª conclusión: la inclusión de productos. Si se aplica cero allí, las salidas se encenderán como si el teléfono se hubiera vuelto transparente. Le damos uno, y el tubo se ha vuelto opaco, qué bolas y en qué orden se llena el tubo no son visibles. Es decir, todas las salidas del registro de desplazamiento entraron en un estado de alta impedancia. En la construcción en consideración, esta conclusión siempre se lleva a cero, lo que equivale a siempre un tubo transparente. La duodécima conclusión es un tipo de obturador de la cámara. Cuando hay cero, la imagen que el espectador ve a través del tubo no refleja el estado real de las bolas, sino la que se observó cuando la unidad se vio por última vez en esta conclusión. Si hay uno, el movimiento de las bolas en el tubo se puede observar en tiempo real. Para que todo esto funcione como se describe, en el microcircuito, además del registro de desplazamiento, hay un registro de almacenamiento. La undécima conclusión es el reloj, es decir, empujar la pelota desde la bandeja hacia el tubo. Damos una unidad allí en el momento en que el valor que necesitamos está en la salida 14 y, sin eliminarlo de allí, eliminamos la unidad de la salida 11. La décima conclusión es un reinicio. Si se aplica cero allí, esto será equivalente a la pérdida de propiedades luminosas por todas las bolas en el tubo. Al enviar una unidad a la entrada de reinicio, puede comenzar a llenar el tubo nuevamente con bolas ordinarias y luminosas en cualquier orden, como se describió anteriormente. En el stand bajo consideración siempre hay una unidad. La conclusión 15, así como las conclusiones 1 a 7, son los resultados del registro de desplazamiento. La alimentación se suministra como en la mayoría de los circuitos digitales de dieciséis pines: 8 - cable común, 16 - más cinco voltios. Finalmente, el pin 9 es la salida al siguiente registro de desplazamiento, que se puede conectar en serie a varias piezas, como si hiciera un tubo largo de varios cortos. En general, conectamos el pin 9 del registro anterior con el pin 14 del siguiente y nos regocijamos. Puede mejorar el producto casero propuesto.
Dado que este es el segundo puesto para indoorgeek, la fobia frente a las resistencias pull-up, que se describió en un artículo anterior, está desapareciendo lentamente de él. Aquí ya hay tres de ellos, lo que nos permitió usar botones normalmente abiertos en lugar de los botones de alternar. Se utilizaron resistencias de 10 kiloohmios como pull-ups y resistencias de 1 kilo ohmio para LED. Como en el diseño anterior, paralelo al botón del reloj (salida 11), es bueno conectar un condensador de 100 microfaradios y al menos 6.3 V más al más de la fuente de alimentación, y menos al microcircuito y la resistencia. Resultará el supresor de rebote de contacto más simple.
Repita después de indoorgeek:
Entonces también tuviste éxito:
Ahora cómo usarlo todo. Para colocar una bola luminosa en el tubo, presione el botón conectado al terminal 14, después de lo cual, mientras lo sostiene, presione el botón conectado al terminal 11 y luego suéltelo. A continuación, suelte el botón conectado al pin 14.Para hacer lo mismo con una bola no luminosa, con un botón conectado al terminal 14, no hacemos nada, y presionamos y soltamos el botón conectado al terminal 11. Entonces puede escribir en el registro de desplazamiento y algunos bits. En ambos casos, cuando se suelta el botón, conectado al terminal 12, el estado de los LED no cambiará y, cuando se presione, reflejará el estado del registro de desplazamiento en tiempo real. Si decide no mantener presionado este botón durante la grabación, presiónelo brevemente ahora, y el registro de almacenamiento tomará una imagen del estado actual del registro de desplazamiento.
Como el tubo y las bolas son virtuales, y el microcircuito y los LED son reales, para el espectador, cada bola que cae desde el lado opuesto del tubo desaparece. Habría otro registro, él se mudaría allí. Puede mejorar este diseño agregando este registro, e incluso varios de ellos, y ocho LED más con resistencias para cada uno de ellos. Como se indicó anteriormente, el pin 9 de cada registro anterior debe estar conectado al pin 14 del siguiente. Y la fuente de alimentación y las entradas 10, 11, 12 y 13 de todos los registros están en paralelo.
Entonces tienes una idea de qué operaciones realiza Arduino controlando los registros de desplazamiento.