probleme mit LEDs...

Kann mir jemand auf die schnelle sagen wieso bei diesem Programm:

#include <IOpins.h>
int red = 0; //Variabel für Schalter S2
void setup()
{
  pinMode(IO15, OUTPUT); //rote LED
  pinMode(IO16, OUTPUT); //grüne LED
  pinMode(IO27, INPUT); //Schalter 2
  digitalWrite(IO27, HIGH); //Pull-Up Wiederstand für S2
  digitalWrite(IO15, LOW); //Rote LED aus
  digitalWrite(IO16, LOW); //Grüne LED aus
}
  void loop()
{
 red = digitalRead(IO27); //Auslesen des Schalters 2
 if (red == HIGH)
   {digitalWrite(IO15, HIGH); //Rote LED an
   }
 else
   {
    digitalWrite(IO15, LOW); //Rote LED aus
    digitalWrite(IO16, LOW); //Grüne LED aus
    }
 }

die grüne LED dauerhaft leuchtet? -.- Ich finde echt keinen Grund wieso xD Pins sind alle richtig belegt!
Danke :slight_smile:
EDIT:
ok... bei diesem programm z.B. leuchten beide... warum? :frowning:

#include <IOpins.h>
int red = 0; //Variabel für Schalter S2
void setup()
{
  pinMode(IO15, OUTPUT); //rote LED
  pinMode(IO16, OUTPUT); //grüne LED
  pinMode(IO27, INPUT); //Schalter 2
  digitalWrite(IO27, HIGH); //Pull-Up Wiederstand für S2
}
  void loop()
{
  digitalWrite(IO15, LOW); //Rote LED aus
  digitalWrite(IO16, LOW); //Grüne LED aus
 }

EIgentlich sehe ich gar keinen Code, der die grüne LED einschaltet.
Was passiert denn, wenn du alle Statements in loop() auskommentierst?

PS: if ist keine Funktion, das ist ein Statement der zugrunde liegenden Sprache C

Wie hast Du die LEDs angschlossen? zwischen Pin und +5V?
Ja, dann leuchten sie wenn der Ausgang auf LOW ist.
Grüße Uwe

Ich werde es gleich mal ausprobieren, danke! :slight_smile: Aber in anderen Programme hatte die LED eigentlich immer bei HIGH geleuchtet :? Komisch :smiley:

Der Punkt ist, daß "low" nicht "aus" und "high" nicht "ein" bedeutet. Low bedeutet der Pin wird auf 0V gelegt, High auf 5V. Eine LED leuchtet wenn die Spannung an der Anode ausreichend höher als an der Kathode ist. Wenn Du also die Kathode an 0V anschliesst, dann leuchtet sie bei high. Wenn Du aber die Anode an 5V klemmst, dann leuchtet die LED bei low.