Lichtschranken mit einem wait versehen?

Begonnen von Kawaci, 11 November 2016, 12:57:03

Vorheriges Thema - Nächstes Thema

Kawaci

Hallo!
Kann mir jemand sagen wie ich einer Lichtschranke sage sie soll nur beim ersten Mal was schalten und nicht jedesmal? Also wenn ich die Lichtschranke durchgehe nicht mit der Hand das Licht einschalten und dann wenn der Körper kommt das Licht ausschalten erst wieder nach 5 Sekunden  oder so wieder was erfassen? Habe die los mit Formate eingebunden! Habe es schon mit sleep versucht aber nicht die gewünschte Aktion!

viegener

Ich verstehe leider grosse Teile Deiner Frage nicht, insbesondere fehlen Angabe, welche Kommandos / Devices Du verwendest. Von dem was ich verstehe nehme ich an, dass Du mal die commandref zu DOIF lesen solltest.

Generell ist es hilfreich eher genauer zu beschreiben was für Devices beteiligt sind (vielleicht sogar mit list des Devices) und eine etwas verständliche Beschreibung, z.B. ist völlig unklar, was Du mit sleep gemacht hast und was dann nicht funktioniert hat.
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Kawaci

Ok sorry für die unverständlichkeit! Ich habe 1 lichtschranke die an einen IO pin von einem arduino mega hängt! Wenn ich die lichtschranke durchschreite soll sich ein licht einschalten, das ganze funktioniert ja auch mit DOIF, aber die selbe lichtschranke  soll das licht auch ausschalten wenn ich nach 10 Sekunden wieder durchgehe, funktioniert auch mit doif! Das problem ist das die lichtschranke auf einer höhe eingebaut ist, das wenn ich durchgehe erst der linke fuss das Licht ein schaltet und der rechte fuss sie wieder ausschaltet! Die frage ist jetzt wid ich das verhindern kann!

Ich hoffe es ist jetzt verständlicher!

viegener

ja, deshalb hatte ich auf die commandref von DOIF verweisen, denn da stehen diese Fälle beschrieben.
Da Du das (oder die ?) DOIF-Devices aber nicht hier zeigst, kann ich nicht sicher helfen, würde aber vermuten, dass cmdpause Dein Problem lösen sollte. An sich würde ich das aber im Code des Arduinos machen, denn an sich ist das quasi eine Art "entprellen" der Lichtschranke...

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

RaspiCOC

Kannst ja ein cmdpause-Attribut setzen. Setz das doch einfach auf 3 Sekunden - in der Zwischenzeit solltest Du Deine Extremitäten und den Körper durch die Lichtschranke gebracht haben. Wenn Du dann nach 3+x Sekunden wieder durch die Lichtschranke gehst, dann löst sie wieder aus.

Kawaci

sowas in der art habe ich gesucht aber ich habe jetzt die ganze Programmierung von meinem raspi 2 auf meinen neuen raspi3 übertragen aber irgend was funktioniert nicht mit der configurable firmata muss das erst hinkriegen und dann melde ich mich wieder! danke schon mal im Voraus!