LED Cube 3x3x3 leicht gemacht
Moderator: T.Hoffmann
hmm.... kann mir vielleicht jemand den bascom code für nen 5x5x5 schreiben? Ich sitz hier jetzt schon den ganzen Tag und Ärger mich mit dem assembler rum... Muster aus ner txt lesen krieg ich nich gebacken... mit .db usw. bin jetzt locker bei 100 zeilen code... hab da ziemlich rum geaast!:-) und in bascom sind das ja nur so ein paar zeilen...^^
Das geht einfach nich... 
Ich hab jetzt mal ein bischen in dem Bascom code rum gepfuscht...
In der .txt steht das hier:
Der sollte also nur LED 1 und LED 2 abwechselnd an und aus schalten.... Der gibt aber völlige grütze aus!
Hier n Bild wie es verkabelt is... sryy is nur n Schmierzettel!

Uploaded with ImageShack.us
Kann mir da BITTE BITTE einer helfen??? Ich schmeiss das Ding sonst aus´m Fenster!:-)
Ich Tippe drauf, dass das Bitmuster falsch is...
Hier n Video von dem Malör:
http://yfrog.com/55mvi0634z
Ich hab jetzt mal ein bischen in dem Bascom code rum gepfuscht...
Code: Alles auswählen
$regfile = "m32def.dat"
$hwstack = 32
$swstack = 10
$framesize = 40
$crystal = 16000000
'-------------------------------------------------------------------------------------------------
' Ports auf Ausgang setzen
'-------------------------------------------------------------------------------------------------
Ddra = &B11111111
Ddrb = &B11111111
Ddrc = &B01111111
Ddrd = &B00111111
'-------------------------------------------------------------------------------------------------
' Variablen deklarieren
'-------------------------------------------------------------------------------------------------
Dim Bild As Word ' Aktuelle Bildnummer
Dim Maxbild As Word ' Nummer des letzten Bildes (=Zahl der Bilder in der Animation)
Dim Ebene As Byte ' Ebenen-Zähler
Dim Dauer As Byte ' Anzeigedauer des Bildes
Dim Temp As Byte ' für Berechnungen
Dim Offset As Word ' Position der zu holenden Daten
'-------------------------------------------------------------------------------------------------
' Hauptprogramm
'-------------------------------------------------------------------------------------------------
Do
Maxbild = Lookup(0 , Muster) ' Anzahl der gespeicherten Bilder holen
Maxbild = Maxbild - 1 ' 1 abziehen, da von 0 ab gezŠhlt wird
Offset = 0 'Offset setzen (in .txt Zeile 1)
Offset = Offset + 2 'Bildanzahl und Leerzeile Überspringen
For Bild = 0 To Maxbild ' Bilder durchzaehlen
For Dauer = 0 To 64 ' Dauer des Bildes, pro Durchlauf ca. 15 ms
For Ebene = 1 To 5 ' 5 Ebenen durchmultiplexen
Porta = Lookup(offset , Muster) 'PortA ausgeben
Offset = Offset + 1 'in .txt eine Zeile weiter gehen
Portb = Lookup(offset , Muster) 'PortB ausgeben
Offset = Offset + 1
Portc = Lookup(offset , Muster) 'PortC ausgeben
Offset = Offset + 1
Portd = Lookup(offset , Muster) 'PortD ausgeben
Waitms 5 ' diese Ebene fuer 5 ms anzeigen
Next Ebene
Next Dauer
Next Bild
Loop ' Programm von vorne beginnen
End
'-------------------------------------------------------------------------------------------------
Muster:
'-------------------------------------------------------------------------------------------------
$include "muster.txt" ' Datei mit Mustern einbindenstern einbindenCode: Alles auswählen
Data 1% ' 1 Bilder in der Animation
Data &B00000001 'PORTA
Data &B00000000 'PORTB
Data &B00000000 'PORTC
Data &B00000010 'PORTD
Data &B00000010 'PORTA
Data &B00000000 'PORTB
Data &B00000000 'PORTC
Data &B00000010 'PORTDHier n Bild wie es verkabelt is... sryy is nur n Schmierzettel!

Uploaded with ImageShack.us
Kann mir da BITTE BITTE einer helfen??? Ich schmeiss das Ding sonst aus´m Fenster!:-)
Ich Tippe drauf, dass das Bitmuster falsch is...
Hier n Video von dem Malör:
http://yfrog.com/55mvi0634z
Programm änderung...
in txt
In der Simulation macht er auch alles wunderbar... aber auf dem Cube fehlen 4 Säulen und nach ner Zeit läuft er willkürliche Muster durch!
Will mir denn gar niemand helfen?
Code: Alles auswählen
$regfile = "m32def.dat"
$framesize = 32
$swstack = 32
$hwstack = 32
$crystal = 16000000
'-------------------------------------------------------------------------------------------------
' Ports auf Ausgang setzen
'-------------------------------------------------------------------------------------------------
Config Porta = Output
Config Portb = Output
Config Portc = Output
Ddrd = &B00111111
'-------------------------------------------------------------------------------------------------
' Variablen deklarieren
'-------------------------------------------------------------------------------------------------
Dim Bild As Word ' Aktuelle Bildnummer
Dim Maxbild As Word ' Nummer des letzten Bildes (=Zahl der Bilder in der Animation)
Dim Ebene As Byte ' Ebenen-Zähler
Dim Dauer As Byte ' Anzeigedauer des Bildes
Dim Temp As Byte ' für Berechnungen
Dim Offset As Word ' Position der zu holenden Daten
Dim A As String * 1
Dim B As String * 1
Dim C As String * 1
Dim D As String * 1
'-------------------------------------------------------------------------------------------------
' Hauptprogramm
'-------------------------------------------------------------------------------------------------
Do
Maxbild = Lookup(0 , Muster) ' Anzahl der gespeicherten Bilder holen
For Bild = 0 To Maxbild ' Bilder durchzaehlen
For Dauer = 0 To 27 ' Dauer des Bildes, pro Durchlauf ca. 15 ms
For Ebene = 0 To 4 ' 5 Ebenen durchmultiplexen
Offset = Bild * 20 ' Offset Berechnen, 6 Byte pro Bild
Temp = Ebene * 4 ' 2 Byte pro Ebene
Offset = Offset + Temp
Offset = Offset + 2
Porta = Lookup(offset , Muster) 'PortA ausgeben
Offset = Offset + 1 'in .txt eine Zeile weiter gehen
Portb = Lookup(offset , Muster) 'PortB ausgeben
Offset = Offset + 1
Portc = Lookup(offset , Muster) 'PortC ausgeben
Offset = Offset + 1
Portd = Lookup(offset , Muster) 'PortD ausgeben
Waitms 500 ' diese Ebene fuer 5 ms anzeigen
Next Ebene
Next Dauer
Next Bild
Loop ' Programm von vorne beginnen
End
'-------------------------------------------------------------------------------------------------
Muster:
'-------------------------------------------------------------------------------------------------
$include "muster.txt" ' Datei mit Mustern einbindenstern einbindenin txt
Code: Alles auswählen
Data 1% ' 1 Bilder in der Animation
Data &B11111111, &B11111111, &B11111111, &B00000001
Data &B11111111, &B11111111, &B11111111, &B00000001
Data &B11111111, &B11111111, &B11111111, &B00000001
Data &B11111111, &B11111111, &B11111111, &B00000001
Data &B11111111, &B11111111, &B11111111, &B00000001 Will mir denn gar niemand helfen?
Da das Problem auch beim 'Original' 3x3x3 Cube auftritt (wenn man mehr als 1024 Bytes in der Muster-Datei hat - entspricht beim 3x3x3 Cube etwa 170 Bilder), verlinke ich hier mal zum Nachfolge Thread...
Lösung des Problems hier:
viewtopic.php?p=120198#p120198
Lösung des Problems hier:
viewtopic.php?p=120198#p120198



