0% found this document useful (0 votes)
59 views

LED (Built-In LED) //PUSH BUTTON (ON On-Hold - Pulldown)

The document contains code snippets demonstrating different ways to use push buttons and LEDs in Arduino projects. Some key examples include: 1. Blinking an LED on and off when a button is pressed or released. 2. Using a button to toggle an LED on or off by checking the button's state each loop. 3. Making an LED blink at different rates depending on how many times a button has been pressed and held. 4. Detecting long or short button presses to trigger different LED patterns. The snippets show different button input modes, LED control, state tracking, and debouncing techniques.

Uploaded by

Jarod Ortega
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
59 views

LED (Built-In LED) //PUSH BUTTON (ON On-Hold - Pulldown)

The document contains code snippets demonstrating different ways to use push buttons and LEDs in Arduino projects. Some key examples include: 1. Blinking an LED on and off when a button is pressed or released. 2. Using a button to toggle an LED on or off by checking the button's state each loop. 3. Making an LED blink at different rates depending on how many times a button has been pressed and held. 4. Detecting long or short button presses to trigger different LED patterns. The snippets show different button input modes, LED control, state tracking, and debouncing techniques.

Uploaded by

Jarod Ortega
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 10

//LED (Built-in LED) //PUSH BUTTON (ON on-hold - pulldown)

void setup() int BUTTON = 4;


{ int LED = 2;
pinMode(LED_BUILTIN, OUTPUT); int STATE = 0;
} void setup()
void loop() {
{ pinMode(LED, OUTPUT);
digitalWrite(LED_BUILTIN, HIGH); pinMode(BUTTON, INPUT);
delay(1000); }
digitalWrite(LED_BUILTIN, LOW); void loop()
delay(1000); {
} STATE = digitalRead(BUTTON);
if (STATE == HIGH)
//LED (blinking) {
int LED = 2; digitalWrite(LED, HIGH);
void setup() }
{ else
pinMode(LED, OUTPUT); {
} digitalWrite(LED, LOW);
void loop() }
{ }
digitalWrite(LED, HIGH);
delay(1000); //PUSH BUTTON (ON/OFF)
digitalWrite(LED, LOW); int BUTTON = 4;
delay(1000); int LED = 2;
} int STATE = 0;
int CURRENT = 0;
//PUSH BUTTON (ON on-hold - pullup) void setup()
int BUTTON = 4; {
int LED = 2; pinMode(LED, OUTPUT);
int STATE = 0; pinMode(BUTTON, INPUT_PULLUP);
void setup() }
{ void loop()
pinMode(LED, OUTPUT); {
pinMode(BUTTON, INPUT_PULLUP); STATE = digitalRead(BUTTON);
} if (STATE == LOW)
void loop() {
{ if (CURRENT == 0)
STATE = digitalRead(BUTTON); {
if (STATE == LOW) digitalWrite(LED, HIGH);
{ CURRENT = 1;
digitalWrite(LED, HIGH); }
} else if (CURRENT == 1){
else digitalWrite(LED, LOW);
{ CURRENT = 0;
digitalWrite(LED, LOW); }
} }
} delay(200);
}
//PUSH BUTTON (MULTIFUNCTION) //PUSH BUTTON (Serial Monitor)
int BUTTON = 4; int BUTTON = 2;
int LED1 = 2; int STATE = 0;
int LED2 = 3; void setup()
int STATE = 0; {
int CURRENT = 0; pinMode (BUTTON, INPUT_PULLUP);
void setup() Serial.begin (9600);
{ }
pinMode(LED1, OUTPUT); void loop()
pinMode(LED2, OUTPUT); {
pinMode(BUTTON, INPUT_PULLUP); STATE = digitalRead(BUTTON);
} if (STATE == LOW)
void loop() {
{ Serial.println("PRESSED");
STATE = digitalRead(BUTTON); }
if (STATE == LOW) else if (STATE == HIGH)
{ {
if (CURRENT == 0) Serial.println("RELEASED");
{ }
digitalWrite(LED1, HIGH); }
digitalWrite(LED2, LOW);
CURRENT = 1; //PUSH BUTTON (DEBOUNCE – Serial Monitor)
} int BUTTON = 2;
else if (CURRENT == 1) int STATE = 0;
{ void setup()
digitalWrite(LED1, HIGH); {
digitalWrite(LED2, HIGH); pinMode (BUTTON, INPUT);
CURRENT = 2; Serial.begin (9600);
} }
else if (CURRENT == 2) void loop()
{ {
digitalWrite(LED, LOW); STATE = digitalRead(BUTTON);
digitalWrite(LED, LOW); if(STATE == 1)
CURRENT = 0; {
} delay(50);
} STATE = digitalRead(BUTTON);
delay(200); if(STATE == 0)
} {
Serial.println("PRESSED");
}
}
else
{
delay(100);
}
}
//PUSH BUTTON (LONG PRESS / SHORT PRESS – Serial //PUSH BUTTON (LONG PRESS / SHORT PRESS with
Monitor) Subprogram)
float PRESS = 0; float PRESS = 0;
int OPTION1 = 100; int OPTION1 = 100;
int OPTION2 = 2000; int OPTION2 = 2000;
int BUTTON = 2; int BUTTON = 2;
void setup() int LED1 = 3;
{ int LED2 = 4;
pinMode (BUTTON, INPUT_PULLUP); void setup()
Serial.begin (9600); {
} pinMode (BUTTON, INPUT_PULLUP);
void loop() pinMode (LED1, OUTPUT);
{ pinMode (LED2, OUTPUT);
while(digitalRead(BUTTON) == LOW) Serial.begin (9600);
{ }
delay(100); void loop()
PRESS = PRESS + 100; {
Serial.print("PRESS TIME = "); while(digitalRead(BUTTON) == LOW)
Serial.println(PRESS); {
} delay(100);
if (PRESS >= OPTION2) PRESS = PRESS + 100;
{ }
Serial.println("LONG PRESS"); if (PRESS >= OPTION2)
} {
else if(PRESS >=OPTION1) LongPress();
{ }
Serial.println("SHORT PRESS"); else if(PRESS >=OPTION1)
} {
PRESS = 0; ShortPress();
} }
PRESS = 0;
}
void LongPress()
{
digitalWrite(LED1, HIGH);
digitalWrite(LED2, LOW);
}
void ShortPress()
{
digitalWrite(LED1, LOW);
digitalWrite(LED2, HIGH);
}
//PUSH BUTTON (COUNT UP with RESET on Long Press if(digitalRead(BUTTON) == HIGH)
– Serial Monitor) {
int BUTTON = 2; CURRENT = OLD + 1;
int LONG = 1500; }
int PRESSTIME = 0; }
int PRESS = 0; else if (CURRENT == 1)
void setup() {
{ ButtonPress1();
pinMode (BUTTON, INPUT); }
Serial.begin (9600); else if(CURRENT == 2)
} {
void loop() ButtonPress2();
{ }
while(digitalRead(BUTTON) == HIGH) else if(CURRENT == 3)
{ {
delay(100); ButtonPress3();
PRESSTIME = PRESSTIME + 100; }
if(digitalRead(BUTTON) == LOW && PRESSTIME < else if(CURRENT == 4)
LONG) {
{ ButtonPress4();
PRESS = PRESS + 1; }
Serial.print("PRESSED "); }
Serial.println(PRESS); void ButtonPress1()
} {
else if (digitalRead(BUTTON) == LOW && PRESSTIME digitalWrite(LED, HIGH);
>= LONG) OLD = CURRENT;
{ }
Serial.println("RESET "); void ButtonPress2()
PRESS = 0; {
} digitalWrite(LED, HIGH);
} delay(500);
PRESSTIME = 0; digitalWrite(LED, LOW);
} delay(500);
OLD = CURRENT;
//PUSH BUTTON (MULTIPLE SUB-PROGRAM Debounce) }
int CURRENT = 0; void ButtonPress3()
int OLD = 0; {
int BUTTON = 2; digitalWrite(LED, HIGH);
int LED = 3; delay(100);
void setup() digitalWrite(LED, LOW);
{ delay(100);
pinMode (BUTTON, INPUT_PULLUP); OLD = CURRENT;
pinMode (LED, OUTPUT); }
} void ButtonPress4()
void loop() {
{ digitalWrite(LED, LOW);
if(digitalRead(BUTTON) == LOW) OLD = 0;
{ }
delay(50);
//TWO PUSH BUTTON (UP and DOWN – Debounce) else if(CURRENT == 3)
{
int CURRENT = 0; ButtonPress3();
int OLD = 0; }
int BUTTON1 = 1; else if(CURRENT == 4)
int BUTTON2 = 2; {
int LED1 = 3; ButtonPress4();
int LED2 = 4; }
int LED3 = 5; else if(CURRENT == 5)
int LED4 = 6; {
int LED5 = 7; ButtonPress5();
}
void setup() else if(CURRENT == 0)
{ {
pinMode (BUTTON1, INPUT_PULLUP); ButtonPress0();
pinMode (BUTTON2, INPUT_PULLUP); }
pinMode (LED1, OUTPUT); }
pinMode (LED2, OUTPUT);
pinMode (LED3, OUTPUT); void ButtonPress1()
pinMode (LED4, OUTPUT); {
pinMode (LED5, OUTPUT); digitalWrite(LED1, HIGH);
} digitalWrite(LED2, LOW);
digitalWrite(LED3, LOW);
void loop() digitalWrite(LED4, LOW);
{ digitalWrite(LED5, LOW);
if(digitalRead(BUTTON1) == LOW) OLD = CURRENT;
{ }
delay(50);
if(digitalRead(BUTTON1) == HIGH) void ButtonPress2()
{ {
CURRENT = OLD + 1; digitalWrite(LED1, HIGH);
} digitalWrite(LED2, HIGH);
} digitalWrite(LED3, LOW);
else if(digitalRead(BUTTON2) == LOW) digitalWrite(LED4, LOW);
{ digitalWrite(LED5, LOW);
delay(50); OLD = CURRENT;
if(digitalRead(BUTTON2) == HIGH) }
{
CURRENT = OLD - 1; void ButtonPress3()
} {
} digitalWrite(LED1, HIGH);
else if (CURRENT == 1) digitalWrite(LED2, HIGH);
{ digitalWrite(LED3, HIGH);
ButtonPress1(); digitalWrite(LED4, LOW);
} digitalWrite(LED5, LOW);
else if(CURRENT == 2) OLD = CURRENT;
{ }
ButtonPress2();
}
void ButtonPress4() //TWO PUSH BUTTON (7 segment count UP and DOWN)
{ int CURRENT = 0; int OLD = 0;
digitalWrite(LED1, HIGH); int BUTTON1 = 1; int BUTTON2 = 2;
digitalWrite(LED2, HIGH); int LEDa = 3; int LEDb = 4;
digitalWrite(LED3, HIGH); int LEDc = 5; int LEDd = 6;
digitalWrite(LED4, HIGH); int LEDe = 7; int LEDf = 8;
digitalWrite(LED5, LOW); int LEDg = 9;
OLD = CURRENT; void setup()
} {
void ButtonPress5() pinMode (BUTTON1, INPUT_PULLUP);
{ pinMode (BUTTON2, INPUT_PULLUP);
digitalWrite(LED1, HIGH); pinMode (LEDa, OUTPUT); pinMode (LEDb, OUTPUT);
digitalWrite(LED2, HIGH); pinMode (LEDc, OUTPUT); pinMode (LEDd, OUTPUT);
digitalWrite(LED3, HIGH); pinMode (LEDe, OUTPUT); pinMode (LEDf, OUTPUT);
digitalWrite(LED4, HIGH); pinMode (LEDg, OUTPUT);
digitalWrite(LED5, HIGH); }
OLD = 5; void loop()
} {
void ButtonPress0() if(digitalRead(BUTTON1) == LOW)
{ { delay(50);
digitalWrite(LED1, LOW); if(digitalRead(BUTTON1) == HIGH)
digitalWrite(LED2, LOW); {CURRENT = OLD + 1;}
digitalWrite(LED3, LOW); }
digitalWrite(LED4, LOW); else if(digitalRead(BUTTON2) == LOW)
digitalWrite(LED5, LOW); { delay(50);
OLD = 0; if(digitalRead(BUTTON2) == HIGH)
} {CURRENT = OLD - 1;}
}
else if (CURRENT == 1)
{ButtonPress1();}
else if(CURRENT == 2)
{ButtonPress2();}
else if(CURRENT == 3)
{ButtonPress3();}
else if(CURRENT == 4)
{ButtonPress4();}
else if(CURRENT == 5)
{ButtonPress5();}
else if(CURRENT == 6)
{ButtonPress6();}
else if(CURRENT == 7)
{ButtonPress7();}
else if(CURRENT == 8)
{ButtonPress8();}
else if(CURRENT == 9)
{ButtonPress9();}
else if(CURRENT == 0)
{ButtonPress0();}
}
void ButtonPress1() digitalWrite(LEDd, HIGH);
{ digitalWrite(LEDa, LOW); digitalWrite(LEDe, HIGH);
digitalWrite(LEDb, HIGH); digitalWrite(LEDf, HIGH);
digitalWrite(LEDc, HIGH); digitalWrite(LEDg, HIGH);
digitalWrite(LEDd, LOW); OLD = CURRENT; }
digitalWrite(LEDe, LOW); void ButtonPress7()
digitalWrite(LEDf, LOW); { digitalWrite(LEDa, HIGH);
digitalWrite(LEDg, LOW); digitalWrite(LEDb, HIGH);
OLD = CURRENT; } digitalWrite(LEDc, HIGH);
void ButtonPress2() digitalWrite(LEDd, LOW);
{ digitalWrite(LEDa, HIGH); digitalWrite(LEDe, LOW);
digitalWrite(LEDb, HIGH); digitalWrite(LEDf, LOW);
digitalWrite(LEDc, LOW); digitalWrite(LEDg, LOW);
digitalWrite(LEDd, HIGH); OLD = CURRENT; }
digitalWrite(LEDe, HIGH); void ButtonPress8()
digitalWrite(LEDf, LOW); { digitalWrite(LEDa, HIGH);
digitalWrite(LEDg, HIGH); digitalWrite(LEDb, HIGH);
OLD = CURRENT; } digitalWrite(LEDc, HIGH);
void ButtonPress3() digitalWrite(LEDd, HIGH);
{ digitalWrite(LEDa, HIGH); digitalWrite(LEDe, HIGH);
digitalWrite(LEDb, HIGH); digitalWrite(LEDf, HIGH);
digitalWrite(LEDc, HIGH); digitalWrite(LEDg, HIGH);
digitalWrite(LEDd, HIGH); OLD = CURRENT; }
digitalWrite(LEDe, LOW); void ButtonPress9()
digitalWrite(LEDf, LOW); { digitalWrite(LEDa, HIGH);
digitalWrite(LEDg, HIGH); digitalWrite(LEDb, HIGH);
OLD = CURRENT; } digitalWrite(LEDc, HIGH);
void ButtonPress4() digitalWrite(LEDd, LOW);
{ digitalWrite(LEDa, LOW); digitalWrite(LEDe, LOW);
digitalWrite(LEDb, HIGH); digitalWrite(LEDf, HIGH);
digitalWrite(LEDc, HIGH); digitalWrite(LEDg, HIGH);
digitalWrite(LEDd, LOW); OLD = 9; }
digitalWrite(LEDe, LOW); void ButtonPress0()
digitalWrite(LEDf, HIGH); { digitalWrite(LEDa, HIGH);
digitalWrite(LEDg, HIGH); digitalWrite(LEDb, HIGH);
OLD = CURRENT; } digitalWrite(LEDc, HIGH);
void ButtonPress5() digitalWrite(LEDd, HIGH);
{ digitalWrite(LEDa, HIGH); digitalWrite(LEDe, HIGH);
digitalWrite(LEDb, LOW); digitalWrite(LEDf, HIGH);
digitalWrite(LEDc, HIGH); digitalWrite(LEDg, LOW);
digitalWrite(LEDd, HIGH); OLD = 0; }
digitalWrite(LEDe, LOW);
digitalWrite(LEDf, HIGH);
digitalWrite(LEDg, HIGH);
OLD = CURRENT; }
void ButtonPress6()
{ digitalWrite(LEDa, HIGH);
digitalWrite(LEDb, LOW);
digitalWrite(LEDc, HIGH);
// LED FADING // LED RGB (Red Green Blue)
int LED = 3; //pin with Pulse Width Modulation int RLED = 9; //pin with Pulse Width Modulation
int BRIGHTNESS = 0; int GLED = 10; //pin with Pulse Width Modulation
int FADE = 5; int BLED = 11; //pin with Pulse Width Modulation
void setup() void setup()
{ {
pinMode(LED, OUTPUT); pinMode(RLED, OUTPUT);
} pinMode(GLED, OUTPUT);
void loop() pinMode(BLED, OUTPUT);
{ }
analogWrite(LED, BRIGHTNESS); void loop()
BRIGHTNESS = BRIGHTNESS + FADE; {
if (BRIGHTNESS == 0 || BRIGHTNESS == 255) DigitalWrite(RLED, LOW);
{ digitalWrite(GLED, LOW);
FADE = -FADE; digitalWrite(BLED, LOW);
} delay(1000);
delay(30); digitalWrite(RLED, HIGH);
} digitalWrite(GLED, LOW);
digitalWrite(BLED, LOW);
// POTENTIOMETER delay(1000);
int VAR = A0; digitalWrite(RLED, LOW);
int LED = 2; digitalWrite(GLED, HIGH);
int VARVALUE = 0; digitalWrite(BLED, LOW);
int TRESHOLD = 0; delay(1000);
void setup() digitalWrite(RLED, LOW);
{ digitalWrite(GLED, LOW);
pinMode(LED, OUTPUT); digitalWrite(BLED, HIGH);
Serial.begin(9600); delay(1000);
} digitalWrite(RLED, HIGH);
void loop() digitalWrite(GLED, HIGH);
{ digitalWrite(BLED, LOW);
VARVALUE = analogRead(VAR); delay(1000);
analogWrite(LED, BRIGHTNESS); digitalWrite(RLED, LOW);
if (VARVALUE > TRESHOLD)) digitalWrite(GLED, HIGH);
{ digitalWrite(BLED, HIGH);
digitalWrite(LED, HIGH); delay(1000);
} digitalWrite(RLED, HIGH);
else digitalWrite(GLED, LOW);
{ digitalWrite(BLED, HIGH);
digitalWrite(LED, LOW); delay(1000);
} digitalWrite(RLED, HIGH);
Serial.println(VARVALUE); digitalWrite(GLED, HIGH);
delay(10); digitalWrite(BLED, HIGH);
} delay(1000);
}
// LED RGB SPECTRUM //LED RGB SPECTRUM (1 Button and 1 Potentiometer)
int RLED = 9; //pin with Pulse Width Modulation int CURRENT = 0;
int GLED = 10; //pin with Pulse Width Modulation int OLD = 0;
int BLED = 11; //pin with Pulse Width Modulation int BUTTON = 2;
int TIME = 10; int RLED = 9; //pin with Pulse Width Modulation
void setup() int GLED = 10; //pin with Pulse Width Modulation
{ int BLED = 11; //pin with Pulse Width Modulation
pinMode(RLED, OUTPUT); int VAR = A0;
pinMode(GLED, OUTPUT); int VARR = 0;
pinMode(BLED, OUTPUT); int VARG = 0;
} int VARB = 0;
void loop() int RINTENSITY = 0;
{ int GINTENSITY = 0;
int X; int BINTENSITY = 0;
for (X = 0; X < 768; X++) void setup()
{ {
ShowSpectrum(X); pinMode (BUTTON, INPUT_PULLUP);
delay(TIME); pinMode(RLED, OUTPUT);
} pinMode(GLED, OUTPUT);
} pinMode(BLED, OUTPUT);
void ShowSpectrum(int COLOR) }
{ void loop()
int RINTENSITY; {
int GINTENSITY; if(digitalRead(BUTTON) == LOW)
int BINTENSITY; {
if (COLOR <= 255) delay(50);
{ if(digitalRead(BUTTON) == HIGH)
RINTENSITY = 255 - COLOR; {
GINTENSITY = COLOR; CURRENT = OLD + 1;
BINTENSITY = 0; VARR = VARR;
} VARG = VARG;
else if (COLOR <= 511) VARB = VARB;
{ }
RINTENSITY = 0; }
GINTENSITY = 255 - (COLOR - 256); else if (CURRENT == 1)
BINTENSITY = (COLOR - 256); {
} ButtonPress1();
else }
{ else if(CURRENT == 2)
RINTENSITY = (COLOR - 512); {
GINTENSITY = 0; ButtonPress2();
BINTENSITY = 255 - (COLOR - 512); }
} else if(CURRENT == 3)
analogWrite(RLED, RINTENSITY); {
analogWrite(GLED, GINTENSITY); ButtonPress3();
analogWrite(BLED, BINTENSITY); }
} }
void ButtonPress1()
{
VARR = analogRead(VAR);
RINTENSITY = VARR/1023*255;
GINTENSITY = VARG/1023*255;
BINTENSITY = VARB/1023*255;
analogWrite(RLED, RINTENSITY);
analogWrite(GLED, GINTENSITY);
analogWrite(BLED, BINTENSITY);
OLD = CURRENT;
}
void ButtonPress2()
{
VARG = analogRead(VAR);
RINTENSITY = VARR/1023*255;
GINTENSITY = VARG/1023*255;
BINTENSITY = VARB/1023*255;
analogWrite(RLED, RINTENSITY);
analogWrite(GLED, GINTENSITY);
analogWrite(BLED, BINTENSITY);
OLD = CURRENT;
}
void ButtonPress3()
{
VARB = analogRead(VAR);
RINTENSITY = VARR/1023*255;
GINTENSITY = VARG/1023*255;
BINTENSITY = VARB/1023*255;
analogWrite(RLED, RINTENSITY);
analogWrite(GLED, GINTENSITY);
analogWrite(BLED, BINTENSITY);
OLD = 0;
}

You might also like