LED Cube 5x5x5

Unterbodenbeleuchtung, Pimp my room, usw.

Moderator: T.Hoffmann

Borax
Star-Admin
Star-Admin
Beiträge: 12243
Registriert: Mo, 10.09.07, 16:28

Mo, 07.06.10, 15:32

In der Simulation macht er auch so ne faxen!
Also der Fehler tritt auch in der Simulation reproduzierbar auf?
Dann kommen wir der Sache vielleicht doch noch auf den Grund. Simulation kann ich auch mal durchspielen, reale Schaltung werde ich mir deswegen aber nicht aufbauen (ich hab auch keinen Mega32 zum testen da).
Bitte mal den aktuellen code + Musterdatei(en) in ein Zip packen und hier posten. Dann muss ich mir das nicht zusammensuchen um es in BASCOM zu laden...
Borax
Star-Admin
Star-Admin
Beiträge: 12243
Registriert: Mo, 10.09.07, 16:28

Di, 08.06.10, 10:09

Fehler gefunden! Scheint ein echter Bascom Fehler zu sein (komisch dass dieses 'Verhalten' beim Standard-3x3x3Cube noch keinem aufgefallen ist - da ist es das gleiche Problem). Bei mir war es kein Problem, da ich genau die im folgenden gezeigte Lösung schon verwendet hatte (wenn auch aus anderen Gründen*).
@All
Bitte auch mal anschauen/testen - vielleicht ist es ja doch ein Denkfehler von mir und Punk3110
Das Problem sind anscheinend 'gemischte' Datentypen in einer Tabelle:

Code: Alles auswählen

Data 126%    ' <- Word
Data &B00000000, &B00000000, &B00000000, &B00111110  ' <- Bytes
Data &B11111111, &B11111111, &B11111111, &B11111111 '  zu Testzwecken alle folgenden 630 Zeilen mit &B11111111 
...
In diesem Fall erzeugt BASCOM beim Eintrag 1025 ein zusätzliches 0-Byte

Code: Alles auswählen

Dim Offset as Word
Dim Temp as Byte

Offset =  Lookup(0 , Muster) ' =126

Temp = Lookup(1023 , Muster) ' =255
Temp = Lookup(1024 , Muster) ' =255
Temp = Lookup(1025 , Muster) ' =0 (!!!)
Temp = Lookup(1026 , Muster) ' =255
Dieses 0-Byte ist nicht nur in der Simulation, sondern auch im Code (Ausschnitt aus der .HEX Datei):
:10063000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA
:10064000FF
00FFFFFFFFFFFFFFFFFFFFFFFFFFFFB9
:10065000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA


Wenn man die gleichen Daten anders 'aufbaut':

Code: Alles auswählen

Bilder:
Data 126%
Muster:
Data &B00000000, &B00000000, &B00000000, &B00111110  ' <- Bytes
Data &B11111111, &B11111111, &B11111111, &B11111111 '  zu Testzwecken alle folgenden 630 Zeilen mit &B11111111 
...
Dann ergibt:

Code: Alles auswählen

Dim Offset as Word
Dim Temp as Byte

Offset =  Lookup(0 , Bilder) ' =126

Temp = Lookup(1023 , Muster)' =255
Temp = Lookup(1024 , Muster)' =255
Temp = Lookup(1025 , Muster)' =255
Temp = Lookup(1026 , Muster)' =255
Die .Hex-Datei ist auch 'sauber':
:10063000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA
:10064000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA
:10065000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA

Also bei großen Datenfeldern keine Datentypen 'mischen'!

Der 'Cube-Code' wird dadurch sogar einfacher, weil das Offset = Offset + 2 entfällt.

* Ich habe die Bilder in Sequenzen unterteilt so dass ich für jede Sequenz ein Anzahl von Wiederholungen mit ggf. unterschiedlichen Geschwindigkeiten vorgeben kann. Die einzelnen Sequenzen werden über einen Zufallsgenerator ausgewählt. Dafür waren schon mehrere Datenfelder erforderlich: Ein Feld mit den Startadressen der Sequenzen (nur Words) und die eigentlichen Sequenzen (nur Bytes)
Punk3110
User
User
Beiträge: 22
Registriert: Fr, 21.05.10, 17:21

Do, 10.06.10, 07:13

AAAAAAAAAHHHHHHHHHHH! Wie geil! Wenn das klappt... :D Auf so eine Sch... muss man erst mal kommen! Ich Teste das heute Abend nach der Uni gleich aus!


EDIT:

JAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!!!! Das war es! Wie geil jetzt läufts! ICH DANKE DIR!!!!! Da hat sich jemand ne verewigung im Programm verdient!:D
Punk3110
User
User
Beiträge: 22
Registriert: Fr, 21.05.10, 17:21

Sa, 12.06.10, 22:50

Sooooo... Da habt Ihr es! 5x5x5 Led Cube Muster Generator Programm Dings! :-)

http://rapidshare.com/files/398335066/5 ... nk3110.rar

Feedback wäre nich schlecht!
brotherhood
Mini-User
Beiträge: 1
Registriert: So, 24.04.11, 10:06

So, 24.04.11, 10:25

Hi!
Ich wollte mich mal ganz herzlichst bedanken für die SW 5x5x5 cube
Der Editor ist schon ne feine Sache,wenn auch verbesserungswürdig.
Z.B wäre gut wenn quasi mehr Grundfiguren wie z.B. die opt.mit den 3 Ausrufezeichen drinne wären
Was auch gut wäre,wenn man zb ne Funktion hätte wie turn cw ccw(also z.B. Ebenen drehen vertikal oder horiz
Ich hab z.B.versucht Raindrops(also obere Ebene an und denn einzelne bits nach unten fallen lassen,bis die untere Ebene voll ist.(das dauert natürlich ewig und man verliert schonmal den Überblick,weil man ja keine simulationsfunktion hat.
Aber ich will hier ned rummeckern,da ich nur Nutzniesser bin und vom Programmieren garnix verstehe
Ich hab jetzt schon ne Menge Würfel hier rumstehen und bin gerade am 8x8x8 drann.Das geht natürlich nichtmehr so einfach ohne splitten der Ports,aber die Matrize is bald fertig.

Allen cubefans fröhliche Ostern.

the cube must go on!!
Nico
KoenigSnuesse
Mini-User
Beiträge: 2
Registriert: Mo, 19.12.11, 13:21

Mo, 19.12.11, 14:03

Hey danke leute, das hat mir auch geholfen, kann man dann die Daten so lang machen, bis nix mehr in den chip passt? das wäre echt geil ..

hatte auch das Problem, daß nach ca. 58 Bildern a 18 Byte nur noch Murks kam. Bei mir wars nur kein Würfel (den hab ich schon hinter mir, habs geschafft, nen RGB 4x4x4 mit nur 16 Ausgängen zu steuern, aber noch net mit nem Atmel, sondern mit nem C-Control *kotz*), sondern ein Weihnachtsbaum, den ich mit 6x12 Matrix angesteuert hab.

den 5x5x5 in rot hab ich vorbereitet, is aber noch kein Chip drin, vielleicht paßt ja die software von hier, wenn ich die Elektronik anpasse :-))

bis demnächst wieder hier ...
Borax
Star-Admin
Star-Admin
Beiträge: 12243
Registriert: Mo, 10.09.07, 16:28

Mo, 19.12.11, 15:21

Hallo KoenigSnuesse,
welcome on board!
kann man dann die Daten so lang machen, bis nix mehr in den chip passt?
Klar. Warum nicht?
sondern mit nem C-Control
Werden die auch mit Bascom programmiert?
ein Weihnachtsbaum, den ich mit 6x12 Matrix angesteuert hab.
Auch nicht schlecht! Gibt's Fotos? :)
KoenigSnuesse
Mini-User
Beiträge: 2
Registriert: Mo, 19.12.11, 13:21

Mo, 26.12.11, 17:17

Danke für das willkommen Borax, hab nur seit dem beitrag nimmer reingeschaut, hatte zuviel zu tun (Weihnachtschaos eben)

das hab ich inzwischen auch festgestellt, daß man den chip dann so richtig vollknallen kann, der Baum läuft super, fällt fast nicht auf, daß ich da keine latches verbaut hab, das nachglimmen sieht man fast nicht.

nee, die c-control verstehn bei bascom nur bahnhof, aber die neueren sind ähnlicher zu den atmels, weil da ein atmel verbaut ist, allerdings mit geänderter software. total kompliziert, mit c-basic kriegt man nicht alles hin, und durch die geänderte software sind die ewig langsam (das multiplexen sieht man mit dem bloßen auge (kotz). da war die alte schneller (hatte nen zc441199fh chip von motorola (glaub ich) drin, original getaktet mit 4 MhZ, hat mir net gereicht, hab nen 12 Mhz Quarz reingefummelt und zum programmieren (funzt nur bei 4 Mhz) den alten über nen Schalter wechselbar mit reingesetzt). da mir die 16 Ausgänge nicht gereicht haben, um 4x4x4RGB direkt anzusteuern, hab ich nur 1 Säule mit 4 LEDs a 3 Farben = 12 LEDs über die restlichen 4 Ausgänge und nem 4067 (1 aus 16 Multiplexer) dann durchgescannt. funzt bei 12 Mhz prima, bei 4 Mhz flackert es aber ordentlich.

deswegen bin ich auch umgestiegen, nicht zuletzt wegen der unverschämten preise beim großen C.

nach längerer Einarbeitung konnte ich das mit dem mega32 genauso machen, was ich vorher mit der alten C-Control gemacht hab.

den weihnachtsbaum hab ich noch nicht fotografiert, aber werd ich nachholen, eventuell sogar n kleines video reinstellen falls das hier geht. dafür hab ich nen mega8 genommen, der reicht dafür völlig.
Antworten