Led Cube leuchtet schwach

OP #2974797
Lesenswert?
• ▲
▼
Hallo,

Ich baue zurzeit einen 5*5*5 Led-Cube und es funktioniert prinzipiell 
alles einwandfrei.

Ich verwende einen Atmega32 und verwende zur Ansteuerung demultiplexer, 
pro Wand (= 5 Spalten / Anoden der Leds) / 1 demultiplexer --> 
entspricht 5 demultiplexer

Die Ebenen werden direkt von PortB geschalten (die Ebenen sind Kathoden 
der Leds)

Mein Programm ist so programmiert, dass nur eine einzige Led leuchtet. 
D.h es wird eine Led eingeschaltet, eine gewisse Zeit gewartet (200 
mikrosek) und danach wieder ausgeschaltet.

Hier die Funktion, die das für mich erledigt:
1
void drawBitpattern(int led_cube[][5][5])
2
{
3
  int ebene, x, y, single;
4

5
  for(ebene = 1; ebene <= 5; ebene++)
6
  {
7
   //Schaltet die Ebene auf Minus
8
    ebeneAn(ebene);
9
    for(x = 1; x <= 5; x++)
10
    {
11
    //Speichert in die globale Variable gPort, welcher Port (abhängig je nach Demux) angesprochen werden soll
12
      single = spalteAn(x);
13
      for (y = 1; y <= 5; y++)
14
      {
15
        if(led_cube[ebene-1][x-1][y-1] == 1)
16
        {
17
         //Schaltet die Pins auf dem variablen Port "gPort" , je nachdem welche Led angesprochen werden osll
18
          reiheAn(y, single);
19
          _delay_us(150);
20
        }
21
      }
22
      spalteAus(x);
23
    }
24
  }
25
}

Mein Problem ist nun, dass das der Led-Cube nicht unbedingt leuchtstark 
ist, weil die Leds einfach zu schnell wieder abgeschaltet werden, erhöht 
man das delay, nimmt sie das Auge stärker war, allerdings fängt dann das 
ganze an zu "flimmern", weil immer der ganze Würfel "gerendert" wird.

Vll. habt ihr eine Lösung für mich.

MfG
#2974834
Lesenswert?
• ▲
▼
@  Christoph M. (christoph_m44)

>Die Ebenen werden direkt von PortB geschalten (die Ebenen sind Kathoden
>der Leds)

Naja. Schaltplan? Siehe Netiquette.

>Mein Programm ist so programmiert, dass nur eine einzige Led leuchtet.

Was mal nicht so sinnvoll ist, denn dann ist es Essig mit der 
Leuchtkraft.

>Mein Problem ist nun, dass das der Led-Cube nicht unbedingt leuchtstark
>ist,

Logisch, du machst Charliplexing, das ist nur brauchbar, wenn wenige 
LEDs in der Matrix leuchten sollen.

>Vll. habt ihr eine Lösung für mich.

Mach es richtig wie der Rest der Welt mit einer LED-Matrix und einem 
Timer.
OP #2974859
Lesenswert?
• ▲
▼
Schaltplan kann ich leider nicht posten, bin "nur" der Programmierer.

D.h. dann, dass ich die Demultiplexer weglassen, und direkt die Portpins 
verwenden muss, oder?

Wie macht man das dann bei größeren Led-Cubes? Dort muss man ja mit 
Demultiplexer arbeiten, da ja die Pins nicht ausreichen würden und dann 
kann man auch nicht pro Reihe mehrere Leds gleichzeitig schalten.

MfG

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.