Table of Contents
We all know switch is an input device and used; to make or break an electrical connection. Now let’s learn Interfacing of Switch and Arduino, Here we will use switch to take input signal to the microcontroller so that we will be able to interface more input devices to the microcontroller, like sensors output as input to microcontroller.
Required hardware or components for Interfacing of Switch with Arduino Uno
S.N. | Component | Quantity |
---|---|---|
1. | Arduino Uno | 1 |
2. | Breadboard | 1 |
3. | LED | 1 |
4. | Resistor 220 or 280 ohm | 1 |
5. | Resistor 1K = 1000 ohm | 1 |
6. | Switch / Button | 1 |
CIRCUIT DIAGRAM : INTERFACING OF SWITCH AND ARDUINO
CONNECTION TABLE
S.N. | Arduino | LED |
---|---|---|
1. | 13 | Anode (+) |
2. | GND | Cathode (-) |
S.N. | Arduino | Switch | Pull Down Resistor |
---|---|---|---|
1. | GND | One Terminal | |
2. | 2 (common to both) | One Terminal | Other terminal |
3. | +5V | Other terminal |
ARDUINO CODE : INTERFACING OF SWITCH AND ARDUINO
int buttonState = 0; void setup() { pinMode(2, INPUT); pinMode(13, OUTPUT); } void loop() { buttonState = digitalRead(2); if (buttonState == HIGH) { digitalWrite(13, HIGH); } else if (buttonState == LOW) { digitalWrite(13, LOW); } }
ARDUINO PROGRAMMING CODE EXPLANATION
Define a global variable buttonState, we will use this to read state of pin number 2. State of digital pin can be either LOW=0 or HIGH=1 set default to LOW(0)
int buttonState = 0;
Here we assigned pin number 2 as input and 13 as ouput of arduino using pinMode(pinNumber, mode) function.
void setup() { pinMode(2, INPUT); pinMode(13, OUTPUT); }
Here we are using a new inbuilt function that is digitalRead(pinNumber), it is just opposite to digitalWrite where we set two states (HIGH or LOW) of pin.
The digitalRead( ) function will read the state of the arduino pin, Here we read the state of pin number 2 of the arduino. After Reading the state of Digital pin 2, we will store the value to variable buttonState, So now buttonState value will be Either LOW=0 or HIGH=1
If the button is pressed down, that means current from the 5V power source can flow to pin number 2 of arduino which makes pin 2 state HIGH.
Now at this time if we read the state of pin number 2 using digitalRead( ) function then the value of buttonState is HIGH (1).
Now we will check, using if function does buttonState is HIGH, if yes, then make Pin number 13 also HIGH this will turn ON the Led connected on pin 13.
void loop() { buttonState = digitalRead(2); if (buttonState == HIGH) { digitalWrite(13, HIGH); }
Else If button is not pressed, that means buttonState read from pin number 2 is LOW, if LOW then make Pin number 13 also LOW this will turn OFF the Led connected on pin 13.
else if (buttonState == LOW) { digitalWrite(13, LOW); } }
As you press the button you find the LED to glow and as you release you find it OFF.
Read Next: BLINK LED USING SWITCH WITH ARDUINO
bee better