Hi, ich habe ein Projekt, in dem ich gerne ein SMPTE Timecode generieren möchte, und der zu einem gewissen Zeitpunkt startet zum laufen.
Ich bin mir nicht sicher, was besser als Startzeitpunkt zum nehmen ist (Zeit aus dem internet ziehen oder über ein GPS Modul)
bzw. wie würde ich überhaupt so einen Timecode generieren.. ich habe 0 Ahnung wo und wie ich ansetzen kann/muss
Die Zeitquelle hängt an der Verfügbarkeit eines Internetzugangs ab bzw die Sichtbarkeit eines großen Teils des Himmels außerhalb Gebäuden.
Ich würde einen RTC Baustein vorschlagen, der hie und da mit einer genauen Zeitquelle synchronisiert wird ( NTP bzw GPS).
Hab keine Ahnung was SMPTE ist und darum kann ich DIr nicht helfen. Hast Du schon mal "Arduino" und "smpte" in einer Suchmaschine eingegeben?
Mit jedem Taktsignal erhöhst Du das Frame.
Mit jeder Frameänderung:
Frame senden.
Second, Minute, Hour ggfls. neu setzen.
Theoretisch hängst Du immer einem Frame der Zeit hinterher.
Praktisch ist es aber richtig, mit dem Takt den Frame erst zu senden und dann neu zu berechnen, und mit dem nächsten Takt den errechneten Timestamp zu senden.
Kein Hexenwerk.
Ich überleg grad, ob eine Ds3231 einen solchen Takt ausgeben kann....
Ein Tmestamp der von einem MASTER als Bitstream kommend an allen Slaves übernommen wird.
Innerhalb einer Sekunde gibt es 25 Marker bzw. 25 Timestamps in einer Sekunde :-) Also alle 40ms Ein Stamp mit der Nummer des Stamps innerhalb der Sekunde.
Wenn es eine Außenanwendung wird würde ich GPS nehmen, wenn es Indoor ist, Internet (S)NTP.
Es würde mich wundern wenn du mit "SMPTE Timecode Arduino" nicht ausreichend Beispiele finden würdest.
Ansonsten wäre mein Ansatz den Master jede volle Sekunde auf das Referenz-Signal zu syncronisieren. Die nächsten 24 (oder andere) Nachrichten würde ich im Intervall senden.
operating at nominal rates of 60, 59.94, 50, 48, 47.95, 30, 29.97, 25, 24, and 23.98 frames per second.
Mit Tricks, dass alle 10 Minuten ein paar Frames ausgelassn werden, um auf so krumme Werte wie 23.98 zu kommen.
Das ganze diente ursprünglich (gibts seit 50 Jahren) dazu, Tonspuren und Film zu synchonisieren, und bezieht sich dann auf den Film- bzw. Video-Start mit hh:mm:ss:ff und hat da überhaupt nichts mit GPS oder NTP Zeit zu tun.
Was hat das nun mit Arduino zu tun?
Soll ein ESP32 als Master ein LTC SMPTE Audiosignal ausgeben, um damit andere Geräte zu synchronisieren?
Die Thematik ist so alt, wie Stummfilm, NTSC, PAL und SECAM.
Ich wollte nicht unbedingt ausholen, dass KINO mit 24 picture arbeitet und die seit fast 15 Jahren unveränderten Schriften auch Midi, Dolby etc. pp. beinhalten, genauso wie sync über unterschiedliche Wege, bis hin zu Endpoints für Glasfaser.
Es gibt sogar ein Verfahren, was nicht auf 10 Minuten auslöst - aber das führt jetzt wirklich zu weit
Ich habe zumindest das Eingangspost verstanden, dass eine Timecodequelle mit einem ESP/Arduino gebaut werden soll.
Ja, die Idee ist, dass ein paar Minuten vor der Show der Timecode startet (daher auch die Zeit ziehen aus dem Netz oder GPS) und dann mit den paar Minuten versatz dann pünktlich gestartet.
Wenn Du GPS nutzen willst, ist Outdoor Deine Destination?
Alternativ böte sich auch DCF77 oder ein Sync auf Mobilfunk an.
Die Frage ist, welche Medien stehen zur Verfügung und welche Genauigkeit ist gefordert.
Letztere las ich aussen vor. Deiner Beschreibung entnehme ich, dass es sich um ein lokales und nicht verteiltes Ereignis handelt
Selbst wenn ein Sync auf einen Stream gelegt wird, bleibt es ein lokales Ereignis.
Wenn Du "nur" einen TIK brauchst und ein WLAN zur Verfügung steht:
EDIT: Sorry, falscher Link. Das Projekt ist hier beschrieben:
Hier ist nur der Code:
Ich hätte Dir das gerne ausprobiert, aber die Infolage ist dünn und ich verfüge nur zu sehr begrenzten Zeiten über Hardware.
Das driftet hier auch wieder ab, sodas Du damit was anfangen kannst, aber ich bin dann auch erstmal raus.
Hi, das System sollte "mobil" sein.. also die anlage wird immer wieder neu auf und abgebaut.. dient als eine Art "Countdown" System zum starten der Show dann ... prinzipell ist es im urbanen Raum gedacht ... daher hätte ich es über mein Handy mit dem Netz verbinden lassen.
wenns konstant 37 Minuten daneben ist ist es auch egal, das kann man im der Programmierung ausgleichen .. blöd ist es wenn es einmal 3 min und dann 37 min ist..