Script läuft auf eine UNO aber nicht auf NodeMCU

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.

Warum nicht auf die NodeMCU?

Treppenbeleuchtung-Ver_1-11.ino.ino (17.2 KB)

SPI wird in dem Sketch gar nicht verwendet.

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.

Gruß Tommy

@Tommy
Achtung, er benutzt seine eigene shiftOut() Funktion, nicht die 4 Parameter Version von Arduino.
Grüße Uwe

OK, das habe ich übersehen. Danke für den Hinweis.

Gruß Tommy

Edit: Ist der PIR ein 5V- oder 3,3V-Typ? Bei 5V Levelshifter oder Spannungsteiler dran?

uwefed:
SPI wird in dem Sketch gar nicht verwendet.

Habe es auch schon in der SETUP versucht mit

SPI.begin()

Aber funktioniert auch nicht.

Tommy56:
Edit: Ist der PIR ein 5V- oder 3,3V-Typ? Bei 5V Levelshifter oder Spannungsteiler dran?

Pir ist eine 5Volt und funktioniert mit die UNO ohne Probleme mit die NodeMCU kann ich es nicht testen.

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

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.

Wie hast Du den 5V PIR an den 3,3V NodeMCU angeschlossen? Der ist nicht 5V-tolerant.

Gruß Tommy

Die üblichen PIR haben einen 3,3V Ausgang, auch wenn sie mit 5V versorgt werden.
Auch open Kollektor ist weit verbreitet.

Man müsste also schon genauer wissen, welcher PIR verwendet wird.

Aber die PIR's sind dass Problem nicht :confused: :confused:

Mein Problem ist die ansteuerung von die NodeMCU an die 74hc595 über die data, latch und clock :frowning:

Hi

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?

MfG

Mein Problem ist die ansteuerung von die NodeMCU an die 74hc595 über die data, latch und clock

Schön!

Dann weißt du ja schon wo du suchen kannst.

Ich kann es nicht.
Denn meine Ärmchen sind zu kurz.
Sie reichen nicht bis in deine Bastelstube.

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:
Schön!

Dann weißt du ja schon wo du suchen kannst.

Ich kann es nicht.
Denn meine Ärmchen sind zu kurz.
Sie reichen nicht bis in deine Bastelstube.

Was für Info kann ich jetzt noch geben.

Atwist:
Was für Info kann ich jetzt noch geben.

Wieso geben....?

Du sollst messen, ob dein Programm auch das tut, was du erwartest.

Wie gesagt: Ich kann das nicht tun!
Denn das Ding liegt bei dir auf dem Tisch, nicht bei mir.

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)

besser einen Logikanalyzer. kostet als China Nachbau keine 10€

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.

Der LA wurde ja schon genannt.