Taster aktiviert LED nicht

Guten Abend,

ich beschäftige mich noch nicht sehr lange mit meinem Arduino UNO und Mikrocontroller. Habt bitte etwas Nachsicht. Ich lese arbeite vorerst nach einem Buch und versuchte eines der erstern Beispiele aus dieser Literatur umzusetzten.

Hier ist mein Code:

/*
  Autor: Tetris
  Datum: 23-12-2012
  
  Inhalt: LED leuchtet erst auf Knopfdruck
  Erweiterung: Eine zweite und dritte LED werden jeweils umgekehrt mit dem Taster angesprochen
*/

int ledPin = 13; //Port fuer die LED auf dem Arduino UNO
int ledPin2 = 4; //zweiter LED-Ausgang für LED ohne Taster

int ledPin3 = 7;

int tasterPin = 8; // Analog zu LED
int tasterStatus = 0; //Tasterstatus wird in dieser Variable hinterlegt


void setup(){
  pinMode(ledPin, OUTPUT); //LED-Pin als Ausgang
  pinMode(tasterPin, INPUT); //Taster als Eingang
  pinMode(ledPin2, OUTPUT);
  pinMode(ledPin3, OUTPUT);
}

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

Die dritte LED will leider nicht arbeiten. Zuerst nahm ich an, ich hätte sie falsch angeschlossen. Wechsel ich dann aber die Kabel von LED#1 und LED#3 leuchtet weiterhin die dritte LED nicht.
Manche ich einen grundlegenden Fehler mit dem Arduino UNO? Liegt vielleicht ein groberer Anfängerfehler mit dem Controller oder der Programmierung vor?

Würde mich freuen, wenn mich jemand auf den richtigen Weg führt. Danke.

Schönen Abend

Tetris

Tetris:
Liegt vielleicht ein groberer Anfängerfehler mit dem Controller oder der Programmierung vor?

Schaltung? Polung?

Das D in LED steht für "Diode", das ist ein Bauteil, das Strom nur in eine Richtung durchläßt.

LEDs werden in Durchlassrichtung betrieben, bist Du sicher, dass Du die LED nicht verpolt angeschlossen hast?

Ansonsten: Was für LEDs sind das (Typ, Daten)? Mit welchem Vorwiderstand betrieben?

Die Beinchen der Atmega-Controller können jedes nur 40 mA Maximalstrom vertragen, wenn Du nun deutlich mehr Strom rausziehst als zulässig (z.B. durch Kurzschluss oder Überlastung), dann kannst Du jedes einzelne Beinchen des Controllers totschmoren, dass es nicht mehr zuckt, jedes für sich. Dann kannst Du den Controller nur noch für Experimente verwenden, die das oder die totgeschmorten Beinchen nicht benötigen und mußt andere verwenden.

hi,

die frage ist, ob immer die gleiche LED nicht leuchtet, oder immer die LED am ledpin3.

gruß stefan

Ich arbeite mit einem Buch. Ich finde die Darstellung dort recht gelungen und habe meine Schaltung mit dem Programm Fritzing nachgebaut. Die LEDs sind mit der Anode (langes Beinchen) direkt hinter dem Widerstand gesteckt.

Die LEDs sind im Reichelt-Katelog so gelistet:

LED 5MM ST GE LED, 5mm, Standard, gelb
LED 5MM ST RT LED, 5mm, Standard, rot

Die gelbe LED leuchtet direkt von Beginn an. Die roten LEDs sollen nur aktiviert werden, wenn der Taster gedrückt ist. Ich dachte, es müsste so funktionieren.

Korrekt sind die gelbe LED und die erste rote LED. Nur die LED am ledPin3 funktioniert nicht. Ich habe die Verkabelung der beiden roten LEDs getauscht (Kabel aus Pin7 in Buchse 13 auf dem Streckbrett und Kabel aus Pin 13 in Buchse 7 auf dem Steckbrett), dennoch leuchtet die LED an ledPin3 nicht.

Tetris:
Nur die LED am ledPin3 funktioniert nicht. Ich habe die Verkabelung der beiden roten LEDs getauscht (Kabel aus Pin7 in Buchse 13 auf dem Streckbrett und Kabel aus Pin 13 in Buchse 7 auf dem Steckbrett), dennoch leuchtet die LED an ledPin3 nicht.

Schaltung sieht soweit OK aus. Taster mit PullDown-Widerstand, LEDs mit passenden Vorwiderständen.

Deine Beschreibung deutet auf eine defekte LED hin.
Oder einen defekten Kontakt im Steckbrett.

Hast Du denn mal auf dem Steckbrett die Plätze einer funktionierenden LED mit der nicht funktionierenden LED getauscht?
Resultat?

Hast Du ein Multimeter mit Volt-Messbereich, um die Ausgangsspannungen Deiner Digital-I/O am Arduino (bzw. am Steckbrett) prüfen zu können?

Das scheint mir ein kaputtes Pin 7 zu sein.
Hast Du versucht statt pin 7 ein anderes Pin zB 8 zu verwenden?
Grüße Uwe

uwefed:
Das scheint mir ein kaputtes Pin 7 zu sein.
Hast Du versucht statt pin 7 ein anderes Pin zB 8 zu verwenden?
Grüße Uwe

Guten Morgen Uwe,

das ist genau der Punkt den ich nicht ganz verstehe. Tausche ich die Kabel von Pin 13 und Pin 7 um leuchtet wieder die gleiche LED bei Tasterdruck auf.
Bsp.: Pin 4 -> gelbe LED, Pin 7 -> rote LED (unten), Pin 13 -> rote LED (oben), so leuchten nur die untere rote und die gelbe LED. Interessanter Weise allerdings auch die eingebaute LED auf dem Board die mit Pin 13 verbunden ist. Kann vielleicht doch etwas an der Programmierung falsch sein? Scheint mir aber ziemlich einleuchtet so zu sein, wie es im Code steht?

Grüße

Tetris:
Guten Morgen Uwe,

das ist genau der Punkt den ich nicht ganz verstehe. Tausche ich die Kabel von Pin 13 und Pin 7 um leuchtet wieder die gleiche LED bei Tasterdruck auf.
Bsp.: Pin 4 -> gelbe LED, Pin 7 -> rote LED (unten), Pin 13 -> rote LED (oben), so leuchten nur die untere rote und die gelbe LED. Interessanter Weise allerdings auch die eingebaute LED auf dem Board die mit Pin 13 verbunden ist. Kann vielleicht doch etwas an der Programmierung falsch sein? Scheint mir aber ziemlich einleuchtet so zu sein, wie es im Code steht?

Grüße

Wenn Du die Leds-Vorwiderstände direkt statt an den Arduinoausgang an die Versorgungsspannung anschließt leuchten dann alle LEDs?
Grüße Uwe

uwefed:

Tetris:
Guten Morgen Uwe,

das ist genau der Punkt den ich nicht ganz verstehe. Tausche ich die Kabel von Pin 13 und Pin 7 um leuchtet wieder die gleiche LED bei Tasterdruck auf.
Bsp.: Pin 4 -> gelbe LED, Pin 7 -> rote LED (unten), Pin 13 -> rote LED (oben), so leuchten nur die untere rote und die gelbe LED. Interessanter Weise allerdings auch die eingebaute LED auf dem Board die mit Pin 13 verbunden ist. Kann vielleicht doch etwas an der Programmierung falsch sein? Scheint mir aber ziemlich einleuchtet so zu sein, wie es im Code steht?

Grüße

Wenn Du die Leds-Vorwiderstände direkt statt an den Arduinoausgang an die Versorgungsspannung anschließt leuchten dann alle LEDs?
Grüße Uwe

Entschuldige die blöde Rückfrage, meinst du ich soll die LEDs mit Widerstand an die Buchse die mit + auf meinen Steckbrett gekennzeichnet ist einstecken. Also die Buchse, wo auch der Taster angeschlossen ist?

Zwei LEDs leuchten dann durchgehend. Die dritte leuchtet allerdings nicht. Verstehe ich das richtig, dass das Arduino an jedem Port 40 mA parallel schafft?

Genau so.
Dann ist es wahrscheinlich, daß etwas mit der LED die nicht leuchtet nicht stimmt. Hast Du sie Verkehrt eingesteckt (einfach mal versuchen umzudrehen). Oder macht etwas nicht richtig Kontakt? versuche eine andere LED zu nehmen.
Grüße Uwe

uwefed:
Genau so.
Dann ist es wahrscheinlich, daß etwas mit der LED die nicht leuchtet nicht stimmt. Hast Du sie Verkehrt eingesteckt (einfach mal versuchen umzudrehen). Oder macht etwas nicht richtig Kontakt? versuche eine andere LED zu nehmen.
Grüße Uwe

Es muss einfach an mir liegen. Ich habe alles vom Steckbrett abgezogen und nur die LEDs und Widerstände mit Betriebsspannung betrieben. Leuchten selbstverständlich alle. Ich baue es einfach nochmals auf und achte noch gewissenhafter auf die Verkabelung. Schade, dass es unsinnig ist ein Bild hochzuladen, mit den vielen Kabel kann man nichts mehr erkennen. Vielleicht sollte ich mir solch ein große Steckbrett zulegen und nicht auf diesem daumengroßen Ersatz arbeiten.

Heißt das daß es immernoch nicht geht?
Grüße Uwe

uwefed:
Heißt das daß es immernoch nicht geht?
Grüße Uwe

Leider nein. Es kann langsam nicht wahr sein. Es muss irgendwo ein Defekt vorliegen. Ich kann mir das Verhalten leider gar nicht erklären. Langsam verzweifel ich wirklich.
Werde eine Pause einlegen und später nochmals darüber nachdenken, ich weiß aktuell keine Lösung.

Ich kann es nicht fassen. Ich musste es einfach nochmals probieren. Dieses Mal versuchte ich es mit anderen Kabeln. Es hat geklappt. Alle LEDs leuchten oder eben auch nicht. Vielleicht habe ich ein Kabel beschädigt. Der Stromkreis war offensichtlich nicht geschlossen. Danke für die Unterstützung bei der Fehlersuche. Werde die Kabel durchtesten in den folgenden Tagen. So kann natürlich kein Ergebnis zu Stande kommen. Es war zudem noch ein Kabel aus dem neu gekauften Kabelsatz.
Es tut mir leid, dass es am Ende so etwas triviales war. Ich hatte nach dem Abziehen der Kabel wohl immer wieder das defekte Kabel in der Schaltung dabei.

Gut, gratuliere.
Uwe

Hallo Tetris,

das ist ein extrem unangenehmes, aber bekanntes Problem...
Stell dir mal vor, du sitzt 3 Tage an der Steuerung eines ICs und wunderst dich, das nichts geht, bis dir auffällt, das ein Kabel defekt ist )x

Ein Mist mit diesen China Kabeln!

Gruß,
Tobias

Das kann nicht nur mit Kabeln passeren sondern mit allem was man bei einem Fehler / Problem als Fehlerquelle generell ausschließt, weil es auf den ersten Blick nicht sein kann.
Grüße Uwe

Nun habe ich in jedem Fall an Erfahrung gewonnen. Habe wirklich an das Kabel gar nicht gedacht. Es war einfach nur Zufall. Seither hatte ich keine weiteren Probleme mit meinem Schaltungen. Und weiter gehts!

weihnachtliche Grüße