Treppenstufenbeleuchtung mit dem Raspberry / Schritt zum Arduino

  • und der aktuell Code in Pzthon.

    Wobei sich in der Testphase gezeigt hat, dass auch der 2. Schalter ein Bewegungsmelder und kein Ultraschallsensor wird.
    Hier im Code sind noch beide Sorten vertreten.

  • Hier nun der erste Versuch.


    Mit der distanz Funktion komme ich noch nicht richtig klar,
    aber Du meintest ja, dass diese Du einen weiteren Bewegungssensor ersetzt wird, oder?
    Falls dem nicht so ist, dann mußt Du mir nochmal die Logik erklären was da passieren soll.
    Aktuell liefert die Funtion immer 0 zurück.

    In der Light Funktion habe ich das show und delay ausserhalb der Loops.
    Die alte Logik ist auskommentiert.
    Falls das nicht schön ist, wieder ändern ;)

    In der Funktion loop verstehe ich das so, dass permanent
    der Sensor abgefragt wird und nur wenn der HIGH ist, wird das Prog gestartet.
    Sollte da evtl. noch ein delay am Schluß sein?
    Ich meine, wieviel tausendmal wird da etwas in der Sekunde abgefragt?
    Geht das auf's Silikon?? Keine Ahnung.

    Laut Arduino IDE kompiliert das - ich hoffe es läuft auch. :)

    Viel Spaß

    Edit: Muss natürlich Silizium und nicht Silikon heissen - an was hab ich da wieder gedacht?? ;)

  • aber Du meintest ja, dass diese Du einen weiteren Bewegungssensor ersetzt wird, oder?

    Ja, der wird auf jeden Fall gegen einen Bewegungssensor getauscht. Die Ultraschallmessung ist nur bei flachen Auslösern brauchbar.
    Bei Stoff prallt der Rücklauf in die falsche Richtung. Ich konnte das zwar schon verbessern, in dem ich den Fall "wenn kleiner als 800mm" und separat noch mal "wenn größer als 900mm" einbaue, aber der Bewegungsmelder ist noch immer besser.

    Der BW-Melder bringt seine eigene Zeitschaltuhr mit. Der bleibt für eine gewisse Zeit HIGH, und meldet so lange auch keine neuen Bewegungen. Das wird manuell an einem Stellpoti gesetzt.

    Am Ende soll wieder der erste BW-Melder (oben) die Lichterkette von oben nach unten schalten. Nach abgelaufener Zeit X, dann von oben nach unten ausschalten.
    Und der zweite BW-Melder (unten) dann eben umgekehrt.
    Damit die sich nicht in die Quere kommen, bleiben die Lichter nach erfolgtem ANschalten für ~20 Sekunden auf AN. Ein Sleep-Befehl sollte das wohl erledigen.

    ------------
    Ich teste so bald wie möglich und berichte.
    Auf den ersten Blick: c verstehe ich noch weniger als Python :)

  • Also alles im allem funktioniert das schon :)
    Ich habe jetzt noch die delay-Werte auf 100 gesetzt, was einer Animation nahe genug kommt.
    Brightness Decrease läuft auch.
    Wobei derzeit der komplette Satz bei Bewegungserkennung durchläuft.

    Bewegung wird erkannt, dann
    - 0-6 gehen nacheinander an
    - 0-6 gehen nacheinander aus
    - 6-0 gehen nacheinander an
    - 0-6 gehen erhalten ein brightness decrease

    Aber da will ich mich erst mal selber durchkämpfen. Mit funktionierendem Codebeispielen sollte ich das hinbekommen.
    Sowie den zweiten Bewegungsmelder.

    Mein Ziel wird dann sein:

    Bewegung an Melder 1 wird erkannt, dann
    - 0-6 gehen nacheinander an
    - 0-6 gehen nacheinander aus
    Bewegung an Melder 2 wird erkannt, dann
    - 6-0 gehen nacheinander an
    - 6-0 gehen nacheinander aus

    @ClaudiaF DANKE!
    Und ich ziehe meinen Hut vor all den Programmierern da draußen.

  • Läuft :)
    Jetzt muss ich nur noch die Timings ausmitteln und mich entscheiden, ob ein Lauflicht oder ein brightness decrease für AUS verwendet werden soll.
    Interessant dabei ist, dass die Melder am Arduino deutlich besser reagieren als am Raspberry. Kann ich mir aber auch nicht erklären.

    Wie ich die Verkabelung umsetze, weiß ich noch nicht genau. Aber einen groben Plan habe ich schon.
    Laut Messgerät brauche ich auch nicht mal 1A. Da sollte ein altes 2A USB-Netzteil reichen.

  • Ich bin gerade am lesen und bin über die interrupts und Interrupt Service Routinen gestolpert.
    Wenn ich das richtig verstehe wird dann über die Pins2 und 3 automatisch ein Trigger ausgeführt.
    Was heissen soll, du brauchst nicht ständig im loop den Status prüfen sondern nur darauf reagieren,
    wenn der Interrupt passiert. Weißt Du ob das mit deinen Bewegungssensoren geht?
    Ergebnis sollte dann auf noch weniger Strom hinauslaufen.

  • Gestern einen groben Verlegeansatz gestartet:

    Da das nicht alles gerade ist, werde ich mir von der gesamten Kette erst einen Papierausdruck machen und den aufkleben.
    Das ganze kommt natürlich später an die andere Seite in Richtung Wand. Dann sieht man nichts von den LEDs und hat als Licht die Reflektion der LED an der Wand.
    Die LED-Streifen haben einen DS-Kleber. Die Leitung, vermutlich Flachbandkabel, werde ich mit schwarz matter Folie aufkaschieren.
    So hat das ganze genug halt und man sieht nichts mehr von den Leitungen.
    Evtl werde ich die LEDs auch auf Magnetfolie kaschieren. Das muss ich aber noch testen.

  • Das Anordnen ist eine Frage der Knickkunst :)
    Ich muss das Flachbandkabel, welches ich noch nicht habe, um 90 Grad zweimal knicken. Sollte aber gehen.
    Ich hatte mal probiert die Enden so zu verlöten, dass man nicht knicken muss. Also sozusagen auf Gehrung. Aber das ist mir schon bei dem Qlock-Projekt nicht gelungen.

    Da alle LEDs nacheinander schalten, dürfte der Effekt auch je Stufe interessant werden.
    Es sind ja zwei LEDs je Stufe, die gehen auch nicht gleichzeitig an.

  • Hallo Don,

    bezgl. dem Interrupthandling und dem dazugehörigen "Dornröschenschlaf" habe ich gelesen
    dass man aufpassen muß den Arduino nicht in den "ewigen Schlaf" zu setzen.
    Heisst also, solange ich keinen eigenen Arduino habe würde ich ungern die anderer kaputt machen.

    Zum Projekt, kennst Du diese Echverbinder [Anzeige] ?
    Und wenn Du die gegen die Wand setzt, gibt es dann noch genügend Licht?

    Bin gespannt wie es aussieht wenn es fertig ist :)

    Achja, wie mache ich das richtig wenn ich über Deinen/Euren Amazonlink bestelle?
    Einfach den Link benutzen, einloggen und gut ist es?

  • An die Eckverbinder hatte ich auch schon gedacht.
    Aber wenn möglich, will ich so wenig Teile wie möglich neu kaufen. Ich habe so viel Zeug in den diversen Kisten liegen, da muss ich etwas von verwenden können.
    Ich habe schon überlegt, ob ich nicht einfach alte IDE-Kabel zerlege. Adern haben die genug. Und Flach sind die auch.
    Abwarten. Wenn ich die ersten 3 gelötet habe, wird angelegt. Sollte dass dann zu weit vorragen, dann kommen die Eckverbinder evtl doch noch auf die Einkaufsliste.

    Die LEDs scheinen nur gegen die Wand. Angebracht werden die am Stahl der Treppe. Da sind gute 50mm Luft zwischen der Wand und den LEDs.

    Amazon: einfach oben den Link anklicken reicht vollkommen. DANKE.

  • Da sind gute 50mm Luft zwischen der Wand und den LEDs.

    Warum legst Du die Stripes dann nicht direkt auf den Träger auf? Da brauchst Du auch nichts abwinkeln...

    Bilder

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960

    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

  • Ja, haben wir gestern auch gedacht.
    Aber dann sind wir noch weiter weg von der Idee einer "Stufen"-Beleuchtung.
    So wie jetzt erhoffe ich mir, dass zumindest die Stufen auch etwas Licht abbekommen.


    Würde auch optisch an der Wand mehr hermachen mit der Treppen Methode. Vor allem mit dem erwähnten ein bzw ausschalten.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!