Forum: Projekte & Code Pollin LED Cube


von Ernst (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

bei Pollin wird zur Zeit ein 3x3x3 LED Cube Bausatz angeboten:
http://www.pollin.de/shop/dt/NzY3OTgxOTk-/Bausaetze_Module/Bausaetze/Bausatz_LED_Cube.html

Eigentlich nichts besonderes aber zum Basteln ganz nett.
Also mal das Teil bestellt und zusammengebaut. Nur die Anleitung
für die LEDs zum Montieren ist besch.... gemacht. Da gibt es bessere
Lösungen. Einfach mal danach googlen.

Mit dem bereits fertig programmierten ATTiny2313 ist die Animation nicht 
gerade atemberaubend aber zum Testen reicht es.

Nun zum eigentlichen Thema:
Hauchen wir dem Tiny neues Leben ein. Also ein neues Programm in C
geschrieben um längere Animationen abspielen zu können. Leider kann man
mit dem Tiny natürlich keine großen Sprünge machen also war der nächste
Schritt, das Ganze doch in Assembler zu schreiben. Das Programm ist 
recht einfach und sollte auch kurz sein, damit mehr für die Animation 
Platz hat.

Im Anhang nun das Programm und das Hex File.
Das Programm spielt nur die Animation ab, mehr eigentlich nicht.
Der Taster hat die Funktion, die Animation zu bremsem.

Vielleicht hat noch jemand Ideen, wie man das Programm noch kürzer
bekommt oder auch eine Möglichkeit die Daten anderswo zu speichern.

Ernst

von Fred (Gast)


Lesenswert?

Wie sieht denn die Schaltung dazu aus?

von Ernst (Gast)


Lesenswert?

Unter dem Pollin Link kann man sich auch die Anleitung runterladen.
Alternativ gleich hier unter diesem Link:

http://www.pollin.de/shop/downloads/D810232B.PDF

Auf der letzten Seite ist dann der Schaltplan enthalten.

von Christof Rieger (Gast)


Lesenswert?

Erschreckend welche Energieverschender die Entwickler von Pollin sind 
:-). Der ATtini läuft auch mit 3V. Die Transistoren kann man in 
Collektorschaltung verschalten und damit auf alle Widerstände 
verzichten. 0,7V fallen dann an den Transistoren ab und 0,3 Volt 
verkafren die Ports des ATtiniys. Bleiben 2,0 V für die LED. Einziger 
Nachteil man braucht ein Programmer der mit 3V klar kommt  :-). Der 
Pollinaufbau hat ca. 77% Verlustleistung. Der vereinfachte Aufbau nur 
33%.
Bitte nicht zu ernst nehmen  ;-)

LG Christof

von Ernst (Gast)


Lesenswert?

Mir gings eher ums Programmieren und Code sparen und nicht um den Strom 
:-)

Wenn man das Teil aber mit einer Batterie betreibt, wäre das schon ein
wichtiger Gesichtspunkt.

Ich nehmen alles

Ernst.

von Christof Rieger (Gast)


Lesenswert?

Hallo Ernst  :-)
Am Code selbst holst du maximal 20 % raus. Das reicht dir wahrscheinlich 
nicht mal für ein neues Muster. Interesanter wird es, wenn man vieleicht 
eine Datensequenz opfert und eine Art “morphing“ code dazu schreibt.Der 
dann die Daten dreht oder ähnliches, dann kann es sehr vielseitig werden 
und sehr lange Sequenzen ergeben.
Lg Christof

von Ernst (Gast)


Lesenswert?

Momentan werden ja 4 Bytes pro Bild verwendet die den kompletten
Cube darstellen.
Alternativ könnte man auch nur ein Byte verwenden und nur das Delta
anwenden. Aber bei den meisten Bildwechsel ändern sich aber mehr
als vier LED so das hier auch keine Ersparnis raus zu holen ist.

von Mike (Gast)


Lesenswert?

Ernst schrieb:
> Auf der letzten Seite ist dann der Schaltplan enthalten.
Ein Kondensator über der VCC des µC ist wohl dem Rotstift der 
Betriebswirtschaftler zum Opfer gefallen ;-(

von Ernst (Gast)


Lesenswert?

Mike schrieb:
> Ernst schrieb:
>> Auf der letzten Seite ist dann der Schaltplan enthalten.
> Ein Kondensator über der VCC des µC ist wohl dem Rotstift der
> Betriebswirtschaftler zum Opfer gefallen ;-(

hmm, ein Kondensator zwischen VCC und GND sollte doch reichen oder?
Gerade, weil das eigentlich für Batteriebetrieb gedacht ist.

von Ernst (Gast)


Lesenswert?

Ist schon interessant, 93 Downloads aber keine Kommentare dazu.

Gut, es erfüllt ja auch seinen Zweck. Hier steht der Würfel am
Fensterbrett und blinkt vor sich hin. Einige Besucher können dem
Teil auch ewig zusehen. :-) Scheint eine einlullende Wirkung zu haben.

Aber sonst wird doch hier auch immer alles zerrissen.

Wie könnte man den Code noch kleiner machen oder alternativ die
Muster extern speichern?

Ernst

von heiko2908 (Gast)


Lesenswert?

Hallo
habe es mal ausprobiert und bin zufrieden ....... macht Lust auf mehr

von Fred (Gast)


Lesenswert?

Mit einem ATtiny4313 hätte man noch mal genügend Speicher
für weitere Muster.

von Johannes (Gast)


Lesenswert?

Hallo Ernst

Mich würde dein C-Code trozdem interessieren da ich mich momentan mit 
der ansteuerung von so einem Cube beschäftigen will, jedoch von 
Assambler keine Ahnung hab. Wäre dir sehr dankbar wenn du den auch noch 
mit hochladen könntest.

Lg
Johannes

von Doctor Who (Gast)


Lesenswert?

Hallo,

ich hatte diesen Bausatz schon sehr lange im Keller herumliegen, aber 
jetzt hatte ich mal Zeit und Lust gehabt "das Dingen" aufzubauen.
In diesem zusammenhang habe ich auch Dein Programm entdeckt (Vielen Dank 
dafür) welches um einiges besser ist als das mitgelieferte.

Ich habe eigentlich nur eine kurz banale Frage, falls der Programm-Autor 
noch mitliest :

Ist das Programm für 8 MHz oder für 4 Mhz geschrieben ? Irgendwie habe 
ich das Gefühl, das bei 8 MHz die Animationen teilweise etwas zu 
schnell, aber dafür bei 4 MHz irgendwie etwas zu langsam ablaufen.

MfG Der Doctor

von Doctor Who (Gast)


Lesenswert?

Okay, die Frage hat sich erledigt.
Hab im Quelltext gesehen, das die Pause bei gedrückter Taste 1s ist. Das 
passt dann für 8 MHz.

von Michi (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

erstmal vielen Dank an Ernst für die tolle lange Sequenz! Viel besser 
als das Original!

Ich habe den Assembler Quelltext mal so angepasst, dass zwischen den 
Mustern per PWM ein fließender Übergang stattfindet (siehe Anhang). 
Damit finde ich es nochmal schöner anzusehen.
Solange der Taster gedrückt wird findet jetzt zum Vergleichen der harte 
Übergang statt.

Schöne Grüße,
Michi

von Klaus R. (klaus2)


Lesenswert?

...du fummelst 2019 an einem 3x3 Cube in ASM rum? Hut ab für den 
akademischen Anspruch!

Klaus.

von Manfred (Gast)


Lesenswert?

Klaus R. schrieb:
> ...du fummelst 2019 an einem 3x3 Cube in ASM rum?

Michi tut genau das, was in anderen Threads immer vorgebetet wird: Den 
ATTiny auf der unteren Ebene begreifen anstatt in C oder Basic zu 
fummeln.

Das ist genau der richtige Lernweg , mit einer überschaubaren 
Anwendung zu beginnen.

Man kann natürlich auch nicht ausschließen, dass er bereits Erfahrung 
mit ASM hat und das 'mal eben so' gemacht hat.

Beitrag #5696478 wurde vom Autor gelöscht.
von Hardy F. (hardyf)


Lesenswert?

Kann bitte mal jemand ein Foto der Unterseite der Platine anfertigen und 
hochladen ?

Zum Nachzeichnen ...

Vielen Dank

von Michi (Gast)


Lesenswert?

Hallo,

ich hatte früher viele Jahre unter anderem PIC16 in Assembler 
programmiert, aber noch nie einen AVR. Aber ich hatte ja 
dankenswerterweise eine gute Codebasis von Ernst.

Den Pollin-Bausatz hat mein Kind gelötet. Aber da die originalen 
Sequenzen sehr kurz sind, bin ich sehr froh über das lange Muster von 
Ernst. Das nahtlose Dimmen zwischen zwei Mustern hat mich gereizt und 
auch irgendwie gefreut es hinbekommen zu haben.

(Hardy, die Unterseite ist bei mir verklebt, aber im Pollin Video sieht 
man sie bei 0:22.)

Schöne Grüße,
Michi

von Michi (Gast)


Lesenswert?

ach vergessen:

Ich habe an die Platine zur Spannungsversorgung ein USB-Kabel nach dem 
Linearregler angelötet. So kann der Würfel stundenlang vor sich hin 
morphen ...

von Ernst (Gast)


Lesenswert?

Hallo,

ich hab durch Zufall meinen Thread hier wieder entdeckt.
Schön, dass sich doch mal jemand noch Gedanken dazu gemacht hat.
Bei mir läuft der Cube ab der Adventszeit bis ins neue Jahr in der
bisherigen Version. Ich werde nun mal die neue Version testen und
dabei mal den 4313 verwenden. Da muss ich dann noch ein paar
Sequenzen basteln.

Natürlich kann man das auch in eine Hochsprache unter Windows
realisieren, aber die 150MB passen dann halt nicht in einen AVR. :-)

Ernst

von Hardy F. (hardyf)


Lesenswert?

Danke Michi für deine Antwort.

Vielleicht kann Ernst mal ein Foto der Unterseite hier reinstellen... ?

Danke dafür schon jetzt

von Ernst (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

eigentlich sind alle Informationen bei Pollin zu finden.

Bevor man sich hier die Mühe macht, die Platine selber zu ätzen,
kauft man sich einfach den Bausatz von Pollin.
Wenn man sich schon die Arbeit antun will, dann kann man auch ein
eigenes Layout machen und z.B eine ISP Buchse mit intergrieren.

@Michi: Ich hab mit dein Hex auf den Cube geladen, sieht doch ganz
nett aus. Allerdings scheint das Image für 1MHz ausgelegt zu sein?

Ernst

von Michi (Gast)


Lesenswert?

Hallo Ernst,

der Bausatz ist bei Pollin "aktuell nicht lieferbar", scheint aber 
nachproduziert zu werden. Sonst steht da "nicht mehr lieferbar", wenn 
man sich einen Link irgendwo aufgehoben hat.

Ich habe naiv und aus Unkenntnis einen USBasp-Klon zum Programmieren 
gekauft gehabt, statt einen richtigen Atmel Programmer. Damit könnte ich 
zwar anscheinend zur Not auch die Fuse-Bits programmieren um die 
Frequenz einzustellen, aber wenn ich es richtig verstehe kann ich manche 
nicht zurücksetzen, da es kein High Voltage Programmer ist. Und da alles 
funktionierte habe ich keine Fuse Bits programmiert. Die Settings 
dürften also noch denen vom Original Pollin Chip entsprechen, den ich 
einfach umprogrammiert habe. Und ja, ich denke von meinen Beobachtungen 
her, dass es 1 MHz sein müssten.

Ich war es von meinen PIC Projekten so gewohnt dass ich dort über die 
__config Direktive die Fuse-Bits im Quelltext setzen kann und diese dann 
auch in der hex-Datei drin sind. Bei Atmel habe ich so eine Funktion 
nicht gefunden gehabt, es dann aber ja auch nicht zwingend gebraucht.

Mein Kind freut sich immer noch sehr über die lange Musterfolge von dir. 
Nochmals vielen Dank!

Schöne Grüße,
Michi

von Hardy F. (hardyf)


Lesenswert?

Dankeschön

@Ernst und Michi

: Bearbeitet durch User
von Ernst (Gast)


Angehängte Dateien:

Lesenswert?

@Michi: Ich hab hier zufällig auch den USBasp zum Programmieren 
verwendet.
Allerdings hab ich die aktuelle Firmware installiert, was ohne zweiten 
Progger schwierig sein dürfte.

Mit avrdude und Burn-O-Mat läuft das relativ problemlos. Nur, wenn der 
Takt des Tinys auf 1MHz steht, kann der Progger nicht mehr einfach 
zugreifen. Jetzt muss man unter Optionen -B den Takt runtersetzen.
(Im Bild rechts unten)

Auch mit meinen 3€ Progger läuft das problemlos und auch das Programm 
läuft genauso gut wie unter einen 300€ Programmierer.

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
Noch kein Account? Hier anmelden.