Hello guys, I am probably gonna get laughed at here but I need help programming an LED. I got the SUPER basic program on turning an LED on when a pushbutton on my breadboard is pressed but the LED only turns on when I press it, and it goes off when I release it. I need a program where I press and release it once and the LED turns (and remains) on. And when I press and release it again the LED goes off. I am using an Arduino UNO.
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);
}
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, LOW);
}
else {
// turn LED off:
digitalWrite(ledPin, HIGH);
}
}
Normally the button would be between a pin ( set with a pullup in setup ) and ground,
so if you press the button and digitalRead the pin it will be low,
if (buttonState == HIGH) {
// turn LED on:
digitalWrite(ledPin, LOW);
Normally the LED is wired from the pin through a resistor to ground ( as is the built in LED on pin 13 ) so you would
digitalWrite(ledPin, HIGH) to switch it on
// check if the pushbutton is pressed.
// if it is, the buttonState is HIGH:
if (buttonState == HIGH) {
// turn LED on:
digitalWrite(ledPin, LOW);
}
else {
// turn LED off:
digitalWrite(ledPin, HIGH);
}
even when you get the logic sorted out, what you are doing is saying " if the buttons is pressed, light the LED' else ( otherwise ) turn it off.
So you might as well wire the LED to the button
when you have the logic levels sorted search for toggle.