-
Notifications
You must be signed in to change notification settings - Fork 0
/
push_Button_RGB_LED.ino
73 lines (64 loc) · 1.98 KB
/
push_Button_RGB_LED.ino
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
/*
Dylan Sedeno 2022
Button
Turns on an RGB LED with one button pin 9, then cycles through six different colors with each press of same button
turns off RGB LED with other button pin 8
*/
#define RED 2 // defines which pin is used for red
#define GREEN 3 //defines which pin is used for green
#define BLUE 4 // defines which pin is used for blue
int buttonApin = 9;
int buttonBpin = 8;
int counter = 0; // is suppose to keep track of button presses to help with colors
void setup()
{
pinMode(RED, OUTPUT); // initializes the red pin as an output
pinMode(GREEN, OUTPUT); // initializes the green pin as an output
pinMode(BLUE, OUTPUT); // initializes the blue pin as an output
pinMode(buttonApin, INPUT_PULLUP); // initializes the pushbutton pin as an input
pinMode(buttonBpin, INPUT_PULLUP); // initializes the pushbutton pin as an input
}
void loop()
{
// NOTE try to change it to high first to see if problem fixes itself
if (digitalRead(buttonApin) == LOW && counter == 0) // read the state of the pushbutton value and what counters value is
{
setColor(255, 255, 0); //yellow
counter = 1;
}
else if (digitalRead(buttonApin) == HIGH && counter == 1)
{
setColor(255, 0, 255); //purple
counter = 2;
}
else if (digitalRead(buttonApin) == LOW && counter == 2)
{
setColor(255, 0, 0); // Red
counter = 3;
}
else if (digitalRead(buttonApin) == HIGH && counter == 3)
{
setColor(255, 255, 255); // white
counter = 4;
}
else if (digitalRead(buttonApin) == LOW && counter == 4)
{
setColor(0, 0, 255); // blue
counter = 5;
}
else if (digitalRead(buttonApin) == HIGH && counter == 5)
{
setColor(0, 255, 0); //green
}
if (digitalRead(buttonBpin) == LOW)
{
setColor(0, 0, 0); // off
counter = 0;
}
}
void setColor(int red, int green, int blue)
{
analogWrite(RED, red);
analogWrite(GREEN, green);
analogWrite(BLUE, blue);
}