-
        

Ergebnis 1 bis 9 von 9

Thema: Moodlight, Led Panel

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    19.07.2004
    Beiträge
    178

    Moodlight, Led Panel

    Anzeige

    Hallo,

    und zwar Suche einen fertigen AVR Code für eine LED steuerung like Moodlight oder LED Panel. Weiss jemand wo ich sowas im Internet finde?

    Danke schonmal.

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    29.12.2004
    Beiträge
    84
    Selber programmieren macht doch viel mehr spaß
    Die Intensität der LED's kannst du ja mit einem PWM steuern, das
    dürfte eigentlich kein problem sein

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    21.03.2006
    Ort
    Dresden
    Beiträge
    10
    hi,
    ich würde dafür Software-PWM nehmen.
    Ich will mir sowas wie Moodlight bauen,
    aber als Wand, mit 2X4 oder 2X8 Elementen. Ich habe meine PWM
    für 8 LEDs hinbekommen. jetzt müsste man das nur noch multiplexen.
    Ideal wäre dann noch Mehrfarbigkeit. Momentan bekomme ich auch nur 8
    Farbstufen hin (reicht fürs erste).
    Gesteuert wird per Java über RS232 vom PC aus.

    ahoi!

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    09.05.2004
    Ort
    Bielefeld / Paderborn
    Beiträge
    1.253
    SOFTWARE-PWM. Das ist auch für mich heute das Zauberwort. Für meine Enterprise-Beleuchtung hab ich nen Kasten gebaut in den eine Elektronik für ne Fernbedienung ist, und ich kann das Teil halt per Fernbedienung ein/ausschalten und verschiedene Sleeptimer einstellen. Nun würd ich die LEDS nicht gerne platt ausgehen lassen sondern Faden. Da ich das ganze nicht in die Analogelektronik ziehen will und auf dem Atmega noch Platz ist wollt ich nen Software-PWM machen. Proggen tu ich in Bascom. Mein Ansatz war: mit Waitus nen Loop basteln. Waitus nimmt aber nur Konstanten als Argument. Kennt jemand ne fertige Lösung die etwas schöner ist als 20 Scheifen?

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.02.2006
    Ort
    München
    Beiträge
    111
    Ich habe mich vor kurzem auch mal mit dem Thema PWM beschäftigt.
    Bin zuerst auch daran gescheitert dass waitus nur Konstanten verwendet und habe es dann mit waitms probiert.
    Hier mein Ergebnis (für einen Tiny13V):



    Code:
    '============================================================
    '
    ' ************************************
    ' ***                              ***
    ' ***    Dimmendes Blinklicht      ***
    ' ***                              ***
    ' ************************************
    '
    ' µC: ATtiny13
    ' +Ub: 3,00 V
    '
    '
    '============================================================
    
    $regfile = "ATtiny13.DAT"
    $crystal = 128000                                           'Frequenz des internen 128kHz-Oszillators
    
    Config Portb = &B00011000                                   'Pinb.3 und 4 auf 'Ausgang', Rest auf 'Eingang' schalten
    Portb = &B11100111                                          'Pullups zuschalten, außer für Pinb.3 und .4
    Stop Adc                                                    'A/D-Wandler abschalten, um Strom zu sparen
    Stop Ac                                                     'Analog-Komparator abschalten, um Strom zu sparen
    
    Dim A As Byte
    Dim B As Byte
    Dim Stufen As Byte
    
    Stufen = 20
    
    Do
    
    For A = 0 To Stufen
    B = Stufen - A
    Gosub Pwm
    Next
    For A = Stufen To 0 Step -1
    B = Stufen - A
    Gosub Pwm
    Next
    Waitms 1000
    
    Loop
    
    Pwm:
            Portb.3 = 1
            Waitms A
            Portb.3 = 0
            Waitms B
            Return
    
    End

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    09.05.2004
    Ort
    Bielefeld / Paderborn
    Beiträge
    1.253
    aber sauber aussehen tut das am ende mit so ner langen wartezeit ned, oder?

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.02.2006
    Ort
    München
    Beiträge
    111
    Zitat Zitat von Goblin
    aber sauber aussehen tut das am ende mit so ner langen wartezeit ned, oder?
    Geht gerade noch. Länger darf es aber nicht sein.

  8. #8
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.801
    Zitat Zitat von Goblin
    SOFTWARE-PWM. Das ist auch für mich heute das Zauberwort. Für meine Enterprise-Beleuchtung hab ich nen Kasten gebaut in den eine Elektronik für ne Fernbedienung ist, und ich kann das Teil halt per Fernbedienung ein/ausschalten und verschiedene Sleeptimer einstellen. Nun würd ich die LEDS nicht gerne platt ausgehen lassen sondern Faden. Da ich das ganze nicht in die Analogelektronik ziehen will und auf dem Atmega noch Platz ist wollt ich nen Software-PWM machen.
    Was spricht dagegen, einen Timer herzunehmen und z.B. bei 10kHz IRQs erzeugen zu lassen. Dann gibst du ein einem Port z.B. nacheinander aus

    1.1.1.0.0.0.0.0.0.0; das ist eine Soft-PWM mit einem Duty von 30% (3 an von 10) und einer Frequenz von 1kHz (IRQ-Frequenz / (Stufen-1)).

    Einstellbate Helligkeiten gibt es 11 (von 0 (0%) bis 10 (100%)).
    Disclaimer: none. Sue me.

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    21.03.2006
    Ort
    Dresden
    Beiträge
    10
    Ich habe das ähnlich wie SprinterSB gemacht. Mit einem IRQ gebe ich periodisch verschiedene Bytes an einen Port aus.
    zB.:
    00000001
    00000011
    00000111
    00001111
    00011111
    00111111
    01111111

    Das sind 7 Bytes. Für jedes Bit (Pin mit Lummi) gibt es 8 verschiedene Helligkeiten. 0 mal an ... 7 mal an.
    Das Beispiel oben erzeugt einen Helligkeitsverlauf/-gradient (wie ein Farbkeil) von ganz hell bis ganz dunkel (oder eben andersrum).
    Etwas aufwändiger ist da schon das setzten der jeweiligen Bitmuster, um für jede LED die gewünschte Helligkeit zu bekommen.
    Wie macht ihr das? Haltet ihr das für sinnvoll? CPU-auslastung ist jedenfalls sehr gering.

    Gruß

Berechtigungen

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