Acabo de recibir mi primer Arduino y tenía una pregunta sobre las resistencias pull-up.
Estaba tratando de conectar un botón pulsador al Arduino en el pin 2, y si es ALTO, entonces escribo ALTO en el pin 13. Ahora, en el tutorial que vi, decía que tenía una resistencia desde el botón hasta tierra, así que si el pin 2 pregunta cuál es el voltaje, se pone a tierra, por lo que no escribe ALTO en el pin 13.
Probé esto y, de hecho, evitó el ruido del pin 2. Sin embargo, cuando intenté reemplazar la resistencia de 10k con un cable normal, no funcionó. Entonces, mi pregunta es ¿por qué tenemos que usar una resistencia y por qué no puede ser simplemente una conexión a tierra?
En este diagrama, el pin 2 lee si obtiene 5 V (ALTO) o 0 V (BAJO) y devuelve un valor booleano. Luego, si el valor es ALTO, el pin 13 emite ALTO. Además, parece que el cable largo del Arduino está bloqueando el etiquetado en un pin. El pin al que se conecta el cable largo dice "5V".
¡Gracias!
Tienes que usar una resistencia para que el botón pueda dominarlo. Si usa un trozo de cable, obtiene un cortocircuito entre Vcc y GND cuando presiona el botón, lo que no es tan bueno para el botón o el resto del tablero. El uso de una resistencia mantiene el pin en un nivel específico hasta que aparece algo 'más fuerte' (menor resistencia) y lo cambia (en este caso, el botón).
Actualización debido a la adición del diagrama.
Generalmente, los botones son interruptores. Un resorte de algún tipo los mantiene "apagados". Cuando presiona el botón, supera la fuerza del resorte y corta sus dos contactos, y luego está "encendido".
En tu caso, no tienes un pullup, tienes un pulldown. Un lado del interruptor está conectado a VCC (5V) y el otro lado está conectado a la resistencia que baja a GND. El pin IO también está conectado al lado de la resistencia del interruptor.
La razón por la que necesita una resistencia, que ha sido explicada por otros respondedores, es que si usa un cable, cada vez que presione el botón, 5V se acortarán directamente a GND. Usted menciona que probó esto y "no funcionó". No estoy seguro de qué significa "no funcionó" en este contexto, pero es probable que toda la placa se reinicie cada vez que haces eso. Espero que esto responda a todas sus preguntas. ¡Diviértete experimentando!
Um... aquí están mis 2 centavos...
cada microcontrolador (incluido el que se encuentra en el Arduino) tiene una limitación actual en sus pines. Entonces, cuando conecta las resistencias pull-up (o pull-down), debe asegurarse de que la corriente que pueden extraer esté dentro de las especificaciones del microcontrolador). Por lo tanto, necesita una resistencia alta para esto, pero no puede mantener una resistencia demasiado grande para que incluso las corrientes parásitas arruinen su circuito. Por lo general, se recomienda entre 10K y 20K.
FYI: soy un aficionado, no un ingeniero electrónico, así que use mi información bajo su propio riesgo :-P
Abhishek
keith
Nick Alexeev
Globmont
keith