LED Cube 3x3x3 leicht gemacht

Anleitungen für "hausgemachte" LED Projekte

Moderator: T.Hoffmann

Punk3110
User
User
Beiträge: 22
Registriert: Fr, 21.05.10, 17:21

Mo, 24.05.10, 19:44

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...^^
Punk3110
User
User
Beiträge: 22
Registriert: Fr, 21.05.10, 17:21

Mi, 26.05.10, 19:18

Das geht einfach nich... :-(
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 einbinden
In der .txt steht das hier:

Code: 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		'PORTD
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!
Bild

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
Punk3110
User
User
Beiträge: 22
Registriert: Fr, 21.05.10, 17:21

Do, 27.05.10, 20:01

Programm änderung...

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 einbinden


in 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	
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? :-(
Borax
Star-Admin
Star-Admin
Beiträge: 12243
Registriert: Mo, 10.09.07, 16:28

Fr, 11.06.10, 08:39

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
loefel
Mega-User
Mega-User
Beiträge: 108
Registriert: Mi, 27.10.10, 08:54

Di, 02.11.10, 09:52

Mit was hast du es den Programmiert ?! und welchen Controller hast du den verwendet ?! :?:
Antworten