Arduino - Interruptor de conexión

Los botones o interruptores conectan dos terminales abiertos en un circuito. Este ejemplo enciende el LED en el pin 2 cuando presiona el interruptor de botón conectado al pin 8.

Resistencia pull-down

Las resistencias pull-down se utilizan en circuitos lógicos electrónicos para garantizar que las entradas a Arduino se establezcan en los niveles lógicos esperados si los dispositivos externos están desconectados o tienen alta impedancia. Como nada está conectado a un pin de entrada, no significa que sea un cero lógico. Las resistencias de bajada están conectadas entre la tierra y el pin apropiado en el dispositivo.

En la siguiente figura se muestra un ejemplo de una resistencia pull-down en un circuito digital. Un interruptor de botón está conectado entre el voltaje de suministro y un pin del microcontrolador. En un circuito de este tipo, cuando el interruptor está cerrado, la entrada del microcontrolador está en un valor lógico alto, pero cuando el interruptor está abierto, la resistencia desplegable tira del voltaje de entrada hacia el suelo (valor lógico cero), lo que evita un estado indefinido en la entrada.

La resistencia de pull-down debe tener una resistencia mayor que la impedancia del circuito lógico, o de lo contrario podría bajar demasiado el voltaje y el voltaje de entrada en el pin permanecería en un valor lógico bajo constante, independientemente de la posición del interruptor.

Componentes requeridos

Necesitará los siguientes componentes:

  • 1 × placa Arduino UNO
  • 1 × resistencia de 330 ohmios
  • 1 × resistencia de 4,7 K ohmios (desplegable)
  • 1 × LED

Procedimiento

Siga el diagrama del circuito y realice las conexiones como se muestra en la imagen que se muestra a continuación.

Bosquejo

Abra el software Arduino IDE en su computadora. La codificación en el lenguaje Arduino controlará su circuito. Abra un nuevo archivo de dibujo haciendo clic en Nuevo.

Código Arduino

// constants won't change. They're used here to
// set pin numbers:
const int buttonPin = 8; // the number of the pushbutton pin
const int ledPin = 2; // the number of the LED pin
// variables will change:
int buttonState = 0; // variable for reading the pushbutton status

void setup() {
   // initialize the LED pin as an output:
   pinMode(ledPin, OUTPUT);
   // initialize the pushbutton pin as an input:
   pinMode(buttonPin, INPUT);
}

void loop() {
   // read the state of the pushbutton value:
   buttonState = digitalRead(buttonPin);
   // check if the pushbutton is pressed.
   // if it is, the buttonState is HIGH:
   if (buttonState == HIGH) {
      // turn LED on:
      digitalWrite(ledPin, HIGH);
   } else {
      // turn LED off:
      digitalWrite(ledPin, LOW);
   }
}

Código a tener en cuenta

Cuando el interruptor está abierto, (el botón no está presionado), no hay conexión entre los dos terminales del botón, por lo que el pin está conectado a tierra (a través de la resistencia desplegable) y leemos un BAJO. Cuando el interruptor se cierra (se presiona el pulsador), hace una conexión entre sus dos terminales, conectando el pin a 5 voltios, de modo que leemos un ALTO.

Resultado

El LED se enciende cuando se presiona el botón y se apaga cuando se suelta.