Schieberegister in einem 4x4x4 Cube in C ansteuern

Gast #3861895
Lesenswert?

Hey Leute,

ich bin so langsam am Verzweifeln, da ich seit Stunden im Netz suche und 
nichts finde.
Und zwar habe ich einen LED 4x4x4 Cube gebaut mit einem ATMega32u4 
Mikrocontroller und zwei Schieberegistern.

Ich habe auch fast alles hinbekommen.

Der Würfel leuchtet schon, die Ebenen kann ich auch einzeln ansteuern.
Nur die einzelnen Spalten wollen nicht funktionieren.

Ich hab einfach gerade eine Denkblockade und komm nicht darauf wie ich 
die einzelnen Spalten ansteuern kann.

Bei mir leuchten entweder alle oder gar keine.

2 Ausgänge meines Controllers gehen in das Schieberegister. Einer ist 
für die CLOCK, welche auch funktioniert der andere für die Spalten.

Wie muss ich diese jetzt setzen, damit ich einzelne spalten nur 
beleuchtet bekomme?

Ich programmiere das ganze in C und finde die ganze Zeit nur 
Arduinosch.... oder Assembler, was ich nicht lesen kann.

Danke schonmal für eure Hilfe!

lg

Fabian
Gast #3861935
Lesenswert?

Kurt schrieb:
> Entgegengesetzt mit 0 und 1

Kannst du das genauer erläutern?
SET_BIT ist den Pin des Portes auf 1 zu setzten und clear bit auf 0.
an PORTC,7 ist die Clock. Für die Clock hab ich eine Schleife.
Für die LEDs in einer Spalte ist PORTD,4 zuständig.

Nehmen wir an ich will jetzt jede 2 Spalte beleuchtet haben.

Den setze ich hier das erste Bit auf 1:

Theoretisch müsste ich ihn ja nachdem die clock wieder auf low fällt 
PORTD,4 nun auf 0 setzten damit beim nächsten high der clock die led 
ausbleibt dan wieder 1,0 usw..

Ist meine denkweise richtig?

SET_BIT(PORTD,4);


for (i=0;i<8;i++)
{
SET_BIT(PORTC,7);
_ms_delay(10);
CLEAR_BIT(PORTC,7);
_ms_delay(10);
}

lg
Gast #3861989
Lesenswert?

Dirk K. schrieb:
> Schaltplan als halbe Miete, ein Foto der Verdrahtung zur
> Kontrolle, ob
> der Schaltplan auch richtig umgesetzt wurde, ist auch hilfreich. Und
> natürlich der Code zum Ansteuern, auch da können Fehler drin sein.

Ich werde morgen alles mal hochladen (:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren