- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 10 von 26

Thema: LED Matrix möglichst effizient ansteuern

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #12
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    Der Bildspeicher ist die Schnittstelle zwischen deinem Programm und der Matrix. Sein Inhalt wird, normalerweise im Hintergrund per Interrupt, immer an die Matrix ausgegeben. Um die Anzeige zu ändern muss man deshalb den Bildspeicher ändern. Jedes Bit im Array Bildspeicher() repräsentiert eine LED in der Matrix. Wenn das Bit zum Zeitpunkt der Spaltenabfrage gesetzt (=high) ist leuchtet die LED nicht gesetzt (=low) bedeutet LED ist aus.

    Jedes Bit im Bildspeicher steht für ein Pixel im darzustellenden Bild. Wie ändert man ein bestimmtes Bit im Bildspeicher? Dafür schreibt man sich kleine Funktionen die gezielt einen einzelnen Pixel ändern. Zum Setzen und Löschen könnten die Funktionen etwa so aussehen:

    Code:
    Declare Sub Zeilensetzen
    Declare Sub Set_pixel(byval X As Byte , Byval Y As Byte)       ' Nullpunkt ist oben links als 0,0
    Declare Sub Reset_pixel(byval X As Byte , Byval Y As Byte)
    
    Dim Bildspeicher(11) As Word , Spalte As Byte
    Dim X As Byte , Y As Byte
    Dim Temp As Word , Zaehler As Word
    
    ' ...
    
       If Spalte < 9 Then Spalte = Spalte + 1 Else Spalte = 1
    
       Waitus 100                           ' 10000*100µs ergeben eine Sekunde
    
       'hier kann man dann das Bild zusammenbasteln
    
       Select Case Zaehler
          Case 10000 : For X = 0 To 8       ' diagonale
                         Set_pixel X , X
                       Next X
    
          Case 20000 : For X = 0 To 10      ' waagrecht
                         Set_pixel X , 0
                         Set_pixel X , 8
                       Next X
    
          Case 30000 : For Y = 0 To 8       ' senkrecht
                         Set_pixel 0 , Y
                         Set_pixel 10 , Y
                       Next X
    
          Case 40000 : For X = 1 To 9       ' alle an
                         Bildspeicher(x) = 255
                       Next X
    
          Case 50000 : For X = 1 To 9       ' Bitmuster
                         Bildspeicher(x) = &B10101010101
                       Next X
    
          Case 60000 : For X = 1 To 9       ' alle aus
                         Bildspeicher(x) = 0
                       Next X
                       Zaehler = 0
       End Select
    
       Zaehler = Zaehler + 1
    Loop
    
    End
    
    Sub Set_pixel(byval x As Byte , byval Y As Byte)
       Bildspeicher(x + 1).y = 1            ' Bascom startet Arrays mit 1
    End Sub
    
    Sub Reset_pixel(byval X As Byte , Byval Y As Byte)
       Bildspeicher(x + 1).y = 0
    End Sub
    
    Sub Zeilensetzen
    (ungetestet)


    Gruß

    mic
    Geändert von radbruch (22.10.2011 um 17:15 Uhr) Grund: Programmkopf vergessen
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

Ähnliche Themen

  1. Möglichst kleiner, möglichst schneller Linux-PC gesucht
    Von bjoerng im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 11
    Letzter Beitrag: 22.06.2010, 20:56
  2. Eine LED-Matrix 5x7 ansteuern
    Von Tryan im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 66
    Letzter Beitrag: 01.03.2009, 17:42
  3. 10V aus 3,3 - möglichst ohne IC?
    Von Zachso im Forum Elektronik
    Antworten: 17
    Letzter Beitrag: 16.02.2008, 11:28
  4. LED-Matrix, wie Ansteuern?
    Von tholan im Forum Elektronik
    Antworten: 7
    Letzter Beitrag: 27.04.2006, 18:24
  5. Geht das mit dem L298 auch effizient?
    Von zennehoy im Forum Elektronik
    Antworten: 5
    Letzter Beitrag: 03.03.2005, 11:11

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress