Hey everyone! I need some help with my Arduino Project, it's very simple just I'm new to this and it's a bit confusing to me.
Build a circuit and an Arduino program that does the following: 1) There are two LEDs. There is a switch. 2) One LED is initially on, the other is initially off. 3) Each time you push the button (just push it, not hold it), it changes which LED is on.
Same as linked by @raschemmel but for 2 leds in opposite states, note you need to change these to match your setup
int inPin = 2; // the number of the input pin
int outPin = 13; // the number of the output pin
int outPin2 = 12; // the number of the output pin
/* switch
*
* Each time the input pin goes from LOW to HIGH (e.g. because of a push-button
* press), the output pin is toggled from LOW to HIGH or HIGH to LOW. There's
* a minimum delay between toggles to debounce the circuit (i.e. to ignore
* noise).
*
* David A. Mellis
* 21 November 2006
*/
int inPin = 2; // the number of the input pin
int outPin = 13; // the number of the output pin
int outPin2 = 12; // the number of the output pin
int state = HIGH; // the current state of the output pin
int reading; // the current reading from the input pin
int previous = LOW; // the previous reading from the input pin
// the follow variables are long's because the time, measured in miliseconds,
// will quickly become a bigger number than can be stored in an int.
long time = 0; // the last time the output pin was toggled
long debounce = 200; // the debounce time, increase if the output flickers
void setup()
{
pinMode(inPin, INPUT);
pinMode(outPin, OUTPUT);
pinMode(outPin2, OUTPUT);
}
void loop()
{
reading = digitalRead(inPin);
// if the input just went from LOW and HIGH and we've waited long enough
// to ignore any noise on the circuit, toggle the output pin and remember
// the time
if (reading == HIGH && previous == LOW && millis() - time > debounce) {
if (state == HIGH)
state = LOW;
else
state = HIGH;
time = millis();
}
digitalWrite(outPin, state);
digitalWrite(outPin2, !state);
previous = reading;
}
Edit.
I just realised that the OP may have 2 leds wired to the same pin, i.e one from VCC to the pin and the other from the pin to GND, in which case the original link from @raschemmel will suffice