Go Down

Topic: probleme mit LEDs... (Read 1 time) previous topic - next topic

fredopato

Mar 20, 2012, 10:26 pm Last Edit: Mar 20, 2012, 10:51 pm by fredopato Reason: 1
Kann mir jemand auf die schnelle sagen wieso bei diesem Programm:
Code: [Select]

#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 :)
EDIT:
ok... bei diesem programm z.B. leuchten beide... warum? :(
Code: [Select]

#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
}


rz259

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

uwefed

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

fredopato

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

udoklein

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.
Check out my experiments http://blog.blinkenlight.net

Go Up