Docenas de botones de conducción (1 / 4 paso)

Paso 1: Pensar que es a través de

Por lo tanto, vamos a pensar esto.

Si te fijas en el tutorial de arriba, puedes ver que la solución de fuerza bruta es que para cada botón hay una energía, un drenaje a través de un resistor de KOhm 10 y una clavija de entrada. La energía y el drenaje pueden ser compartidos a través de todos los botones, pero, en el circuito que se muestra allí, no podemos evitar el hecho de que necesitamos una clavija de entrada separada para cada botón individual. Si nuestra aplicación requiere 10 botones, necesitamos 10 pines de Arduino. ¡ Ay!.

Como dio la materia algún pensamiento, sin embargo, se me ocurrió que esto era similar a un problema en un proyecto diferente que había trabajado encendido, es decir, abordar múltiples dígitos de la exhibición de LED, algo que vemos en todas partes de hornos de microondas a despertadores. Así que por favor ten paciencia conmigo mientras estoy divagando en tierra de LED por un momento.

En la mayoría de circuitos que incluyen múltiples dígitos LED, cada dígito no se activa con una corriente constante. Por el contrario, el controlador establece el patrón de segmento de un dígito de destino particular (decir, el patrón que hace el número "5") y ese patrón a todos los dígitos en la pantalla simultáneamente. Él entonces fijó el patrón para el dígito siguiente, salidas, etc., a través de todos los dígitos y repitiendo para siempre.

Pero, os preguntaréis, ¿cómo es posible, entonces, ver números diferentes en cada dígito? Esto es posible debido a que el controlador utiliza transistores para encender el dígito de destino y apagar todos los demás antes de imprimir el patrón.

Por ejemplo, supongamos que tenemos una pantalla LED de 4 dígitos (cada dígito denominado A, B, C y D), y queremos mostrar los números "5678" en esta pantalla. Esto es lo que ocurre:

  1. el controlador enciende A y convierte los dígitos de B, C y D de
  2. imprime el patrón para el número "5" que todos los dígitos
  3. da vuelta a B y A, C, D de
  4. patrón de salidas para el número "6"
  5. da vuelta a C y A, B, D de
  6. salidas de "7"
  7. convierte D a y A, B, C
  8. salidas de "8"
  9. se repite desde el paso 1

Esto permite que la electrónica a ser mucho más sencillo y más barato. Y sólo funciona porque los transistores y el regulador pueden encender dígitos y fuera tan increíblemente rápido que cada segmento individual de cada dígito realmente no tiene tiempo a desaparecer antes de que vuelve renovado. Este proceso se conoce como "Multiplexación" o "efecto estroboscópico", y le permite conducir, teóricamente, cualquier número de dígitos de LED. (En la actualidad, sin embargo, hay un límite: cuando se agrega más y más dígitos, notarás que empiezan a oscilar, porque el controlador no puede actualizar lo suficientemente rápido. Finalmente, este parpadeo se convierte tan mal que ya no eres capaz de reconocer los números.)

OK, de vuelta a tierra botón.

Vi una conexión entre la multiplexación de LED por encima y este problema de botones múltiples: ¿Qué pasa si nos podemos multiplexar los botones de alguna manera? En lugar de la salida de la multiplexación, se multiplexan la entrada: Esto significa que nos apague todos sino un botón, detectar ese botón arriba/abajo estado, guardarlo y luego hacer lo mismo para el botón siguiente, etc., pedaleando por todos los botones muy, muy rápidamente. Solo botón está activo en cualquier momento dado, y el controlador sabe que uno es, podríamos utilizar la misma, solo entrada de pin para cualquier número de botones.

Suena bien, pero Agárrate: todavía tenemos que activar todos los botones, uno a la vez. ¿Por lo tanto, no nos acaba de cumplir el problema, ya que ahora necesitamos X pernos de la salida para X botones?

Bueno, esto es que traemos en los registros de cambio. El registro de desplazamiento es un IC que recibe un patrón de 8 bits, uno tras otro (es decir, en serie) y, cuando ordenó, conducirá ese patrón a 8 pines de salida simultáneamente (es decir, en paralelo). Sólo la búsqueda de Instructables para "registro de desplazamiento" y encontrarás muchos tutoriales. Registros de desplazamiento están rápido, fácil de usar, muy barato y tremendamente potente. Pero, aún necesitamos para el registro de desplazamiento, y se tarda 3 pines de Arduino para hacerlo. Sin embargo, lo maravilloso es que puedes conectan múltiples registros de desplazamiento en una cadena y aún conducir toda la cadena con el mismo 3 pines de Arduino!

¿OK, así que hace todo esto que nos? Si podemos averiguar cómo multiplexar las entradas de botón, podemos utilizar un perno de la entrada, y si podemos aprovechar los registros de cambio, sólo necesitamos 3 pines de salida. ¡ Hola! Nos hemos traído el problema hasta que requiere solo 4 pines totales para manejar un número ilimitado (teóricamente) de botones. El punto de ruptura es 4: Si usted necesita 4 o menos botones, solo fuerza bruta lo: utilizar 4 pines de entrada, ya que este enfoque es innecesariamente complejo y no ganar nada. Si, sin embargo, usted necesita 5 o, sobre todo muchos más, usted gana si utiliza el siguiente circuito y el código.

Artículos Relacionados

Botones bricolaje con la máquina de botón de Tecre

Botones bricolaje con la máquina de botón de Tecre

Full Disclosure: Sí, diseñar y vender mi propia línea de botones en el lado.Sacó mi botón la máquina y comenzó a crear valores para la fiebre del día de San Valentín de este año, recordaba cómo hace sólo unos años no me di cuenta de botones podrían r
Convertir un juguete rescatado de un controlador MIDI

Convertir un juguete rescatado de un controlador MIDI

en este Instructable, le guiará a través del proceso de convertir un rescatados sonoros juguete de los niños en un instrumento realmente útil mediante MIDI! Tome un momento para simplemente echar un vistazo sobre los títulos de los pasos en este Inst
Frambuesa Pi: Usando 1$ I2C LCD mochilas 1602 pantallas y botones!

Frambuesa Pi: Usando 1$ I2C LCD mochilas 1602 pantallas y botones!

¡ Hola! Soy Arsenijs, gusta construir cosas con frambuesa Pi y últimamente he estado trabajando con pantallas de caracteres, así como sus mochilas de I2C, por lo que yo he coleccionado algunos hacks que puedo mostrarte. Hoy, te diré cómo ahorrar un m
Primera persona WiFi conducción de Roombas y otros vehículos RC infrarrojo

Primera persona WiFi conducción de Roombas y otros vehículos RC infrarrojo

Pegarse un smartphone un vehículo de control remoto y tener flujo de cámara video sobre WiFi permite tiene un montón de diversión de conducción del vehículo con su control remoto viendo imágenes de él en otro dispositivo y usando el mando a distancia
Encuentra botones de Flaura

Encuentra botones de Flaura

En este Instructable le entro cómo hacer alfileres de botón único de las flores y otra flaura encontrado. Todo lo que realmente necesitas para esto es un botón. El papel es opcional.Paso 1: Elegir una flor, o una docenaRecoger algunas florecillas, tr
Fijación no trabajo botones de Control remoto

Fijación no trabajo botones de Control remoto

Botones del control remoto tienen una fina capa conductora por debajo. Como pasa el tiempo esta capa puede dañarse debido a la fricción y conductividad suelto. Como resultado, aunque las baterías están llenas y aplicar grandes presiones sobre el botó
Soporte de amarre botones

Soporte de amarre botones

innertubes bicicleta son ideales para las estructuras de amarre juntos a toda prisa. Estos grandes botones le permiten hacerlo aún más rápido porque no tienes que envolver nada o empujar a través de orificios.Paso 1: Agujero Sierra menos centro talad
Temporizador de cuenta regresiva de Arduino con los botones de configuración

Temporizador de cuenta regresiva de Arduino con los botones de configuración

En esta guía de Instructables te mostrará cómo hacer su propio temporizador de cuenta regresiva de Arduino dos dígitos. Hice mi propio circuito utilizando el microcontrolador ATmega328 pero este es un paso opcional. En esta guía te ayudaré a hacer fá
Cómo cambiar todos los botones, gatillos, y palancas de mando en un Xbox 360 controlador inalámbrico

Cómo cambiar todos los botones, gatillos, y palancas de mando en un Xbox 360 controlador inalámbrico

este instructable le mostrará cómo hacer su propio controlador personalizado de la Xbox 360. Este proyecto podría ser un poco difícil o frustrante a veces, pero si pega con ella, su controlador será el mejor en el bloque.Paso 1: Reunir los materiales
Adafruit conducción ósea altavoces

Adafruit conducción ósea altavoces

Después de que había comprado mi nuevo iPod, pronto me di cuenta que era incapaz de crear su propio sonido. Por lo tanto, decidí crear un altavoz que era pequeño y ligero, pero todavía tenía buena calidad de audio. En el proceso de investigar qué tip
Cómo hacer Ramos de flores de fieltro con botones y cuentas de madera

Cómo hacer Ramos de flores de fieltro con botones y cuentas de madera

¿Buscas un Ramos de flores? ¿Qué tal estos DIY fieltro Flores? El siguiente tutorial Pandahall le dirá cómo hacer este ramo de flores de fieltro.Paso 1: Materiales y herramientas necesitan en DIY el Ramos de flores de fieltro:joyería que hace fuentes
Decorar un bolso con botones de colores

Decorar un bolso con botones de colores

agregar su propio toque único por una llanura mirando cartera con botones de iluminación.Paso 1: La bolsa Fueron mis criterios para la elección de la bolsa;llano negro - los colores deben ser de los botones, blanco puede trabajar así,estilo simple -
Rock Band guitarra Mod: Guitarra héroe botones y barra de rasgueo

Rock Band guitarra Mod: Guitarra héroe botones y barra de rasgueo

por canibalizar un mando de PS2 Guitar Hero, he añadido todos mis elementos favoritos a mi controlador de Xbox 360 Rock Band: levantado de botones y conmutadores mecánicos para barra de rasgueo.Este mod se traduce en mayor funcionalidad para mis cont
Mover botones en tu mando de xbox

Mover botones en tu mando de xbox

jugando para call of duty en xbox live, me di cuenta de algunas personas esquivando mis balas a quemarropa agacharse y yendo propenso leña y manteniendo su propósito en mí.Si estás familiarizado con los controles para call of duty, esto significaría