Hi Leute
ich beschäftige mich seit einer Woche mit Arduino ... habe keiner lei vorkenntnisse da ich erst im 1.Ausbildungsjahr zum Mechatroniker bin
und habe mir dementsprechen ein Buch mit Aufgaben gekauft
nun hatte ich die Aufgabe eine LED mittels eines Tasters an und aus zu schalten wobei nach einem Tasterdruck die LED anbleiben soll und beim darauffolgendem Druck wieder ausgeht
dies wurde mir dann so vorgeschlagen >>>
int tasterpin = 8;
int tasterwert = 0;
int vorhertasterwert = 0;
int ledpin = 10;
int zaehler = 0;
void setup(){
pinMode (tasterpin, INPUT);
pinMode (ledpin, OUTPUT);
}
void loop(){
tasterwert = digitalRead(tasterpin);
if(vorhertasterwert != tasterwert){
if(tasterwert == HIGH){
zaehler++;
}
was ich jetzt nicht verstehe ist dieser Befehl:
if(vorhertasterwert != tasterwert)
genau genommen meine ich das "!="
nachdem ich diese Schaltung verstanden habe
soll ich nach dem gleichen Prinzip eine Schaltung aufbauen und natürlich
mit der Arduino Software schreiben dass ich eine Kette von LED mittels eines Tasters in einer Reihenfolge anschalten
tasterdruck>
led1 geht an
tasterdruck>
led1 bleibt an und led 2 geht an
tasterdruck>
led 1 +2 bleiben anund 3 geht an... usw
bis ich bei led 5 angekommen bin und alles wieder von vorne beginnt
mein Vorschlag (leider funktioniert das nicht):
int tasterpin = 8;
int tasterwert = 0;
int vorhertasterwert = 0;
int led0 = 2;
int led1 = 3;
int led2 = 4;
int led3 = 5;
int led4 = 6;
int zaehler = 0;
void setup(){
pinMode (tasterpin, INPUT);
pinMode (led0, OUTPUT);
pinMode (led1, OUTPUT);
pinMode (led2, OUTPUT);
pinMode (led3, OUTPUT);
pinMode (led4, OUTPUT);
}
void loop(){
tasterwert = digitalRead(tasterpin);
if(vorhertasterwert != tasterwert){
delay(10);
if(tasterwert == HIGH){
zaehler++;
}
}
vorhertasterwert = tasterwert;
if(zaehler>5) zaehler == 0;
digitalWrite(led0, LOW);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
if(zaehler == 1)
digitalWrite (led0, HIGH);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
if(zaehler == 2)
digitalWrite (led0, HIGH);
digitalWrite (led1, HIGH);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
if(zaehler == 3)
digitalWrite (led0, HIGH);
digitalWrite (led1, HIGH);
digitalWrite (led2, HIGH);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
if(zaehler == 4)
digitalWrite (led0, HIGH);
digitalWrite (led1, HIGH);
digitalWrite (led2, HIGH);
digitalWrite (led3, HIGH);
digitalWrite(led4, LOW);
if(zaehler == 5)
digitalWrite (led0, HIGH);
digitalWrite (led1, HIGH);
digitalWrite (led2, HIGH);
digitalWrite (led3, HIGH);
digitalWrite (led4, HIGH);
}
wie schon gesagt funktioniert das nicht
weil die ersten 4 LED durchgehend an gehen
und LED 5 einmal für 5 Tasterdrücke geschalten wird und dann einfach ausbleibt
UND JETZT ZU MEINEN FRAGEN
1.kann mir jemand diesen Befehl erklären
_if(vorhertasterwert != tasterwert)
2.wie löse ich die Aufgabe mit den 5 LEDs
Danke
gruss kevin l.