Angepinnt Cube 3x3x3 leicht gemacht (mit Fotos und Schaltplänen)

    Cube 3x3x3 leicht gemacht (mit Fotos und Schaltplänen)

    Gleich vorab, da ich hierzu schon ein paar Anfragen hatte: Ich stelle dieses Ding nicht her, man kann das also nicht bei mir fertig aufgebaut kaufen. Ebensowenig wie die Steuerplatine, oder das Ganze als Bausatz, ich ätze auch keine Platinen. Zu letzterem Punkt ist im nächsten Beitrag ein Hinweis, wo man sowas machen lassen kann. Das Ganze ist ein Hobby von mir, ich stelle hier aus reiner Freundlichkeit die komplette Doku zum nachbauen rein, kann aber keinerlei praktische Hilfe anbieten - ebensowenig wie irgendwie in irgendeiner Weise Verantwortung übernehmen, falls bei jemandem der Nachbau nicht klappen oder gar irgendwelche Schäden auftreten sollten!

    EDIT 15.03.2010: Es gibt nun hier auch eine Bibliothek mit Mustern von anderen Usern

    Um den Würfel-Virus weiter zu verbreiten, haben Fightclub und ich hier eine Anleitung erstellt, mit der es auch für Anfänger ganz leicht ist, so nen Cube zu bauen und eigene Muster zu erstellen. *Etwas* Wissen sollte man natürlich schon haben, z.B. wie rum man nen Lötkolben hält, wie ein Transistor aussieht und wie man einen µC mit Pony-Prog o.ä. beschreibt (dazu gibt's hier auch ein Tutorial von Stefan_z, µC-Grundlagen).

    So ein Cube braucht ja im wesentlichen 3 Teilen: dem aus den LEDs bestehenden Cube selbst, eine Ansteuer-Elektronik dazu, und eine Software, die die Ansteuerung und Ausgabe der Muster übernimmt. Fightclub hat dazu noch eine SW programmiert, mit der man diese Muster einfach per anklicken am PC erstellen kann.

    Erst mal zum Cube selbst: den biegt ja jeder wie er will, man muss sich also nicht an diese Anleitung halten - die ist als Tipp gedacht, damit es nicht anderen auch so geht wie mir (der erste Cube war arg krumm, weil ich noch kein System hatte). Ausserdem passt ein so gebogener Cube auf meine Basis-Platine, man braucht auch (bis auf zwei für 2 Ebenen) keinerlei zusätzliche Drähte dafür.

    Der Cube besteht aus 3 Ebenen, zuerst werden die hergestellt, und dann zu dem ganzen Cube verlötet - hier mal ein Schema für die Verdrahtung der Ebenen, von unten auf die LEDs gesehen:



    Da die Anoden-Drähte (Säulen) bei allen LEDs gleich sind, kann man erst mal alle LEDs in dieser Weise vorbereiten (Anode 2x knicken):



    Ich habe da auch gleich jede LED mit einem Edding unten schwarz angemalt, damit die unteren LEDs nicht so arg in die oberen "reinstrahlen".

    Dann werden je 9 LEDs in ein Brett mit 9 Löchern im Abstand von 21 mm gesteckt, und die Kathoden (Ebenen)-Drähte nach obigem Schema gebogen und verlötet (je genauer man biegt und lötet, umso schöner/gerader wird der ganze Cube):



    Danach empfiehlt es sich, kurz zu testen, ob alle LEDs gehen - da recht nah an den Köpfen gelötet wird, wäre es durchaus möglich, dass bei weniger Löterfahrung da eine den Hitzetod stirbt - ich habe da auch schon mal eine verpolte bemerkt, besser hier, als wenn der ganze Cube schon fertig ist.

    Die Ebenen werden dann (am besten Cube auf die Seite legen) miteinander verlötet, da gehört etwas Geschick dazu, dass das gerade wird, erstmal eine Ecke verlöten, und dann die gegenüberliegende usw., immer wieder kontrollieren, dass das alles noch gerade und parallel ist:



    Dazu kann man auch wieder die Schablone benutzen, da hat man ja die 21 mm LED-Abstand... Und hier noch ein Bild von einem fertig gelöteten Cube nach obiger Anleitung, auf der im nächsten Beitrag erwähnten Sockel-Platine:



    Anschließend dann den Cube mit der Steuerung verbinden, folgt im 2. Teil...
    It's only light - but we like it!

    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Pesi“ ()

    Teil 2: Die Ansteuer-Hardware

    Der Cube braucht jetzt ne Elektronik, die ihn ansteuert - das wird hier mit einem µC Tiny2313 realisiert, der hat genug Pins und Speicher für einige Animationen - kann man auch mit nem größeren µC machen, das ist dann aber nicht Bestandteil dieses Tutorials...

    Hier mal der Schaltplan für das Ganze:



    Ist ganz einfach: Die Säulen werden direkt über entsprechende Pins angesteuert, die Ebenen über Transistoren, da hier der Strom für den µC zu groß ist - die Basisvorwiderstände (2k2 = 2,2 Kiloohm) können auch etwas größer (bis zu 4,7 kOhm) oder kleiner (1 kOhm) sein, wenn Ihr grad' nix anderes dahabt. Die 390-Ohm-Widerstände stellen einen LED-Strom von ca. 5 mA ein, für superhelle LEDs reicht das...

    Edit 30.10.2008: es gibt jetzt auch eine Liste der benötigten Teile mit Bestell-Links dazu.

    Und hier mal das Layout dazu mit Bestückungsplan:



    UPDATE 08.02.2009: Die Steuerplatine ist jetzt auch als halb-SMD-Version vorhanden

    Der 7805 ist übrigens dazu gedacht, dass man das Teil mit ner 9-V-Blockbatterie betreiben kann, wer eh' schon 5 Volt dahat (PC-Netzteil o.ä.), kann den auch einfach weglassen und die beiden äußeren Anschlusslöcher mit ner Drahtbrücke verbinden...

    Auf der Platine ist noch mehr vorgesehen, die kann man für andere Sachen auch noch benutzen - für den 3x3x3-Cube müsst Ihr aber nur das bestücken, was auch eingezeichnet ist, alles andere einfach leer lassen. Bei Interesse an mehr Infos zu dieser Platine selbst: siehe dieser Thread, hier auch noch ein Bild davon.

    Die Signale für den Cube kommen dann rechts auf dieser 16-poligen Stiftleiste raus - da bietet es sich an, einen passenden "Stecker" (also eigentlich Buchsenleiste) auf ein Flachbandkabel zu pressen, und den Cube damit anzuschließen. Damit das möglichst einfach geht, gibt es auch noch eine Platine dafür:



    ich hoffe, das Prinzip ist klar: Ihr presst den Stecker auf das Flachbandkabel, spleisst dieses auf und zwickt dann die nicht benutzten Adern (siehe Schema oben, die kürzeren grünen Striche, also die 4., 6., 8. und 10. Ader von oben her) ab. Die verbleibenden Adern werden einfach der Reihe nach von oben nach unten auf die Lötpads der Basis-Platine gelötet, damit ist automatisch alles richtig verkabelt - siehe hier:



    Ob das Kabel da von rechts oder links kommt, ist egal, es muss nur immer die oberste Ader an das oberste Lötpad gelötet werden - solange das Kabel nicht verdrillt ist, passt die Zuordnung automatisch. In dem roten Oval sieht man die 4 abgezwickten Adern...

    Unten noch die beiden Platinen als PDF anbei... muss man ja nicht benutzen, es haben auch schon ein paar hier nur die Schaltung verwendet und auf ner eigenen Platine aufgebaut. Wer nicht selbst ätzen kann oder mag, kann auch mal hier schauen, der bietet Platinen an, gefertigt nach gelieferten PDFs - da ich aber weder was mit der Seite zu tun habe, noch da selbst je was machen lassen hab' kann ich dazu weiter nix sagen...

    Hier noch ein Bild von einem fertigen Cube auf kleinem Gehäuse mit 9-V-Block drin

    Jetzt fehlt nur noch die Software, dafür übergebe ich an den Fightclub - bitte keine Zwischenposts, solange er das noch nicht reingestellt hat!
    Dateien
    • Cube-Platinen.pdf

      (23,4 kB, 6.272 mal heruntergeladen, zuletzt: )
    It's only light - but we like it!

    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Pesi“ ()

    TechnoLogiY: Du Vollidiot! :cursing: - sorry, da fällt mir jetzt kein besseres Wort ein!

    wie groß und fett soll ich es denn noch hinschreiben:

    Bitte hier keine Fragen, Kommentare, o.ä. dazwischenposten, solange das Tutorial noch nicht vollständig ist!
    Vollständig ist es dann, wenn Fightclub die Software reingestellt hat!
    bitte keine Zwischenposts, solange er das noch nicht reingestellt hat!


    ?(

    Ich weiß, der Jackpot ist hoch, aber kannst Du bitte nicht einfach woanders spammen? - Sorry, da muss ich mich jetzt echt aufregen, soviel Blödheit auf einem Haufen hält doch kein Mensch aus! Und jetzt auch keine Entschuldigung o.ä., diese zwei Beiträge reissen das ganze eh' schon genug auseinander!

    Langsam habe ich hier echt keinen Bock mehr, irgendwas vorzustellen o.ä., wenn dann nicht mal die einfachsten Bitten befolgt werden und das alles gleich wieder in einer Flut sinnloser Beiträge untergeht! Wenn die potentiellen Interessenten nach der Hälfte des Tutorials schon gar nicht mehr weiterlesen, weil da schon Spam kommt? - Echt kein Bock mehr auf sowas, ich kann sowas auch allein im stillen Kämmerlein für mich basteln, muss ja keinem ne Anleitung oder Hilfe geben!

    Damit's nicht zu off-topic wird, hier noch ein Bild von der Steuer-Platine mit der Sockel-Platine verbunden:



    Ja, das ist kein Cube, das ist eine Säule/"Schneeflocke", aber das Prinzip ist das selbe, hatte grad' keinen Cube mehr übrig...
    It's only light - but we like it!

    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!
    Der Editor für die Muster

    Da es in der Vergangenheit häufiger Nachfragen und Unverständnis zu den benötigten Bitmustern gab, aus denen die Software ihre Daten liest, musste Abhilfe her. Hier mal eine kleine Zusammenfassung, was die Software alles kann, bevor ich genauer auf die Funktionen eingehe:
    - Bilder können direkt am Bildschirm zusammengeklickt werden, durch einfaches anklicken der zu aktivierenden LEDs
    - beliebig viele Bilder können erzeugt werden und werden direkt in frei platzierbare Datei geschrieben
    - zu jedem Bild kann ein eigener Kommentar eingegeben werden
    - sollte ein Bild geändert werden müssen ist dies durch den "Bild zurück"-Button kein Problem, so kann die gesamte Animation rückwärts durchlaufen werden und bestimmte Bilder nachträglich geändert werden
    - um ein ewiges Kopieren auf den Mikrocontroller zum Testen der Bilder zu vermeiden gibt es einen Button "Play Cube", der automatisch in einer Schleife die gesamte Animation abspielt. Das Ganze kann an beliebiger Stelle beginnen, man kann auch in der Animation zurückspringen oder die gesamte Animation Bild für Bild durchklicken. Wem die voreingestellten 0,5sekunden pro Bild zu kurz sind kann die Dauer eines Bildes auch noch leicht ändern.
    - Da wir festgestellt haben, dass viele Bilder auf vorherigen Bildern basieren werden alte Bilder beim speichern nicht von der Oberfläche gelöscht, was aber ganz einfach durch einen Klick auf "ganzer Cube aus" geschehen. Zusätzlich stehen noch die Bedienelemente "ganzer Cube an", "invertieren Ebene1", "invertieren Ebene2", "invertieren Ebene3", sowie "schieben Bild hoch" und "schieben Bild runter" zur Verfügung, die eigentlich selbsterklärend sein sollten.

    Kommen wir nun zur Vorstellung des ganzen:

    Als erstes benötigen wir eine Datei, in die wir unsere Daten speichern wollen. Wir wählen dazu im Dateisystem auf der rechten Seite ein Laufwerk und einen Ordner aus und klicken auf "Datei erstellen" (bei "muster" kann noch der Dateiname geändert werden, es empfiehlt sich aber die Datei "muster" zu nennen, da diese später auch von der Software verwendet wird)

    [gallery]346[/gallery]

    Wie im öffnenden Dialog bereits angezeigt wurde die Datei erzeugt und muss nun noch geladen werden. Dazu markieren wir die Datei und drücken auf den Button "Datei laden". Im Kommentarfeld sollte nun "Bild 1" erscheinen. Darüber wird uns angezeigt, dass wir bisher noch kein Bild gespeichert haben und uns auf der Oberfläche für ein neues Bild befinden. Durch anklicken der schwarzen Blöcke können wir nun auswählen welche LED im aktuellen Bild leuchten soll. Außerdem können wir unserem Bild nun noch einen Kommentar geben.

    [gallery]347[/gallery]

    Das Bild speichern wir nun mit einem Klick auf "Aktuelles Bild speichern". Nach dem Speichern findet sich unterhalb des Kommentarfeldes für kurze Zeit die Nachricht "Bild gespeichert".
    Nachdem wir auf diese Art ein paar Bilder erzeugt haben wollen wir uns unser Werk auch einmal ansehen. Dazu klicken wir auf den Button "Play Cube". Im Anschluss öffnet sich ein neues Fenster, mit dem bekannten Würfel. Standardmäßig ist das erste Bild das Startbild und die Geschwindigkeit ist 0,5sek pro Bild. Wir klicken also einfach auf Start und schauen uns das Spektakel einmal an. Wenn die Vorstellung zuende ist und das aktuelle Fenster geschlossen wird öffnet sich wieder das alte Fenster des Editors.

    Die Steuersoftware für den Cube

    Schön und gut aber nun wollen wir uns das ganze auch mal auf einem realen Cube ansehen. Wir kopieren dafür die erstelle Datei "muster.txt" aus dem gewählten Ordner und kopieren sie in den selben Ordner wie die Datei "Cube-3x3x3-Forum.bas". Nun laden wir Bascom und öffnen darin die Datei "Cube-3x3x3-Forum.bas".

    [gallery]345[/gallery]

    Nach einem Klick auf Compile und einer kurzen Wartezeit hat Bascom alle benötigten Files erzeugt. Das Übertragen auf den Mikrocontroller kann losgehen.

    Alle, denen die Animationen auf dem Cube zu schnell gehen können folgendes im Quelltext der Datei "Cube-3x3x3-Forum.bas" ändern:
    In der Zeile

    For Dauer = 0 to 27

    bestimmt der letzte Wert die Anzahl der Durchläufe. Ein Durchlauf dauert dabei ca 15ms = 0,015s. Für eine Dauer von einer Sekunde ergäbe sich also: 1/0,015 = ca 67.

    For Dauer = 0 to 66

    würde also 67mal durchlaufen (von 0 bis 66) und damit ca 1 Sekunde beschäftigt sein.

    Der Rest des Codes sollte man als Anfänger nicht anpacken, wer Ahnung hat kann natürlich gerne dran rumbasteln.

    Wer Verbesserungsvorschläge zum Editor hat oder noch Fehler findet soll sich bitte bei mir melden, ich werds mir dann ansehen.
    Ein Fehler ist mir bereits bekannt, allerdings habe ich noch keine Lösung gefunden: Wenn man als Laufwerk ein Datenträgerlaufwerk, also z.B. CD,DVD, Floppy o.ä. auswählt, indem sich aber kein Datenträger befindet schmiert das Programm ab. Ich habe bisher noch keinen Weg gefunden das zu verhindern, aber ich arbeite dran.
    Zum Schluss möchte ich noch einen riesen Dank an Pesi loswerden, zum einen, dass er die passende Software in Bascom gebastel hat, aber zum anderen auch für die vielen hilfreichen Rückmeldungen, Tipps und Fehlerberichte. Ohne die vielen Vorschläge hätte der Editor nicht diesen Funktionsumfang. Danke Pesi :thumbsup:

    Anhang:
    Steuersoftware Bascom
    Cube-Muster-Editor Bascom
    Cube-Muster-Editor Assembler (für Fortgeschrittene)
    Dateien

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Fightclub“ ()

    So ich denke das Thema ist freigegeben zur Diskussion.
    Ich danke allen die nicht so hirnlos waren wie ein bestimmter anderer User und die Hirn vor Jackpot haben walten lassen.
    @Pesi: wie sollte er den hinweis den sehen wenn er den post nicht gelesen hat :thumbdown:

    @Admin: Vielleicht könnte man ja den Post von TechnoLogiY löschen, ich denke den wird keiner vermissen und das eigentlich angedachte Gemeinschaftstopic wird doch ziemlich durch diesen Blödsinn gestört. Vielen Dank.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Fightclub“ ()

    Hey Fightclub, super Sache, das ist doch die ideale Bedienungsanleitung für Deinen Editor!

    Und nochmals herzlichen Dank an Dich für die geniale Software (jetzt kann ich auch an meinem Cube weitermachen :D), das war wohl doch etwas mehr Aufwand, das zu programmieren, als ein paar Tipps zu geben... ;)

    Wie gesagt, damit ist das Tutorial erst mal vollständig, jetzt könnt Ihr Fragen stellen, Anregungen geben usw. ...Wir helfen gerne. Der Würfel-Virus muss sich ja verbreiten! :D

    P.S.: Fightclub: ich glaube, das wäre das erste Mal, dass ein Admin hier was unternimmt... :P

    EDIT 16.10.2008: Da es hin & wieder Probleme wegen auf 1 MHz laufenden Tinys gab, hier die korrekte Einstellung (Pony Prog) der Fusebits für den Cube:



    Alles, was hier jetzt im weiteren noch zu Fusebits gesagt wird, ist damit hinfällig..
    It's only light - but we like it!

    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Pesi“ ()

    Moin,

    möchte hier jetzt auch mal meine Begeisterung für das tolle Tutorial kundtun.
    Ich denke so werde ich mich wohl auch mal damit beschäftigen. Hatte halt noch nie was mit Programmierung und Controllern zu tun - aber das könnte aufgrund der schon vielen hier erledigten Arbeit, mein Einstieg werden.

    Aber wenn wir dann schonmal bei den Fragen sind.

    Wird es mit dem Musterprogrammiertool (MPT) auch möglich sein, Dimmstufen bzw. DUO- und RGB-Cubes, größere als 3x3x3 Cubes zu programmieren?

    Ansonsten an alle ein herzliches DANKE!! SUPER-ARBEIT!!
    Hi Waldi,

    das ist ja das Gute daran, dass Du da gar nicht programmieren können musst - es reicht, wenn Du weißt, wie man ne Datei in Bascom öffnet, kompiliert und dann auf den µC überträgt - dazu gibt's massig Infos, sowohl hier als auch anderswo im Netz...

    Die Frage zum Editor müsste eigentlich Fightclub beantworten - soweit ich weiß, wird's das für 4x4x4 auch geben (weil Fightclub selbst so einen hat) - RGB, Duo, Dimmstufen: keine Ahnung, das wäre aber auch schon wieder ein Thema für sich, hier geht es allein um den ganz simplen kleinen Cube für Anfänger....

    Fightclub: wäre evtl. noch ne Idee, einen Screenshot von den Fusebits für 8 MHz reinzustellen (weil die Fragen kommen bestimmt, wie man das einstellt)? - machst Du das oder soll ich? - bei mir dauert's etwas, weil der PC grad nicht im Netz ist...
    It's only light - but we like it!

    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

    Waldi schrieb:


    Wird es mit dem Musterprogrammiertool (MPT) auch möglich sein, Dimmstufen bzw. DUO- und RGB-Cubes, größere als 3x3x3 Cubes zu programmieren?
    Das Problem was ich im Moment damit habe ist, dass ich mir grade nicht vorstellen kann, wie das ganze intuitiv auf einer Benutzeroberfläche anzuordnen wäre. Außerdem müsste dann jemand die Steuersoftware dazu schreiben, denn der Mustereditor basiert ja auf der SW und nicht umgekehrt. Also grundsätzlich bin ich da für alles offen, aber so alleine aus dem Stehgreif kann ich da nichts machen.

    @Pesi: Bei mir würds bis zum 13.10. dauern, da ich ja dann erst aus dem Urlaub zurück bin, ich denke mal dann gehts bei dir doch schneller ;)
    So
    Habs nun endlich durch aber mir bleiben einige Fragen offen
    Ich hab nun auch schon den Cube fertig aber bei mir scheiterst an 2 Dingen...Den Transistoren und dem Attiny(den bekomme ich warscheinlich erst November :thumbdown: )

    Könntest du vielleicht nochmal zeigen wie man den Transistor verlötet ?



    2.Frage:Du hast ja deinen Schaltplan noch verändert.Ich hoffe du meinst diesen 7805 hier.Bewirkt dieser das man 12 V anschliessen kann ? Und was bedeuten diese 100µ und 100 n?

    Ich danke schonmal
    Auf der Suche nach dem Sinn des Lichtes
    @noneed: Der Transistor ist rund und hat an einer Seite eine Abflachung. Wenn du dir die Platine mit den eingezeichneten Bauteilen anguckst findest du da auch genau diese Bilder. 100µ und 100n sind Kondensatoren. Der von dir verlinkte ist genau der benötigte 7805. Wie in der Beschreibung steht ist das ein Spannungsregler, der aus (ich glaube) maximal 35V eine Spannung von 5V am Ausgang erzeugt. Wenn du dir das o.g. Bild anschaust wirst du beim 7805 an der unteren Seite noch einen schmalen Strich finden, dieser soll die Kühlplatte des 7805 darstellen, damit weißt du dann auch wie herum du den einlöten musst.
    Meinst du jetzt ein "reales" Platinen Bild oder ein "unreales" Bild ?<br><br><br>Sind das die Richtigen Kondensatoren oder gibts die auch billiger ? <br><br><a href="http://www.reichelt.de/?;ACTION=3;LA=4;GROUP=B514;GROUPID=3181;ARTICLE=3507;START=0;SORT=artnr;OFFSET=16;SID=29X05rHawQAR0AABTgHpI68fc551829ca3dc0cf75f18de5260e42">100µ</a><br><br>Gut beim <a href="http://www.reichelt.de/?;ACTION=3;LA=4;GROUP=B353;GROUPID=3169;ARTICLE=9265;START=0;SORT=artnr;OFFSET=16;SID=29X05rHawQAR0AABTgHpI68fc551829ca3dc0cf75f18de5260e42">100n</a>&nbsp; nun nicht aber sind das auf jeden Fall schonmal die richtigen ? <br>


    8| was ist den hier los ?
    Auf der Suche nach dem Sinn des Lichtes
    Also das mit den Fusebits mache ich dann, *wenn* mal die Frage auftauchen sollte...

    Wegen Editor für RGB usw.: da hatte ich mir auch schon Gedanken dazu gemacht, weil ich ja auch schon mit mehreren Helligkeitsstufen rumprobiert habe... siehe hier und hier.

    Wollte den Fightclub nur nicht mit der Frage nach nem entsprechenden Editor belästigen, weil das so bestimmt schon genug Arbeit war ;) Im Zuge dessen habe ich auch festgestellt, dass viele Abstufungen pro Bild gar keinen Sinn machen, da der Helligkeitsunterschied nicht so deutlich erkennbar ist.

    Das Datenformat lässt sich leicht an andere Größen/mehr Farben anpassen - es ist eh' schon recht "universell". Zustande gekommen ist es dadurch: so ein 3er-Würfel hat 9 Säulen, ein Byte leider nur 8 Bit - also brauche ich (wenn ich nicht noch Bytes zerlegen will) schon mal 2 Byte pro Ebene, habe der Einfachheit halber dann die Bits für die Ebenen gleich mit reingepackt, damit ich die nicht auch extra "berechnen" muss (sondern nur die Bytes an die Ports ausgeben), siehe Beispiel:

    Data &B01000001, &B11111111 ' oberste Ebene an
    Data &B00100000, &B00000000
    Data &B00010000, &B00000000

    Die roten Bits sind für die Ebenen zuständig, die grünen für die Säulen. Das System habe ich auch schon für den Tipfix auf 5x5x5 und den Fightclub auf 4x4x4 erweitert - bei 4x4x4 könnte es z.B. so aussehen (4 Ebenen, 16 Säulen):

    Data &B10000000, &B11111111, &B11111111 ' oberste Ebene an
    Data &B01000000, &B00000000, &B00000000
    Data &B00100000, &B00000000, &B00000000
    Data &B00010000, &B00000000, &B00000000

    Je nach Dimension des Würfels werden da mehr oder weniger Bits verschwendet... also für größeren Cube nach dieser Methode auch größerer µC nötig (allein schon wegen der Zahl der Portpins).

    Eine Erweiterung auf mehr Farben kann man sich jetzt einfach so vorstellen, dass die Farben Ebenen sind - ein Duo-Cube (nach der Verdrahtung von Andy_Keh) hätte dann eben 6 Ebenen, 3 rote und 3 grüne - das Datenformat (Ergebnis im Beispiel: obere Ebene rot, mittlere grün, untere Gelb) dafür würde bei dieser Verdrahtung (meine Steuerplatine) so aussehen:

    Data &B01000001, &B11111111 ' rote Ebene oben
    Data &B00100000, &B00000000 ' rote Ebene mitte
    Data &B00010001, &B11111111 ' rote Ebene unten
    Data &B00001000, &B00000000 ' grüne Ebene oben
    Data &B00000101, &B11111111 ' grüne Ebene mitte
    Data &B00000011, &B11111111 ' grüne Ebene unten

    Da sind halt keine Zwischenstufen möglich, nur "aus", "rot", "grün" und "gelb". Das könnte der Tiny auch noch, müsste man halt auf der Steuerplatine noch einen 6. Transistor einbauen... für RGB sind's dann 9 Ebenen (3 rote, 3 grüne und 3 blaue), da bräuchte man schon nen Mega 8 o.ä., auch wegen dem Speicherbedarf - das wäre dann aber ein eigenes Thema, gehört nicht mehr hierher... ebenso wie volle Farbmischung pro LED, das ist dann nicht mehr so trivial (viele PWM-Kanäle).

    Die Umsetzung im Editor würde ich mir da so vorstellen: momentan klickt man die LEDs ja an und bei erneutem Klick wieder aus - für Duo (rot, grün, gelb) oder RGB (einfaches RGB, mit 7 Farben) müsste halt dann z.B. links ne Palette sein, man klickt auf die Farbe und "malt" dann die LEDs damit an, die diese Farbe haben sollen - es wäre auch kein Problem, ne Steuer-SW zu programmieren, die dann für nen einfarbigen Cube die Duo-Zustände "aus, rot, grün, gelb" in 4 Helligkeitsstufen übersetzt...

    Wie schon gesagt, mehr Stufen machen nach dieser Methode auch keinen Sinn: wollte man damit z.B. den Cube "stufenlos" von rot über gelb nach grün überblenden, würde man bei 8-Bit-Auflösung dazu 512 Bilder (á 54 Byte, 2 Byte pro LED) benötigen! - das wäre kompletter Quatsch, die alle per Hand zu erstellen und im Speicher abzulegen (ginge bei dem Tiny auch schon gar nicht mehr), das müsste man eh' per SW machen....
    It's only light - but we like it!

    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!
    Ich hoffe ich bin in diesem Therad nicht total falsch, wollte nicht extra für eine Frage nen neuen aufmachen.

    Erst mal ein total großes Lob, bin total begeistert von der arbeit die ihr euch macht um totalen neulingen den einstieg in die LED Welt zu erleichtern.

    Zu meiner Frage:
    Also ihr habt den Programmcode oben ja in Basic, ich will meinen Controller in Assembler programmieren, bin auch schon recht weit, das einzige was mir fehlt ist die Zeitverzögerung zwischen den "Bildern" des Cube.

    Gibt es für Assembler auch ein Befehl wie in Basic um eine Zeitversögerung zu erzielen?
    Habe schon einige Befehls listen durch, und leider nichts gefunden.

    Die möglichkeit über den internen Timer das ganze zu realisieren ist natürlich auch möglich, aber dachte evtl. gibt es ja evtl. nen einfachen Befehl.

    Danke schon mal für eure Hilfe.

    Der Tobi - iBot
    nee, gibt keinen einfachen Befehl - entweder Timer, oder ne Warteschleife ...hier mal ein Beispiel für ne Warte-Routine aus nem anderen Projekt:

    Brainfuck-Quellcode

    1. ; ------------------------------------------------------------------------------------------------
    2. warten: ; 2 verschachtelte Warteschleifen
    3. push temp2 ; Statusregister + Temp sichern
    4. push temp1
    5. push temp0
    6. in temp0, SREG
    7. ldi temp1, 0xff ; 255 Wiederholungen --> Geschwindigkeit Fader
    8. loop1:
    9. ldi temp2, 0xff ; 255 Wiederholungen --> Geschwindigkeit Fader
    10. loop:
    11. dec temp2
    12. brne loop
    13. dec temp1
    14. brne loop1
    15. out SREG, temp0 ; Statusregister + Temp wiederherstellen
    16. pop temp0
    17. pop temp1
    18. pop temp2
    19. ret

    da werden einfach soundsoviel Befehle abgearbeitet, Zeit muss man anhand Prozessortakt und Befehlszyklen selbst ausrechnen - falls dazu noch Fragen sind, bitte nicht hier, das ist absolutes Grundlagenwissen, hat nichts direkt mit dem Cube zu tun...
    It's only light - but we like it!

    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!
    Chris: kein Problem, passt ja jetzt! :) - daher dieser Beitrag auch "geschrumpft"...
    It's only light - but we like it!

    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Pesi“ ()