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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
|
/*
Arduino Tutorial 2.1 - RGB LED Farben per Taster wechseln
In diesem Tutorial geht es darum einer RGB-LED Farben zuzuweisen und diese eingestellten Farbprogramme mit einem Taster durchzuschalten.
by Scynd 2015
http://www.scynd.de/tutorials/arduino-tutorials.html
*/
// Konstanten
const int tasterPin = 2; // Taster an Pin 2 angeschlossen
const int rotPin = 10; // Rote LED an Pin 10 angeschlossen
const int gruenPin = 9; // Gruene LED an Pin 9 angeschlossen
const int blauPin = 11; // Blaue LED an Pin 11 angeschlossen
// Variablen
int lichtmodus = 0; // Variable für die verschiedenen festgelegten Farben
int tasterStatus = LOW; // Variable zu speichern des Tasterstatus
void setup()
{
pinMode(tasterPin, INPUT); // Setzt den TasterPin als Eingang
pinMode(rotPin, OUTPUT); // Setzt den LEDPin als Ausgang
pinMode(gruenPin, OUTPUT); // Setzt den LEDPin als Ausgang
pinMode(blauPin, OUTPUT); // Setzt den LEDPin als Ausgang
}
void loop()
{
// Abfrage ob der Taster gedrückt ist
tasterStatus = digitalRead(tasterPin);
// Wenn Taster gedrückt ist...
if (tasterStatus == HIGH)
{
lichtmodus++; // Lichtmodus +1
delay(300); // 300ms warten
}
//+++++++++++++++ LEUCHTPROGRAMME +++++++++++++++++
// Modus 0 = Licht aus
if (lichtmodus == 0)
{
analogWrite(blauPin, 0);
analogWrite(rotPin, 0);
analogWrite(gruenPin, 0);
}
// Modus 1 = Blau
else if (lichtmodus == 1)
{
analogWrite(blauPin, 255);
analogWrite(rotPin, 0);
analogWrite(gruenPin, 0);
}
// Modus 2 = Rot
else if (lichtmodus == 2)
{
analogWrite(blauPin, 0);
analogWrite(rotPin, 255);
analogWrite(gruenPin, 0);
}
// Modus 3 = Grün
else if (lichtmodus == 3)
{
analogWrite(blauPin, 0);
analogWrite(rotPin, 0);
analogWrite(gruenPin, 255);
}
// Modus 4 = Lila
else if (lichtmodus == 4)
{
analogWrite(blauPin, 255);
analogWrite(rotPin, 255);
analogWrite(gruenPin, 0);
}
// Modus 5 = Weiß
else if (lichtmodus == 5)
{
analogWrite(blauPin, 255);
analogWrite(rotPin, 255);
analogWrite(gruenPin, 255);
}
// Anzahl der Leutmodi auf 6 begrenzen. (0 bis 5)
else
{
lichtmodus = 0;
}
}
|