Hallo :-)
ich habe mal einen Code für den Arduino geschrieben der ganz einfach
gehalten ist und ohne Probleme funktioniert.
Man kann mit einem Taster eine LED einschalten und wenn der Taster
erneut gedrückt wird wieder ausschalten und das ohne die Befehle millis
oder long oder delay und natürlich auch ohne goto.
Es gibt zahlreiche Beispiele u.a. auch von Arduino selbst wie z.B. der
Code Debounce. Dieser Programmcode ist aber größer als meiner und
zusätzlich muss man auch noch ein Widerstand an den Taster mit
anschließen was ich persönlich als unnütz empfinde, da prellfreies
Tasten auch ohne zusätzliche Bauteile funktioniert.
Hier mein Code:
1 | const int Taster=2;
|
2 | const int Led=8;
|
3 |
|
4 | int Status=0;
|
5 |
|
6 | void setup()
|
7 | {
|
8 | pinMode(Taster,INPUT);
|
9 | pinMode(Led,OUTPUT);
|
10 | }
|
11 |
|
12 | void loop()
|
13 | {
|
14 | if(digitalRead(Taster)!=LOW)
|
15 | {
|
16 | Status=0;
|
17 | }
|
18 |
|
19 | if((digitalRead(Taster)==LOW)&&(Status==0))
|
20 | {
|
21 | if(digitalRead(Led)!=HIGH)
|
22 | {
|
23 | digitalWrite(Led,HIGH);
|
24 | }
|
25 | else
|
26 | {
|
27 | digitalWrite(Led,LOW);
|
28 | }
|
29 |
|
30 | Status=1;
|
31 | }
|
32 | }
|
Der Taster muss mit GND verbunden werden. Man kann den Taster auch an
Vcc anschließen. Dazu müssen aber die Befehle für den Taster LOW durch
HIGH ersetzt werden.
Viel Spaß :)