Most Simplest Toggle Switch With Arduino

48,198

10

6

Introduction: Most Simplest Toggle Switch With Arduino

About: An Electrical Engineering Teacher in Athens Greece. Most of these small projects here, are constructed for enhancing the learning of the use of Arduino as well as basic electricity and electronics for students…

Simple! I hope you like it! Enjoy to fool around!

Nothing more to say than in the commenting code...

Step 1: The Code

/*********************
Simple toggle switch
Created by: P.Agiakatsikas
*********************/

int button = 8;
int led = 13
int status = false;

void setup(){
pinMode(led, OUTPUT);
pinMode(button, INPUT_PULLUP); // set the internal pull up resistor, unpressed button is HIGH
}

void loop(){
//a) if the button is not pressed the false status is reversed by !status and the LED turns on
//b) if the button is pressed the true status is reveresed by !status and the LED turns off

if (digitalRead(button) == true) {
status = !status;
digitalWrite(led, status);
} while(digitalRead(button) == true);
delay(50); // keeps a small delay
}

Be the First to Share

    Recommendations

    • Make it Glow Contest

      Make it Glow Contest
    • First Time Author Contest

      First Time Author Contest
    • PCB Challenge

      PCB Challenge

    6 Discussions

    0
    Dyso
    Dyso

    9 months ago

    I changed it abit, see picture for pinning:

    int button = 7;
    int led = 12;
    int status = false;
    void setup(){
    pinMode(led, OUTPUT);
    pinMode(button, INPUT);
    }
    void loop(){
    //a) if the button is not pressed the false status is reversed by !status and the LED turns on
    //b) if the button is pressed the true status is reveresed by !status and the LED turns off
    if (digitalRead(button) == true) {
    status = !status;
    if(status==1){
    digitalWrite(led, HIGH);
    }
    else{
    digitalWrite(led, LOW);
    }
    } while(digitalRead(button) == true);
    delay(50); // keeps a small delay
    }

    Capture.PNG
    0
    eski55596
    eski55596

    11 months ago

    Can you please explain the use of INPUT_PULLUP.

    1
    Mursy Jesse
    Mursy Jesse

    Question 2 years ago on Step 1

    A great help, thanks! could you please xapin thw purpose of the "while" statemet at the end? i had to remove it as the code didnt seem to work with it in

    0
    eski55596
    eski55596

    Answer 11 months ago

    if the button is kept presses, WHILE Loop takes the charge and doesn't allow any further action but only after a little delay.

    0
    pagaldunia
    pagaldunia

    Question 2 years ago

    HI,

    Can we connect 8 push buttons to the Arduino Uno and Control 8 outputs as LED's ?

    0
    JoshuaM285
    JoshuaM285

    3 years ago

    Thank you for this, but I noticed two things that should be corrected.

    1. "int led = 3" is missing a ;

    2. The LED in the diagram is backwards.

    Great sample for a project I'm working on nonetheless. With a little troubleshooting I got it to work.