Cómo acceder a 5 botones a través entrada Arduino 1 (7 / 8 paso)

Paso 7: Mejora

Como con todos los proyectos, en cuanto he terminado, empiezo a pensar cómo puedo mejorarlo... Aquí le damos algunas ideas que tuve:

1. la consistencia del valor devuelto por analogRead está determinada por un par de cosas:
-La fuente de alimentación. El valor podría variar drásticamente si su poder no está bien regulado. ¿En una fuente regulada, tal vez un condensador podría suavizar la fuente más?
-El botón. No sé por qué sería. Una cosa que noté es que los valores de saltan alrededor de la mayoría de derecha como los cambios de estado. Mi mejor conjetura es que podría ser causado por la espalda emf generada cuando el botón es presionado y liberado. Tal vez un diodo a través el botón podría limpiarlo un poco.

Por supuesto, tal vez se pregunte por qué tenemos que mejorar. Después de todo, funciona bien.

Si usted podría conseguir el rango de valores para cada botón hasta un mínimo, puede poner más botones en cada pin analógico.

Por ejemplo, si podría obtener los valores para cada botón en cerca de 60 puntos, podría fácilmente poner 12 botones en un perno y use cada resistencia de valor en el rango E12 entre 10K y 100K (10k, 12 k, 15k, 18 k, 22k, 27k, 33 k, 39k, 47k, 56 k, 68 k, 82k y 100 k)

Probablemente tendría que utilizar resistencias más precisas (o medirlas y utilizar las que están lo suficientemente cercanas para el valor objetivo) y puede que tenga que escoger con cuidado los botones, pero el hecho de que mi tercer botón está siempre en un rango de 2 puntos de prueba que debe ser capaz de hacer esto.

La segunda razón es para hacer que funcione con varios botones.

¿Por qué no funciona con varios botones? Una vez más, no voy a hacer de las matemáticas (resulta soy todavía perezoso), pero estoy bastante seguro de que eligiendo cuidadosamente sus resistencias, podrían calcular que botones fue presionado incluso si era más de uno.

Si nos fijamos en el circuito, veremos que pulsando los 2 botones al mismo tiempo, esencialmente están poniendo sus 2 resistencias en paralelo. Llamando tío Ohm , se tiene una fórmula para determinar la resistencia total de resistores paralelos.

Por ejemplo, si apreto los botones de mi segundo y terceros, vemos que una resistencia de 10K en paralelo con una resistencia de 33K le da una resistencia total de 7,6744 K (, yo busqué en Google que - aún sin matemáticas). Esto sería fácil de recoger en el código. Si sin embargo presioné el botón 1 y 2 aunque la resistencia de un resistor de 1K y 10K paralelo sería 900 ohmios, por lo que ahora estamos en el mismo rango en cuanto a botón 1.

Por supuesto, si dejaste a la resistencia de 1K, no habría ninguna forma de detectar si se presionó el botón 1 con cualquier otro botón. Puesto que no necesito detectar múltiples pulsar un botón, no voy en más detalles (en este momento al menos).

Artículos Relacionados

Una guía para controlar cosas con variables de entrada (a través de arduino)

Una guía para controlar cosas con variables de entrada (a través de arduino)

el corazón de este proyecto es un) montan un sensor a entrada analógica arduino y b) programación con if... else instrucción.Este proyecto muestra un sistema de refrigeración de ordenador para mantener cierta temperatura dentro de una torre de ordena
Control de teclado y ratón con aplicación Android a través de Arduino

Control de teclado y ratón con aplicación Android a través de Arduino

este instructable le mostrará cómo controlar tu ordenador teclado y ratón con una aplicación Android via bluetooth a un Arduino.FONDO¿Alguna vez has querido controlar la funcionalidad de ratón o el teclado de su ordenador sin tener que realmente sent
Controladores Aparatos de AC a través de Arduino usando sms controlan remoto ventilador y luz

Controladores Aparatos de AC a través de Arduino usando sms controlan remoto ventilador y luz

Hola amigos, soy Ostin. Voy a explicar, cómo controlar un ventilador y luz usando arduino a través de sms.Nos dejó encender/apagar un ventilador y la luz a través de comandos sms, realmente he diseñado el proyecto para el control de un motor de riego
TypeOnAir! (Tipografía de la larga exposición a través de Arduino)

TypeOnAir! (Tipografía de la larga exposición a través de Arduino)

Creo que hay dos tipos de fotógrafo. Primer grupo disfrutar de momento de congelación con todos sus componentes. Pero la otra mitad tiene que hacer algo al respecto. La naturaleza misma no es suficiente para la satisfacción. Al parecer estoy con la s
Un relé de control sobre Internet a través de Arduino con Teleduino

Un relé de control sobre Internet a través de Arduino con Teleduino

relés son una oldie pero goodie. Permiten cargas de alta corriente/voltaje mediante una salida digital de algo como Arduino.¿Qué haría un relé aún mejor? ¿Por qué controlar un relé por internet desde cualquier lugar del mundo? ¡ sí!Este proceso se ha
Control de un LED en Internet a través de Arduino con Teleduino

Control de un LED en Internet a través de Arduino con Teleduino

hay algo sobre cómo hacer un brillo del LED a través de un Arduino. ¿Qué podría hacer incluso más? ¿Por qué hacer eso LED resplandor de cualquier parte del mundo a través de internet? Ahora nos estamos hablando!Este proceso se hace realmente simple c
Control de Servos en Internet a través de Arduino con Teleduino

Control de Servos en Internet a través de Arduino con Teleduino

Servos tienen muchos usos y puede ser muy divertido para jugar con. Algo que puede ser un montón de diversión es tomar el control de servos de hasta seis por internet! Solo imagine las posibilidades.Este proceso se hace realmente simple con el bosque
Nivel de luz de lectura sobre Internet a través de Arduino con Teleduino

Nivel de luz de lectura sobre Internet a través de Arduino con Teleduino

Lo hemos todo hecho. Salir de la casa para el trabajo en la mañana y pregunto si dejaste el luz de garaje. No desea preocuparse de él y luego en problemas con tu esposa/esposo/novia/novio/compañero de piso para registrar el proyecto de ley de energía
Sincronizar DS3231 RTC con PC a través de Arduino

Sincronizar DS3231 RTC con PC a través de Arduino

Yo quería hacer un registrador de datos para un proyecto con un Arduino y también necesitaba el tiempo real. Usé DS3231RTC (reloj de tiempo real). Quería sincronizar este RTC con mi PC. Busqué algunos códigos enviar el tiempo de la PC a Arduino y enc
Control de luces en el árbol de Navidad a través de Arduino, Android y Bluetooth!

Control de luces en el árbol de Navidad a través de Arduino, Android y Bluetooth!

Bien, esta es mi primera Instructable y estoy bastante entusiasmado. Tengo la idea para este proyecto de una combinación de estos 2 Instructables...El concepto básico era hacer una forma de controlar las luces de mi árbol de Navidad este año, pero de
Botones para Evozip bolsas intercambiables.

Botones para Evozip bolsas intercambiables.

tengo ya se muestra cómo crear bolsas de Evozip y pieles. Este tutorial te enseña como crear los botones que se adhieren las bolsas a las pieles.  Los botones sirven para ocultar los ojales en la piel y permite que usted agregue más arreglo para requ
Docenas de botones de conducción

Docenas de botones de conducción

Este proyecto surgió porque estaba tratando de pensar de la mejor manera de conseguir la entrada de un gran número de botones, mientras que requieren el mínimo número de pines de Arduino. Empecé con el maravilloso tutorial en el sitio de Arduino que
Arduino FightStick

Arduino FightStick

Saludos y Bienvenidos a mi tutorial sobre la creación de un fightstick utilizando Arduino.Este proyecto es un fightstick creada principalmente para el uso con PC y PlayStation 3 y fue hecho para mi curso de prototipado rápido en la Universidad de Wes
Cómo construir una máquina de Arcade en 4 minutos

Cómo construir una máquina de Arcade en 4 minutos

El video de arriba muestra todos los pasos descritos en este instructable así que por favor ver el video antes de leer más.Bueno, en realidad, es sólo el video que dura 4 minutos, pero la construcción tomó cerca de 200 horas. Pero si va a hacerlo, no