miércoles, septiembre 3

Arduino Apagar/Encender un Led con botones

Componentes: 2 botones de 4 pines, un resistor de 330 omhs, arduino uno, medio protoboard y los cablecitos, lo que obtendremos sera que con el boton A encienda el led y con el boton B lo apague:


  
Ingresamos este codigo al Arduino UNO:

    /*
    Adafruit Arduino - Lesson 6. Inputs
    */    
    int ledPin = 5;
    int buttonApin = 9;
    int buttonBpin = 8;    
    byte leds = 0;    
    void setup()
    {
    pinMode(ledPin, OUTPUT);
    pinMode(buttonApin, INPUT_PULLUP);
    pinMode(buttonBpin, INPUT_PULLUP);
    }    
    void loop()
    {
    if (digitalRead(buttonApin) == LOW)
    {
    digitalWrite(ledPin, HIGH);
    }
    if (digitalRead(buttonBpin) == LOW)
    {
    digitalWrite(ledPin, LOW);
    }
    }


La primera parte se definen 3 variables de cada uno de los pines que se utilizan del Arduino (5,9 y 8), el buttonApin hace referencia al boton A y el buttonBpin hace referencia al boton B.

En la función "Setup" se asigna como variable de salida al ledPin (el numero 5) y las otras dos entradas como deben ser variables de entrada se utiliza el pinMode para asignarlos como tal.

La palabra reservada INPUT_PULLUP significa que sera utilizado como entrada, pero si no se encuentra nada mas conectado en el pin de entrada se tomara el valor de HIGH automaticamente, si no tomara el valor de LOW mientras el boton no se encuentre presionado.

Es por esa condicion de HIGH y LOW por la cual los botones se encuentran conectados a tierra para que no se encuentren con el valor LOW amenos que sean presionados.

Ahora para la condición solamente se ingresa en la función loop() para ver si el boton A se encuentra en tierra el led encendera, pero si el boton B se encuentra en tierra entonces se apagara.

    void loop()
    {
    if (digitalRead(buttonApin) == LOW)
    {
    digitalWrite(ledPin, HIGH);
    }
    if (digitalRead(buttonBpin) == LOW)
    {
    digitalWrite(ledPin, LOW);
    }
    }

Si el boton A se presiona el led encendera:


 Si el boton B es presionado el led se apagara:


Fuente
https://learn.adafruit.com/adafruit-arduino-lesson-6-digital-inputs/breadboard-layout