Guten Abend, und zwar bin ich auf folgendes Projekt gestoßen: http://1000fireflies.net/ Dort werden kleine LED- Module mit einem RFM12B Transreceiver ausgestattet. Diese LED- Module synchronisieren sich dann miteinander was dazu führt, dass alle LED- Module gleichzeitg blinken. --> Keine Differenzen Folgender Effekt wird damit erzielt: http://www.youtube.com/watch?v=gD2oNWE0ev0 Da ich das Projekt sehr interessant finde, habe ich mir überlegt das nachzubauen um dann die Logik dahinter zu verstehen. Auf der Projektseite habe ich ein paar Bilder gefunden, die im Anhang zu sehen sind. Unter dem Bild mit den beiden roten LEDs ist wie folgt kommentiert: Two ATtiny84a prototypes. The range is quite good: they synchronize from across my house, even though one doesn’t have an antenna connected. One has a switch connected, which toggles sleep mode on the device. Ein weiteres Video zeigt das: https://www.youtube.com/watch?feature=player_embedded&v=gPn6FDB1UCs Nun habe ich mir zwei Attiny 84 und zwei RFM12B Module bestellt und möchte das genau so nachbauen. Nun stellt sich mir die Frage, wie ich softwareseitig den Code schreiben muss. Ich würde den attiny 84 mit einem Arduino Uno R3 Board und der Arduino Software- Entwicklungs- Umgebung programmieren können. In dem einen Übersichtsschema sehe ich "AVR_SPI_PGR_6". Ich benötige diese ja nicht, da ich über den Arduino Uno meinen Attiny programmiere oder? Der Ablauf für die Synchronisation wäre doch wie folg: 1. Modul 1 anschalten 2. Modul 1 baut eine Funkverbindung auf und sendet Synchronisationsbits 3. Modul 2 anschalten 4. Modul 2 baut ebenfalls eine Funkverbindung mit Synchronisationsbits auf 5. Sobald eines der Module eine Zeichenfolge des jeweils anderen Moduls erhält, muss diese erkannt werden und ein Status definiert werden. 6. Jenachdem wie gerade der Status ist, wird ein Ausgang an dem die LED hängt, mit high oder low Pegel versorgt. Sie leuchtet eben oder eben nicht. Dazwischen ein Ein- Sekunden delay, für den Blink- Effekt. Und genau beim Punkt 5 würde ich nicht wissen wie ich das realisiere. Passt mein denk Ansatz soweit? Ich bedanke mich schon mal für die Hilfe. greeZ
Keiner eine Idee dazu?
Bene345 schrieb: > Keiner eine Idee dazu? > 5. Sobald eines der Module eine Zeichenfolge des jeweils anderen > Moduls erhält, muss diese erkannt werden und ein Status definiert > werden. > 6. Jenachdem wie gerade der Status ist, wird ein Ausgang an dem die > LED hängt, mit high oder low Pegel versorgt. Sie leuchtet eben oder > eben nicht. Dazwischen ein Ein- Sekunden delay, für den Blink- Effekt. Du hast überhaupt nicht verstanden, worum es bei diesem Effekt überhaupt geht. Wenn ein Modul die Führung hat und 'Kommandos' an das andere abgibt, dann braucht es diesen Mechanismus gar nicht. Das eine Modul schickt einfach nur Befehle raus "LED ein", "LED aus" und alle anderen machen mit. Voila - alle blinken im selben Takt. Aber genau darum geht es nicht. Es geht darum, dass jedes Modul aussendet: "Ich schalte jetzt ein" bzw. "Ich schalte jetzt aus". Jeder Empfänger empfängt dies und vergleicht mit seinem eigenen Zyklus. Hat der Sender die LED bereits eingeschaltet, ich aber noch nicht, dann wird die Pause bis zum einschalten ein wenig verkürzt. Selbiges beim Ausschalten. Bin ich aber (als Empfänger) etwas zu früh drann, und hab meine LED bereits eingeschaltet, der Sender aber noch nicht, dann verzögere ich das nächste einschalten ein wenig. Jeder einzelne Empfänger versucht einfach nur, seinen eigenen Zyklus soweit zu verschieben, dass er sich an das anpasst, was er über seine Sensorik empfängt. Nicht in großen Schritten anpasst, sondern in kleinen Schritten. 'Ich bin zu spät? ok, dann beim nächsten mal eben ein bischen früher. Huhu, wenn auch immer es interessiert, ich habe genau jetzt eingeschaltet'. Indem sich jedes einzelne Individuum versucht, ein bischen an das anzupassen was die ganze Gruppe tut, entsteht Synchronisation sodass alle letzten Endes am gleichen Strang ziehen. Und zwar selbst dann, wenn die ganze Gruppe in einem völlig wahllos chaotischem Zustand anfängt. Auf die Art schaffen es dann Glühwürmchen auf einem Strauch ihr Geblinke zu synchronisieren, obwohl es keinen Dirigenten gibt, der einen gemeinsamen Blinktakt vorgeben würde. Das ist das Besondere an der Sache. Mit einem 'Status' hat das alles überhaupt nichts zu tun.
:
Bearbeitet durch User
Hallo ihr beiden, danke für den Link zu den Sourcen @Helmut H. Genau aus diesem Grund habe ich hier im Forum gepostet, damit ich das Prinzip dahinter verstehe und nicht nur das alles fertig nachbaue, ohne zu wissen, was passiert. Danke auch für die ausführliche Erklärung Karl Heinz, nun wird mir einiges klarer. Ich werde mich mal hinhocken und da ein bisschen herumexperimentieren. Später soll dieser Effekt bei mir im Modellbau und bei meinem eigenen Fahrrad Platz finden. Ergebnisse poste ich dann hier auch rein (: greeZ
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.