El pin de un microcontrolador cuando se encuentra en el modo de entrada digital suele ser de cientos de kilo-ohmios o incluso de algunos megaohms. Son esencialmente entradas de alta impedancia op-amp (CMOS hoy en día).
El problema cuando se configura un pin para la salida es que los controladores de salida a menudo tienen una resistencia bastante baja: decenas de ohmios o menos. Pueden quemarse si están en corto a VCC o GND, según el estado. Parece que está más preocupado por esta situación, con una interfaz de botón / interruptor.
La forma estándar de hacer un cambio para una entrada digital es colocar el interruptor en el lado bajo con una resistencia de alto valor externamente. Así:
simular este circuito : esquema creado usando CircuitLab
El resistor R1 ayuda de dos maneras: si el microcontrolador accidentalmente convierte su pin en un modo de "salida" y se activa en BAJO, este resistor garantiza que no haya un cortocircuito a TIERRA a través del pin. Cuando un pin digital se activa a nivel bajo, es básicamente un cortocircuito a tierra, lo que es muy malo para un pin que está conectado a una fuente capaz de alta potencia / corriente.
La segunda función de R1 es cuando se presiona el botón, evita que la alta corriente fluya y destruya el interruptor.
Realmente no puede usar las resistencias de activación internas en el microcontrolador para esta configuración porque si R1 no existe, el interruptor fallará debido a la corriente de cortocircuito que lo atraviesa.
Lo único molesto de toda esta configuración es que está "bajo activo", ya que el valor lógico cuando se presiona el botón es "BAJO", y cuando no se presiona el botón, se encuentra en " ALTO".
Su otra opción es que el interruptor esté en el lado alto, conectando VCC al pin digital. Luego puede usar resistencias de arrastre internas (muy raras) o externas. Esto es bueno porque el interruptor no puede conectarse a tierra externamente, pero aún puede tener problemas si el pin del microcontrolador se configuró en la salida y se configuró en LOW (que es una conexión casi directa a tierra como mencioné anteriormente). / p>
simular este circuito
Para explicar el diagrama anterior, Rext es la ubicación de una resistencia externa si decidió hacerlo. Esto garantiza que cuando no se presiona el botón, el voltaje del nodo de entrada digital decaerá a cero a través de esta resistencia. El Rint es la resistencia interna posible si su microcontrolador proporciona uno, estos a menudo están en el rango de 20-40k Ohmios. En caso de configurar el pin en SALIDA y BAJO, el Rprot sirve como resistencia de protección contra cortocircuitos; honestamente, a todos los pines del microcontrolador de uso general se les debe dar un resistor de serie externo como este, para hacerlos más resistentes.
Yo mismo uso el primer diagrama, con R1 entre el pin y el interruptor, a VCC. Esto cubre todas las bases y protege contra locuras. Acabo de acomodar el nivel lógico que es BAJO cuando estoy activo en mi software.