Primero, olvida la resistencia de 100 Ω por ahora. No es necesario para el funcionamiento del botón, solo está ahí como protección en caso de que cometa un error de programación.
- Si se presiona el botón, P2 se conectará directamente a +5 V, por lo que se verá como un nivel alto, siendo "1".
- Si se suelta el botón, el +5 V ya no cuenta, solo hay 10 kΩ entre el puerto y la tierra.
El pin de E / S de un microcontrolador es de alta impedancia cuando se usa como entrada, lo que significa que solo fluye una pequeña corriente de fuga, generalmente mucho menor que 1 µA, que será el máximo de acuerdo con la hoja de datos. OK, digamos que es 1 µA. Luego, de acuerdo con la Ley de Ohm, esto causará una caída de voltaje de 1 µA \ $ \ veces \ $ 10 kΩ = 10 mV a través de la resistencia. Entonces, la entrada estará a 0.01 V. Eso es un nivel bajo, o un "0". Un típico microcontrolador de 5 V verá cualquier nivel inferior a 1,5 V como mínimo.
Ahora la resistencia de 100 Ω. Si accidentalmente creaba la salida del pin y la configuraba en un nivel bajo, al presionar el botón se producirá un cortocircuito: el microcontrolador fija 0 V en el pin y el interruptor +5 V en el mismo pin. Al microcontrolador no le gusta eso, y el IC puede estar dañado. En esos casos, la resistencia de 100 Ω debe limitar la corriente a 50 mA. (Lo que todavía es un poco demasiado, una resistencia de 1 kΩ sería mejor).
Dado que no fluirá la corriente en un pin de entrada (aparte de la baja fuga) casi no habrá una caída de voltaje a través de la resistencia.
El 10 kΩ es un valor típico para un pull-up o pull-down. Un valor más bajo le dará incluso una caída de voltaje más baja, pero 10 mV o 1 mV no hacen mucha diferencia. Pero hay algo más: si se presiona el botón, hay 5 V a través de la resistencia, por lo que fluirá una corriente de 5 V / 10 kΩ = 500 µA. Eso es lo suficientemente bajo como para no causar ningún problema, y de todos modos no mantendrá presionado el botón durante mucho tiempo. Pero puede reemplazar el botón con un interruptor, que puede estar cerrado durante mucho tiempo. Entonces, si hubiera elegido un menú desplegable de 1 kΩ, tendría 5 mA a través de la resistencia siempre que el interruptor esté cerrado, y eso es un desperdicio. 10 kΩ es un buen valor.
Tenga en cuenta que puede darle la vuelta para obtener una resistencia de levantamiento y cambiar a tierra cuando se presiona el botón.
Estoinvertirásulógica:presionarelbotónledaráun"0" en lugar de un "1", pero el trabajo es el mismo: al presionar el botón, la entrada será de 0 V, si suelta el botón, la resistencia conectará la entrada al nivel de +5 V (con una caída de voltaje despreciable).
Esta es la forma en que se hace normalmente, y los fabricantes de microcontroladores tienen esto en cuenta: la mayoría de los microcontroladores tienen resistencias de pull-up internas, que puede activar o desactivar en el software. Si utiliza el pull-up interno, solo necesita conectar el botón a tierra, eso es todo. (Algunos microcontroladores también tienen menús desplegables configurables, pero estos son mucho menos comunes).