¿Cómo leer muchos interruptores con un MCU Pin (3 / 4 paso)

Paso 3: escalera de divisor de tensión

Ahora Supongamos que tenemos todos nuestros interruptores, tal vez seis u ocho o dieciséis, todos conectados a través de resistencias que cada acto como un divisor de tensión tal que cuando el estado del interruptor perno de cambios, la tensión es leer y basada en el nivel de voltaje, podemos saber que interruptor se acaba de activar.  Ver a continuación.

En la siguiente imagen, he conectado dos bloques de interruptores.  El bloque de la parte superior tiene dos interruptores, y el bloque inferior tiene cinco interruptores.  Puede conectar su palanca separada, momentáneo, táctil, interruptores etc. de la misma manera.  Lo importante a notar es la resistencia que el conmutador está conectado a.

En mi ejemplo, he duplicado la resistencia de la resistencia siguiente para crear un espacio de tensión fácil de medir y no se confunden con el interruptor antes o después.  Si usted no ha notado antes, mirar de nuevo y darse cuenta de que estamos en nuestro viejo amigo el divisor de tensión resistivo.  La primera resistencia, el ohmio 10 k, está conectada a 5V y la resistencia 2 º--la resistencia que va a determinarhacia fuera para el pin SWITCH_ADC , está conectada a cada switch y por lo tanto, cada interruptor está asociada con una tensión de Vout particular que se puede leer en el pin ADC conectado a SWITCH_ADC.

A continuación, determinar la Vout esperado de cada interruptor así:

Vout = Vin * (R2 / (R1 + R2))

para cambiar uno:

Vout = 5V * (500 / (10000 + 500)) = 5 * 0.048 = 0.24V o 240 mV

para cambiar dos:

Vout = 5V * (2200 / (10000 + 2200)) = 5 * 0.18 = 0.9V o ~ 900mV

y así sucesivamente...
No dude en sustituir en sus propios valores para R2 si sólo tiene ciertas resistencias prácticos... Lo clave aquí es mantener una brecha bastante amplia en la tensión entre los contactos de modo que cualquier margen de error en el ADC no pondrá en la tensión de la espera de un switch vecino.  He encontrado lo más fácil es construir la escalera de divisor y poner un Multímetro/voltímetro en el pin de ADC y presione cada pin y ver qué valores tienes.  Deben ser bastante terreno en lo que se calcula.

Una vez que haya todos los valores de voltaje esperada de cada interruptor con una resistencia particular, después usted puede tener su MCU leer el pin ADC y comparar que a sus valores conocidos para determinar que el interruptor se ha presionado.  Por ejemplo, decir que se ha registrado una rutina de servicio de interrupción que se llamará cada vez que hay un cambio detectado en los pines del ADC.  Dentro de ese ISR, podría leer al ADC y comparar ese valor con su tabla de interruptor.  Si está utilizando un valor de ADC de 8 bits, su voltaje se convertirá en un número entre 0 y 255 que corresponde a una tensión entre 0V y 5V.  Esto asume que tienes tu ADC configurado de esta manera.

Artículos Relacionados

16 teclas teclado descifrar con un MCU AVR

16 teclas teclado descifrar con un MCU AVR

este instructable le mostrará cómo un teclado de 16 teclas para tu Microcontrolador AVR de la interfaz y leer la clave cuando se presiona una tecla. Te introduzco el teclado primero, luego el decodificador de 16 teclas 74HC922 IC como un mecanismo de
Control de electrodomésticos con nodo MCU vía MQTT

Control de electrodomésticos con nodo MCU vía MQTT

MQTT (transporte de telemetría de cola de mensaje) es un cliente servidor publicar/suscribir protocolo de transporte de mensajería. Este protocolo es ampliamente utilizado en el ámbito de Internet para la comunicación entre máquina a máquina por sus
Reparar un difícil acceso interruptor con Sugru

Reparar un difícil acceso interruptor con Sugru

por lo tanto, tengo este amplificador viejo como una donación para el local Hackspace. El problema es que un pequeño pedazo del interruptor está roto, por lo que el interruptor no permanece en su posición, por lo que no encienda. He intentado arregla
Lectura de interruptores con ATtiny2313

Lectura de interruptores con ATtiny2313

ha habido varios tratar de Instructables con salidas del ATtiny2313 y similares dispositivos del AVR. Por ejemplo,. Trabajando en el último de ellos desde el verdadero Elliot, que demostró cómo controlar motores paso a paso, encontré que sería muy út
La batería descarga protector interruptor con ATtiny85 para coche o Lipo batería de plomo ácido

La batería descarga protector interruptor con ATtiny85 para coche o Lipo batería de plomo ácido

Como tengo varios protectores de batería para mis coches y sistemas solares que había encontrado los comerciales a $49 a caro. También utilizan demasiada energía con 6 mA. No pude encontrar las instrucciones sobre el tema. Así que hice mi propio dibu
Ahorro de energía interruptor con Sensor de presencia

Ahorro de energía interruptor con Sensor de presencia

¿Enfrentar tales situaciones cuando dejas tus luces de lectura, ventiladores de mesa o soldadores sin la conmutación y después darse cuenta de que estaban en demasiadas horas que posteriormente salta de sus facturas de electricidad? Bueno, si tienes
De Arduino y perfboard para PCB con independiente MCU

De Arduino y perfboard para PCB con independiente MCU

Este Instructable es un sucesor directo de éste. Al final de esta acumulación, mi proyecto de plato giratorio es casi completa (por fin).El objetivo es desarrollar un buen aspecto y trabajar PCB con SMD electrónica con un trabajo ATtiny85 + software!
Enseñar a un niño a leer la hora con un reloj de Strawbees

Enseñar a un niño a leer la hora con un reloj de Strawbees

Proyecto 5 minutos muy fácil! Hacer un reloj con las manos que a su vez a ayudar a su niño a aprender a decir la hora. Mejor aún, su hijo puede hacer y decorar el reloj con mínima ayuda de adultos.Paso 1: Reúna sus materialesSe necesita:5 pajas3 sola
Toque el interruptor con Lm555

Toque el interruptor con Lm555

El circuito de interruptor Touch detecta tensiones vagabundas producidas por voltajes de las cañerías y la acumulación electrostática en una habitación. Son tacto dos placas y la resistencia del dedo cambia el voltaje en el pin 2 o 6 para cambiar el
CMS2CMS: Automated Kunena a bbPress interruptor con un Plugin

CMS2CMS: Automated Kunena a bbPress interruptor con un Plugin

¿crees que es hora de cambiar el software del Foro? ¿Cansado de usar la misma plataforma viejo? ¿Has considerado alguna vez la migración?Sin duda Kunena es un componente popular foro Web Joomla que enriquecerán la web con nuevas posibilidades de comu
Como leer archivos .aiff con C

Como leer archivos .aiff con C

el propósito de estas instrucciones es mostrar cómo leer un archivo de sonido .aiff. Como cualquier otros archivos binarios, archivos .aiff es también consiste en trozos de memoria diferente. Este tutorial va a leer a través de la parte común del arc
¿Cómo leer E-book con Supercard dstwo?

¿Cómo leer E-book con Supercard dstwo?

Aquí está el tutorial paso a paso para mostrarle cómo leer ebooks con supercard dstwo .Paso 1: después de configurar la dstwo en la consola de nintendo (aquí está el tutorial si no configurado: Cómo configurar la dstwo con el firmware más reciente )d
Como leer los IBooks con Samsung Galaxy Tab

Como leer los IBooks con Samsung Galaxy Tab

Q: Cuando tuve un ipad yo había pagado para algunos ibooks. Ya no tengo el ipad y ahora tengo una tablet galaxy de samsung y quisiera los libros que compré para el ipad para ser traslado a mi tablet. ¿Cómo lo hago? -De askmefast.comEn realidad, Tunes
¿Quadcopter DIY con 51 MCU C8051F 2212 KV930 Motor alemán EPP1045

¿Quadcopter DIY con 51 MCU C8051F 2212 KV930 Motor alemán EPP1045

se que soñando DIY un quadcopter fresco por sí mismo un día? Hoy ICStation equipo compartir los pasos que hace con un montón de imágenes ultra claras. El quadcopter que presentamos a usted utiliza marco de 51MCU y todos los módulos de sistema basado