Ach ok. Jetzt hab ich das verstanden.
Welcher IC könnte dann so eine "Folge" halten?
Ach ok. Jetzt hab ich das verstanden.
Welcher IC könnte dann so eine "Folge" halten?
"While the LE input is held at a high level, the Q
outputs will follow the data input precisely or
inversely. When the LE is taken low, the Q outputs
will be latched precisely or inversely at the logic level
of D input data."
https://cdn-reichelt.de/docume…74HC563_74HC573%23STM.pdf
Also ich hab das so verstanden, dass ich das Signal an D anlege und Q wird das Signal in einer "Endlosschleife" bis zu einem neuen Signal halten.
HW-PWM geht leider nicht, da ich für jede der 16 Säulen ein PWM-Signal benötige.
Ok ich habe vielleicht etwas zu wenig Infos gegeben wie das genau aussehen soll.
Meine konkrete Frage zu dem Projekt ist diese:
Ich sende durch meinen Atmega z.B. das Software PWM an folgenden Latch (74HC 573): 1/8 der Zeit ein; 7/8 aus
Würde dieser Teil so aufgehen?
pina.1 = 1 (LE Pin vom Latch)
pina.0 = 1
waitus 1
pina.0 = 0
waitus 7
pina.1 = 0
und wenn ich nun den Latch am LE Pin abschalte wiederholt er mir diesen Befehl, bis ich LE wieder high setze und einen neuen Befehl gebe?
Hey,
ich habe vor, einen 4x4x4 RGB Cube zu bauen.
Ich möchte jede Säule einzeln ansteuern (durch folgende Latches 74HC 573).
Alle Ebenen werden seperat von einem Transistor/FET durchgeschaltet.
Nun meine Frage:
Ich habe mich mal hin gesetzt und folgenden Code teils aus dem Internet teils selbst geschrieben.
Würde dieser Code funktionieren, bzw. hättet ihr Verbesserungsvorschläge?
Danke
Gruß Shock
$regfile = "m16def.dat"
$crystal = 1000000
Config Porta.0 = Output ' Latch rot
Config Porta.1 = Output ' Latch blau
Config Porta.2 = Output ' Latch grün
Config Portb.1 = Output ' Ebene (1)
Config Portc.0 = Output ' Signal für Latch 1-8
Config Portd.0 = Output ' Signal für Latch 9-16
Porta = &B11111111
Portb = &B11111111
Portc = &B11111111
Portd = &B11111111
Dim Wiederholung As Word
Dim Weiter_latch As Word
Dim Weiter_signal1 As Word
Dim Weiter_signal2 As Word
Dim Weiter_ebene As Word
Dim Ebene As Byte
Dim Latch As Byte
Do
For Wiederholung = 0 To 100
For Ebene = 1 To 4
For Latch = 0 To 2
Porta = Lookup(weiter_latch , Tabelle_latch)
Weiter_latch = Weiter_latch + 1
Portc = Lookup(weiter_signal1 , Tabelle_animationen1)
Portd = Lookup(weiter_signal2 , Tabelle_animationen2)
Waitms 1
Weiter_signal1 = Weiter_signal1 + 1
Weiter_signal2 = Weiter_signal2 + 1
Portc = Lookup(weiter_signal1 , Tabelle_animationen1)
Portd = Lookup(weiter_signal2 , Tabelle_animationen2)
Waitms 1
Weiter_signal1 = Weiter_signal1 + 1
Weiter_signal2 = Weiter_signal2 + 1
Portc = Lookup(weiter_signal1 , Tabelle_animationen1)
Portd = Lookup(weiter_signal2 , Tabelle_animationen2)
Waitms 1
Weiter_signal1 = Weiter_signal1 + 1
Weiter_signal2 = Weiter_signal2 + 1
Portc = Lookup(weiter_signal1 , Tabelle_animationen1)
Portd = Lookup(weiter_signal2 , Tabelle_animationen2)
Waitms 1
Weiter_signal1 = Weiter_signal1 + 1
Weiter_signal2 = Weiter_signal2 + 1
Porta = Lookup(weiter_latch , Tabelle_latch)
Weiter_latch = Weiter_latch + 1
Next Latch
Portb = Lookup(weiter_ebene , Tabelle_ebenen)
Weiter_ebene = Weiter_ebene + 1
Waitms 2
Portb = Lookup(weiter_ebene , Tabelle_ebenen)
Weiter_ebene = Weiter_ebene + 1
Next Ebene
Next Wiederholung
Loop
End
Tabelle_animationen1: 'für portc
'Bild1
Data &B11111111 , &B00000000 , &B00000000
Data &B11111111 , &B00000000 , &B00000000
Data &B11111111 , &B00000000 , &B00000000
Data &B11111111 , &B00000000 , &B00000000
'Bild2
Data &B11111111 , &B00000000 , &B00000000
Data &B11111111 , &B00000000 , &B00000000
Data &B11111111 , &B00000000 , &B00000000
Data &B11111111 , &B00000000 , &B00000000
Tabelle_animationen2: 'für portd
'Bild1
Data &B11111111 , &B00000000 , &B00000000
Data &B11111111 , &B00000000 , &B00000000
Data &B11111111 , &B00000000 , &B00000000
Data &B11111111 , &B00000000 , &B00000000
'Bild2
Data &B11111111 , &B00000000 , &B00000000
Data &B11111111 , &B00000000 , &B00000000
Data &B11111111 , &B00000000 , &B00000000
Data &B11111111 , &B00000000 , &B00000000
Tabelle_ebenen:
'Ebene1
Data &B10000000
Data &B00000000
'Ebene2
Data &B01000000
Data &B00000000
'Ebene3
Data &B00100000
Data &B00000000
'Ebene4
Data &B00010000
Data &B00000000
Tabelle_latch:
'latch rot
Data &B10000000
Data &B00000000
'latch grün
Data &B01000000
Data &B00000000
'latch blau
Data &B00100000
Data &B00000000
Als Reihenschaltung kannst du keine 14 Stück an 30V betreiben.
Allerdings könntest du die Schaltung etwas umbauen.
Du könntest max 8 Stück bei 30V in Reihe schalten + dem geeigneten Widerstand (3,4V für blaue LEDs gerechnet)..
Um auf die gewünschten 14 Stück, oder mehr zu kommen kannst du noch so eine Reihenschaltung parallel an das NT schließen.
Die andere Methode: neues NT
mfg
ShockWave
Wow!
Mein Sternenhimmel mit 500 Bohrungen hat schon ewig gedauert... aber 4000!
Wenn du die LED Wand in 5 Wochen fertig gestellt hast, wie lang hast du dann ca. an jedem Tag daran gearbeitet?
Gruß Shock
Also hier wäre etwas so eine Matrix: MAD-Board! Kleine Matrix Hilfe, für den Erstprogrammierer.
Ist zwar keine 8x8 aber kann man ja leicht umbauen
Gruß Shock
danke für die Antworten
hab heute mittag nochmal ein bisschen rum gespielt und es funktioniert
das Problem is jetzt nur, dass nur 1 von 3 Tastern funktionieren. Verlötet ist alles richtig gut.
Grüße
Hey,
ich habe mir neulich das Pollin Evaluation Board geholt. Mein Problem ist nun, dass wenn ich das Programm auf den Atmega schreibe alles noch funktioniert und auch durchläuft.
Sobald der Schreibprozess aber fertig ist passiert nichts es kommt "write successful" aber die LEDs bleiben aus =(
Bitte um Hilfe
Gruß
Hey,
wow sieht sehr gut aus, vorallem gefällt es mir, dass beim Angehen der LEDs sich schon die Farben ändern.
Außerdem ist es cool, dass man das Ganze mit Fernbedingung/ iPod ansteuern kann.
Kannst du mal das Programm dazu hochladen?
Gruß Shock