INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Treppenlicht anfang
15.08.2014, 19:39
Beitrag #1
Treppenlicht anfang
Hallo ,
ich bin Anfänger und möchte mich an ein Treppenlicht wagen.
ich probiere zur zeit ..
dazu habe ich einfach einen sketch genommen

Zitat:const int ledPin=13; // PIn für LED
const int inputPin=2; // Pin für Pir Sensor

void setup(){
pinMode(ledPin,OUTPUT); // LED ist Ausgang
pinMode(inputPin,INPUT); // Sensor Eingang
}

void loop(){
int val=digitalRead(inputPin); //Eingangswert lesen
if(val==HIGH) // ist der Eingang HIGH
{
digitalWrite(ledPin,HIGH); // Bewegung LED EINschalten
delay(500);
digitalWrite(ledPin,LOW); // Led Aus
}
}

Nun mein Problem ..
wenn ich einen Pir Sensor anklemme .. läuft alles super ..
nehme ich aber einen infrarot sensor
http://www.ebay.de/itm/DC-5V-100mA-Obsta...35cc761729

dann klappt es nicht mehr ..
LED 13 leuchte durchgehend und erlischt nur wenn man vor den Sensor geht
also genau umgekehrt wie es sein soll ..

kennt sich jemand mit dem Sensor aus ??
Ich wäre über jede Hilfe froh
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.08.2014, 09:32
Beitrag #2
RE: Treppenlicht anfang
Hi,
wenn Du schon weißt, dass es genau umgekehrt ist, wie es sein soll: Warum änderst Du dann nicht einfach das "if(val==HIGH)" in "if(val==LOW)"?
Noch ein wirklich ernst gemeinter Tipp: Mach erst weiter wenn Du jedes einzelne Bit eines Programm verstehst.
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.08.2014, 12:58
Beitrag #3
RE: Treppenlicht anfang
Also ..
erstmal vielen Dank für die Antwort .
Die Idee HIGH und LOW zu tauschen hatte ich auch .
Nur hat das auch nicht das gewünschte Ergebnis gebracht .
Wenn ich LOW und HiGH austausche leuchtet die LED zwar nur wenn der Sensor ausgelöst wird ..aber auch hier wird DELAY 500 nicht beachtet. Die LED geht sofort aus wenn man aus dem Sensor Bereich geht .

Na ja und zu deinem Tipp... Learning by doing .. oder ist bei dir das wissen vom Himmel gefallen ? Wink
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.08.2014, 13:12
Beitrag #4
RE: Treppenlicht anfang
Hi,
mach das delay mal versuchsweise größer. So in etwa 10000, also 10 Sekunden.
500ms ist nur eine halbe Sekunde. Es wäre außerdem schon ein großer Zufall, wenn Du gerade am Anfang der halben Sekunde aus dem Sensorbereich gehst. Im Durchschnitt bleiben also 250ms "übrig" bis zur nächsten Sensorabfrage. Wenn Du Deine Hand vor dem Sensor bewegst kann ich mir sogar vorstellen, dass Du etwa eine halbe Sekunde brauchst, bis Du den Sensor wieder verlässt. D.h. es bleibt noch weniger Zeit übrig. Das sieht dann u.U. wie "sofort" aus.

Nein, bei mir ist das Wissen auch nicht vom Himmel gefallen. Es muss aber nicht jeder die selben Fehler machen. ...und der am meisten gemachte Fehler ist eben, dass man Programme erweitert, die man selbst nicht ganz versteht.
No offense intended...

Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.08.2014, 14:53 (Dieser Beitrag wurde zuletzt bearbeitet: 16.08.2014 14:56 von Pete the Beat.)
Beitrag #5
RE: Treppenlicht anfang
Zitat:digitalWrite(ledPin,LOW); // Bewegung LED EINschalten
delay(10000);
digitalWrite(ledPin,HIGH); // Led Aus

Also ich habe es folgender maßen geändert..

Was ich raus gefunden habe .. jetzt muss ich ca. 10 sec die Hand vor den Sensor halten damit die LED angeht . Diese erlischt wieder sobald ich die Hand weg nehme Confused

Das bedeute mit Delay schalte ich nicht mit dem IR Sendsor nicht die dauer der Leuchtzeit sondern die Zeit ab wann der Sensor schaltet ??
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.08.2014, 16:13
Beitrag #6
RE: Treppenlicht anfang
Hi,
jetzt hast Du alle HIGH und LOW vertauscht?
Ich nehme an, die eine Seite der LED ist am Pin und die andere Seite an GND. Dann muss es schon so heißen:
Code:
digitalWrite(ledPin,HIGH); // Bewegung LED EINschalten
delay(10000);
digitalWrite(ledPin,LOW); // Led Aus[/quote]
...ob bei if(val==HIGH) nun HIGH oder LOW stehen muss hängt wahrscheinlich auch vom Sensor ab. Das musst Du einfach mal ausprobieren.
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.08.2014, 17:03
Beitrag #7
RE: Treppenlicht anfang
(val==LOW) und delay 10000 hat den gewünschten effekt.

im übrigen ist das der ursprungscode .. danke erstmal .. .Smile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste