Habe hier eine Script die läuft auf eine UNO aber nicht auf meine NodeMCU, ich begreife nicht warum nicht.
Im Script stehen die SPI pins aud D5, D6, D7 (Sind die SPI pins von NodeMCU) bei die UNO hab ich data aud 13 latch auf 12 und clock auf 11 und läuft einwandfrei.
Gemäß der Spec von shiftOut läuft das wohl auch auf dem Arduino nicht.
Es ist manches Mal verwirrend, wenn eine eigene Version benutzt wird, die genau so wie eine vorhandene Funktion heißt.
Tommy56:
Wenn Du den Sketch mit dem NodeMCU nicht testen kannst, woher willst Du wissen, ob der funktioniert oder nicht? Irgendwie kommt mir das komisch vor.
Gruß Tommy
Ich meine eigentlich dass die Pir schon funktioniert (gibt einen Serial.print aus) aber die LED's werden nicht angesteuert.
Was mir im Sketch aufgefallen ist:
Es wird auf >millis() getestet, ob eine Wartezeit vorbei ist - alle 50 Tage wird diese Bedingung DIREKT erfüllt sein und Deine Beleuchtung spielt scheinbar verrückt.
millis sollte alle 49,71 Tage überlaufen, dabei wird millis() wieder zu Null, somit bedeutend kleiner als Prüfwert (sofern Dieser nicht auch 32bit ist, dann läuft auch Dieser über und das Problem könnte sich in Luft auflösen).
Was macht besagter Sketch denn nun, oder eben nicht?
Wenn ich diesen Script auf einen UNO laufen las dann funktioniert meine Treppenbeleuchtung ohne Problemen.
Dass gleiche Script mit nur die angepasste Outputs funktioniert nicht gut auf eine NodeMCU (die LED's werden nicht Angesteuert) aber die PIR lassen einen "Serial.print" sehen.
Also die Daten Ausgabe von NodeMCU zum dem Shift-Registers stimt nicht und was dar los ist weiß ich nicht.
combie:
Du sollst messen, ob dein Programm auch das tut, was du erwartest.
Vielleicht eine blöde Frage aber wie kann ich mit eine Digitale Multimeter die Digitale Ausgabe messen?
Ich glaube man bracht dafür einen Scope (die hab ich nicht)
Atwist:
Vielleicht eine blöde Frage aber wie kann ich mit eine Digitale Multimeter die Digitale Ausgabe messen?
Ich glaube man bracht dafür einen Scope (die hab ich nicht)
Im einfachsten Fall: Kleine LEDs (mit Vorwiderstände)!
Die nächste Stufe:
Das Programm verlangsamen, dann kannst du damit sogar die (richtige) Abfolge sehen.