Add a button to this system

  • Now that you know how to blink the onboard LED with Arduino UNO
  • Add a button to this system so that only when you hit the button (or turn on the switch) the LED will be on

Pre-requisite:

  1. Successfully blinked the onboard LED via Starting to play with Arduino.

Objectives:

  1. Add an button/switch to the system.

Descriptions:

  1. A button/switch simply has two states, either connected or disconnected.
  2. Please reference to the Arduino Button tutorial

  3. Change the code so that if you press the button, the LED goes on for 2 seconds and then turn off.

    Modify the button example
    /*
      Button
     
     Turns on and off a light emitting diode(LED) connected to digital  
     pin 13, when pressing a pushbutton attached to pin 2. 
     
     
     The circuit:
     * LED attached from pin 13 to ground 
     * pushbutton attached to pin 2 from +5V
     * 10K resistor attached to pin 2 from ground
     
     * Note: on most Arduinos there is already an LED on the board
     attached to pin 13.
     
     
     created 2005
     by DojoDave <http://www.0j0.org>
     modified 30 Aug 2011
     by Tom Igoe
     
     This example code is in the public domain.
     
     http://www.arduino.cc/en/Tutorial/Button
     */
    
    // constants won't change. They're used here to 
    // set pin numbers:
    const int buttonPin = 2;     // the number of the pushbutton pin
    const int ledPin =  13;      // 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);     
        // turn LED off initially:    
      digitalWrite(ledPin, LOW);  
    }
    
    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);  
        // wait for 2 seconds:
        delay(2000);
        // turn LED off:    
        digitalWrite(ledPin, LOW);  
      } 
    }
  4. Switch the button to other pins (3~12 pin) and edit the programme accordingly to see if it still works.
  • No labels