Cómo usar un interruptor de botón Push con el Arduino

How to Use a Push Button Switch with the Arduino

Los interruptores de botón Push se usan comúnmente en electrónica para controlar dispositivos o activar acciones específicas. Con un Arduino, puede leer fácilmente el estado de un botón Push y usarlo en sus proyectos. Este tutorial lo guiará a través de la configuración y el uso de un interruptor de botón Push con el Arduino, junto con ejemplos de cómo incorporarlo en su código.


Lo que necesitarás

  1. Arduino Board (por ejemplo, Uno, Mega, Nano)
  2. Push Button Switch
  3. Resistencia de 10k-ohmios (para configuración desplegable)
  4. Cables de placa y jersey
  5. Una computadora con el Arduino IDE instalado

Paso 1: Comprensión de los interruptores del botón

Un interruptor de botón Push es un dispositivo simple que conecta o desconecta un circuito cuando se presiona. Por lo general, tiene cuatro pines, dos de los cuales están conectados internamente, formando un solo interruptor.

Configuraciones comunes

  • Resistencia desplegable: Asegura que el pin de entrada se lea bajo cuando no se presiona el botón.
  • Resistencia pull-up: Asegura que el pin de entrada se lea alto cuando no se presiona el botón (puede usar la resistencia pull-up interna de Arduino).

Paso 2: Cableado el botón Push a Arduino

Configuración de resistencia desplegable

Alfiler Conexión
Un lado Arduino pin 2
Otro lado 5V
Resistencia (10k) Arduino Pin 2 a GND

Paso 3: Leer el estado del botón

Usar el digitalRead() función para determinar si el botón está presionado (alto) o no (bajo).

Código de ejemplo: lectura del botón básico

#define buttonPin 2 // Button connected to pin 2

void setup() {
  pinMode(buttonPin, INPUT); // Set pin 2 as input
  Serial.begin(9600);
  Serial.println("Button Test");
}

void loop() {
  int buttonState = digitalRead(buttonPin); // Read the button state

  if (buttonState == HIGH) {
    Serial.println("Button Pressed");
  } else {
    Serial.println("Button Released");
  }

  delay(100); // Small delay for readability
}

Paso 4: Usando la resistencia de pulverización interna

El Arduino tiene resistencias pull-up incorporadas que pueden simplificar el cableado eliminando la necesidad de una resistencia externa.

Cableado para pull-up interno

Alfiler Conexión
Un lado Arduino pin 2
Otro lado Gnd

Código de ejemplo: Uso de pull-up interno

#define buttonPin 2 // Button connected to pin 2

void setup() {
  pinMode(buttonPin, INPUT_PULLUP); // Enable internal pull-up resistor
  Serial.begin(9600);
  Serial.println("Button Test with Pull-Up");
}

void loop() {
  int buttonState = digitalRead(buttonPin); // Read the button state

  if (buttonState == LOW) { // LOW means button is pressed
    Serial.println("Button Pressed");
  } else {
    Serial.println("Button Released");
  }

  delay(100); // Small delay for readability
}

Paso 5: desacreditar el botón

Los botones mecánicos a menudo producen ruido o "rebotes" cuando se presionan, causando múltiples lecturas. El desunción garantiza lecturas estables.

Código de ejemplo: desacreditar un botón

#define buttonPin 2 // Button connected to pin 2

unsigned long lastDebounceTime = 0;
unsigned long debounceDelay = 50; // 50ms debounce time
int lastButtonState = HIGH;
int buttonState;

void setup() {
  pinMode(buttonPin, INPUT_PULLUP);
  Serial.begin(9600);
}

void loop() {
  int reading = digitalRead(buttonPin);

  // If the button state has changed, reset the debounce timer
  if (reading != lastButtonState) {
    lastDebounceTime = millis();
  }

  // Check if the debounce time has passed
  if ((millis() - lastDebounceTime) > debounceDelay) {
    if (reading != buttonState) {
      buttonState = reading;

      if (buttonState == LOW) {
        Serial.println("Button Pressed");
      }
    }
  }

  lastButtonState = reading;
}

Paso 6: controlar un LED con el botón

Puede usar el botón para controlar un LED. Por ejemplo, alterne el estado LED con cada botón presione.

Código de ejemplo: el botón Toggla LED

#define buttonPin 2 // Button connected to pin 2
#define ledPin 13   // LED connected to pin 13

bool ledState = false;
bool lastButtonState = HIGH;

void setup() {
  pinMode(buttonPin, INPUT_PULLUP);
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, LOW);
}

void loop() {
  int buttonState = digitalRead(buttonPin);

  if (buttonState == LOW && lastButtonState == HIGH) {
    ledState = !ledState; // Toggle LED state
    digitalWrite(ledPin, ledState ? HIGH : LOW);
    delay(200); // Debounce delay
  }

  lastButtonState = buttonState;
}

Aplicaciones de los botones PUSH

  1. Interruptores de inicio/parada
  2. Entrada del usuario para seleccionar modos
  3. Restablecer botones en circuitos
  4. Controlar iluminación o electrodomésticos

Solución de problemas

  • Botón no responde: Verifique el cableado y asegúrese de que se use el PinMode correcto.
  • Lecturas inestables: Agregue la lógica de desbloqueo o use una resistencia de pull-up/tracción.
  • LED no iluminación: Confirme la orientación LED y use una resistencia para limitar la corriente.

Conclusión

Has aprendido a usar un interruptor de botón Push con el Arduino, incluida la lectura de su estado, el desaceleración y los dispositivos de control como LED. Los botones PUSH son un componente fundamental en electrónica, y dominar su uso se abrirá interminable PO

Escribir un comentario

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.