Arduino Uno R3: Multiple Pushbuttons to Digital Input Pin

Learn how to code and assign multiple pushbutton to light up different LED.
 

Materials Needed

  1. Arduino Uno R3 with cable.
  2. 1x Breadboard Solderless.
  3. 3x LED.
  4. 5x Pushbutton.
  5. 9x 220 ohm resistor.
  6. 13x Jumper.

To learn more details

Please refer to Multiple Push Buttons Guide.

Simple Programming Example

Basic code to Assign Multiple Pushbuttons to Digital Input Pin to light up different LED:

//LearnIoT Academy
//Multiple Pushbuttons
//any buttons light up LED

int buttonPin = A0;     //Button and LED pin numbers
int ledGreen = 2;
int ledRed = 3;
int ledYellow = 4;


void setup() 
{
    pinMode(ledGreen, OUTPUT);    //Define LED pins
    pinMode(ledRed, OUTPUT);
    pinMode(ledYellow, OUTPUT);
    Serial.begin(9600);           //Serial monitor used to determine limit values
}

void loop() {
  int temp = analogRead(buttonPin);   //Read the analogue input
  Serial.println(temp);               //Display the read value in the Serial monitor
  if (temp < 100)                     //Lower limit for first button - if below this limit then no button is pushed and LEDs are turned off
  {
    digitalWrite(ledGreen, LOW);
    digitalWrite(ledRed, LOW);
    digitalWrite(ledYellow, LOW);
  }
  else if (temp < 130)                //First button limit - if below this limit but above previous limit then the first button is pressed
  {
    digitalWrite(ledGreen, LOW);
    digitalWrite(ledRed, HIGH);
    digitalWrite(ledYellow, HIGH);
  }
    else if (temp < 160)                //First & Second button limit - if below this limit but above previous limit then the first & second button is pressed
  {
    digitalWrite(ledGreen, HIGH);
    digitalWrite(ledRed, HIGH);
    digitalWrite(ledYellow, HIGH);
  }

  else if (temp < 250)                //Second button limit
  {
    digitalWrite(ledGreen, HIGH);
    digitalWrite(ledRed, HIGH);
    digitalWrite(ledYellow, LOW);
  }
  else if (temp < 350)                //Third button limit
  {
    digitalWrite(ledGreen, LOW);
    digitalWrite(ledRed, LOW);
    digitalWrite(ledYellow, HIGH);
  }
  else if (temp < 850)                //Fourth button limit
  {
    digitalWrite(ledGreen, LOW);
    digitalWrite(ledRed, HIGH);
    digitalWrite(ledYellow, LOW);
  }
  else                                //If none of the previous buttons are pressed, then the fifth button must be pressed
  {
    digitalWrite(ledGreen, HIGH);
    digitalWrite(ledRed, LOW);
    digitalWrite(ledYellow, LOW);
  }
  delay(100);                         //Delay for stability
}
            
 
Below is a reference image for the wiring of the multiple push buttons:
learn

Summary

The Serial Monitor will show output for each different numbers and different buttons that were being pushed.
Different LED that light up after being pushed by multiple pushbuttons.