Frage von Bluberblab2003, 24

Arduino 5 Taster 1 Led?

Hallo,

ich wollte einfach mal etwas rum programmieren. Also habe ich eine Schatlung mit dem Arduino auf gebaut. 5 Taster, 5 LEDs. Ich habe die Taster an 5 V und mit Ground verbunden. über Minus sind Kabel die das Signal zum Arduino leiten, dahinter Wiederstände. Soweit alles gut. Die Schaltungen funktionieren im Einzelnen (mit Gerät überpüft) die LEDs auch.

Ich habe jetzt folgenden Scatch programmiert:

int ledPin = 13;
int ledPin1 = 12;
int ledPin2 = 11;
int ledPin3 = 10;
int ledPin4 = 9;





int tasterPin = 7;
int tasterPin1 = 6;
int tasterPin2 = 5;
int tasterPin3 = 4;
int tasterPin4 = 3;



void setup(){
  pinMode(ledPin,OUTPUT);
  pinMode(ledPin1,OUTPUT);
  pinMode(ledPin2,OUTPUT);
  pinMode(ledPin3,OUTPUT);
  pinMode(ledPin4,OUTPUT);

  pinMode(tasterPin,INPUT);
  pinMode(tasterPin1,INPUT);
  pinMode(tasterPin2,INPUT);
  pinMode(tasterPin3,INPUT);
  pinMode(tasterPin4,INPUT);
}

void loop(){
  if (digitalRead(tasterPin)==HIGH){
    digitalWrite(ledPin, HIGH);
  } else {
    digitalWrite(ledPin, LOW);
  }




    if (digitalRead(tasterPin1)==HIGH){
    digitalWrite(ledPin, HIGH);
  } else {
    digitalWrite(ledPin1, LOW);
  }





     if (digitalRead(tasterPin2)==HIGH){
    digitalWrite(ledPin, HIGH);
  } else {
    digitalWrite(ledPin2, LOW);
  }






    if (digitalRead(tasterPin3)==HIGH){
    digitalWrite(ledPin, HIGH);
  } else {
    digitalWrite(ledPin3, LOW);
  }







    if (digitalRead(tasterPin4)==HIGH){
    digitalWrite(ledPin, HIGH);
  } else {
    digitalWrite(ledPin4, LOW);
  }


















}

Wenn ich jetzt einen Taster drücke (egal welchen) geht immer die selbe LED an. Was habe ich falsch gemacht :C

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von Nube4618, 20
Software

Du schreibst bei State high immer auf denselben Ausgang (Ledpin), müssten durchnummeriert sein, wie bei low. 

Kommentar von Bluberblab2003 ,

Ähm, ich dummi Sprache, hähä :) aka. Code bsp?

Kommentar von Nube4618 ,

Ist alles ok. Einfach das korrigieren was ich geschrieben habe, dann wird es gehen. :-)

Kommentar von Bluberblab2003 ,

Achso, ich  bin so dumm, das passiert wenn man einfach dumm aus dem Internet kopiert :)

Kommentar von Nube4618 ,

Kein Problem, irgendwie muss ja mal anfangen. :-)

Antwort
von Nicodemus0815, 14

Ich sehe zwei Möglichkeiten.

1. Verbinde die Tasterpins über einen 10k Widerstand mit Masse, damit diese auch wirklich auf Masse liegen, wenn der Taster geöffnet ist.

2. Es fehlt die Hauptroutine "main" oder ähnliches in der die Routine "loop" zyklisch aufgerufen wird. Falls die Routine Loop deine Hauptroutine ist, dann muss da noch so etwas wie eine do .. while Schleife rein.

Kommentar von Bluberblab2003 ,

Ähm, ich dummi Sprache, hähä :) aka. Code bsp?

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten