Arduino Uno R3: Multiple Pushbuttons to Digital Input Pin
Learn how to code and assign multiple pushbutton to light up different LED.Materials Needed
- Arduino Uno R3 with cable.
- 1x Breadboard Solderless.
- 3x LED.
- 5x Pushbutton.
- 9x 220 ohm resistor.
- 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
}

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.