En el siguiente montaje se verá como utilizando un botón para conectar un led, será la primera vez que interactuemos directamente con el Arduino de forma física dándole una orden.

Los botones están en todas partes, con este montaje podréis ser “el dedo que apriete el botón”, espero que no sea para lanzar misiles nucleares a países enemigos.

Materiales empleados:

  • 1x Arduino UNO R3 +  Cable USB + Software en el PC
  • 1x Botón pulsador
  • 1x Resistencia 10kOhms
  • 4x Cables macho-macho de distintos colores

Montaje:

En este caso se conecta en un mismo punto el pin 2, un términal del botón y la resistencia que viene de GND. Ese punto estará por tanto a 0V.

El otro extremo del botón se conecta a +5V con el cable rojo, en el momento que se presiona el botón el pin2 pasa a estar a +5V y la resistencia de 10kOhms evita el cortocircuito con GND.

A esta configuración se le llama resistencia en Pull-down, porque establece un nivel de tensión de 0 por defecto en la entrada digital del pin 2. Se puede hacer otro montaje en el que la resistencia se coloque entre el pin digital y el de +5V y entonces el nivel de tensión por defecto es 1 y se le llama configuración con resistencia en Pull-up (se verá en el próximo montaje). Con la práctica se elige entre configuraciones pull-down o pull-up en función de las necesidades.

En principio es preferible la configuración Pull-down, dado que los componentes no quedan en tensión por defecto (más segura).

Código:

// Montaje 4: Encender un led con un pulsador (Button)
// Código revisado para Arduinopasoapaso
// Open Source (Código abierto)
 
// Estructura del programa:
 
// 1.- Bibliotecas (libraries)
 
// 2.- Definición de variables
 
const int pulsador = 2; // Tipo const int cuando no cambia su valor
const int led =  13;    // Tipo const int cuando no cambia su valor
 
boolean estadopulsador; // Tipo boolean cuando sólo puede
                        // valer 0 (LOW, 0V) o 1 (HIGH, +5V)
 
// 3.- Bucle inicial (setup) 
 
void setup() {
  pinMode(pulsador, INPUT); // Se declara el pin 2 como entrada
  pinMode(led, OUTPUT); // Se declara el pin 13 como salida
  Serial.begin(9600); // Se inicia el monitor serial
}
 
// 4.- Núcleo del programa
 
void loop() {
 
  estadopulsador = digitalRead(pulsador);
  
  if(estadopulsador == HIGH ){
    digitalWrite(led, HIGH); // Led encendido
    Serial.println("Pulsado"); // Se registra la pulsación
    delay(200); // Reduce la velocidad de registro
  }
  else{
    digitalWrite(led, LOW); // Led apagado
    Serial.println("No pulsado "); // Se registra ausencia de pulsación
    delay(500); // Reduce la velocidad de registro
  }
}
 
/* Fín del código */
https://arduinopasoapaso.wordpress.com/

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *