DIY-RGB-Controller mit IR-Fernbedienung und DMX - modular erweiterbar

  • Wie angekündigt, hier nun die "Standard-Version" des kleinen Controllers, ohne das (im Normalbetrieb ja nicht nötige) Display.


    Das ist dann die SW für die Platine, die Lötmeister oberhalb vorgestellt hat, die wird noch etwas geändert und dann als PDF zum selberätzen hier rein gestellt.


    Pinbelegung für die LEDs und IR ist die selbe wie beim "Original", es gibt nun noch eine Status-LED, die leuchtet im Betrieb, blinkt beim Speichern und flimmert beim DMX-Empfang. An den PortB sowie PortD2 kann man jetzt statt Display einen DIP-Schalter anschließen zum einstellen der DMX-Adresse.


    Da durch das entfernen der Display-SW wieder Platz frei wurde, gibt es ein paar Verbesserungen/Ergänzungen:


    • Für den Dimmer wurde eine log-Tabelle hinterlegt, so dass dieser nun gleichmäßig rauf- und runterdimmt, nicht mehr "unten schnell und oben tut sich fast nix mehr"


    • Speichern und "Ausschalten" sind nun zwei getrennte Tasten, beim Speichern gibt es eine Rückmeldung (LEDs blinken 3x grün auf)


    • DMX-Empfang ist nun Programm "0", dafür wurde die "Spezial-Taste" (Geschwindigkeit maximal) verlegt, bei mir auf "Menue", das ist da zwischen Up und Down


    • Es sind zwei Programme dazu gekommen: "Zufallsfader" (alle 3 Kanäle faden unabhängig voneinander zufällig, gibt interessante Verläufe) und "Gewitter" (Dunkelblauer "Nachthimmel" mit unregelmäßigen weißen "Blitzen")


    Programme sind also nun:


    0 DMX-Empfang
    1 Feste Farbe
    2 RGB-Fader
    3 Blob
    4 Feuersimulation
    5 Zufallsfader
    6 Gewitter


    es sind immer noch ein paar Byte frei, die könnte man z.B. noch benutzen, um die Tabelle der festen Farben zu erweitern, wenn das jemandem nicht genügend viele sind...
    EDIT 12.11.2012: Jetzt nicht mehr, dafür kann man nun die DMX-Adresse auch per DIP einstellen ;)


    bei den DIPs sind die internen Pullups aktiviert, die also einfach nach GND schalten - wenn alle DIPs offen sind (das wäre DMX-Adresse "0", die gibt's ja nicht) wird die intern "eingebrannte" Startadresse verwendet - diese, sowie die Belegung der Tasten lässt sich weiterhin in der Datei "Settings.inc" einstellen... wer also nur eine feste Adresse braucht, kann sich den DIP dann auch einfach sparen


    das ist dann die fertige Version für Tiny2313, weiter gemacht wird dann mit Tiny4313, selbe SW-"Gundbestandteile", aber dann noch mehr Programme... wenn's Ideen gibt, was man noch brauchen könnte, immer her damit - ich habe mal an den HSV-"Farbkreis" gedacht (so wie bei "Living Colours"), sowie ne "Sonnenaufgangssimulation", so dass man das Ding dann als "Lichtwecker" benutzen kann, wenn man es einfach mit ner Schaltuhr startet...


    P.S.: Nicht vergessen, die .eep-Datei mit zu flashen, da sind ein paar Grundeinstellungen drin, ohne die ein paar Programme Murks machen!


    Und die Fuses eben auf externen Quarz ohne CKDIV8, Fragen dazu bitte nicht hier, das ist Grundwissen und hat nix mit dem Controller selbst zu tun...


    EDIT 03.04.2012: SW neu raufgeladen mit neuer Tastenbelegung


    EDIT 12.11.2012: SW neu raufgeladen - beim Einstellen der DMX-Adresse war ein Bug drin

    Dateien

    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

    5 Mal editiert, zuletzt von Pesi ()

  • Anbei die versprochenen Dokumente:


    - die Layoutvorlage zum selbst Ausdrucken,
    - der Bestückungsplan
    - und eine vorläufige Stückliste.


    Die Platine ist - wie bereits beschrieben - für ein kleines Aluminiumgehäuse entworfen (Bestelldaten siehe Stückliste), auf der Vorderseite ist der IR-Empfänger und die Status-LED angeordnet, auf der Rückseite nach Bedarf zwei Kabelverschraubungen für DC-Eingang / RGB-Ausgang. Man kann für den DC-Anschluss auch eine handelsübliche Einbau-Dose für 5,5mm/2,1mm-Netzteilanschlüsse vorsehen.
    Eine passgenaue Frontplatte aus rauchfarbenem und Infrarot-durchlässigem Acrylglas befindet sich gerade in der Testfertigung, bei evtl. Bedarf kann ich die später hier zum Selbstkostenpreis anbieten, der Preis wird aus jetziger Sicht bei etwa 1,10 EUR pro Stück liegen.


    (Beim Ausdrucken des Layouts bitte unbedingt darauf achten, dass der Ausdruck im Maßstab 1:1 erfolgt!)

    EDIT1: Schaltbild hinzugefügt.

  • Hier noch ein paar Bilder vom fertig aufgebauten Controller:



    Das Gehäuse gibt es auch noch in schwarz eloxiert, das würde sicherlich auch sehr gut aussehen ...


    Wer den Controller im Originalgehäuse nachbauen möchte, ich habe noch paar gelaserte Acryl-Frontplatten übrig.
    Bei Interesse bitte PN. Preis: 2,60 EUR inclusive Porto + Verpackung.

  • Das sieht ja echt mal top aus! :thumbsup: - schon ganz was anderes als diese kleinen Plaste-China-Dinger...


    für die LED hast Du nun ein Loch gemacht, oder, also die leuchtet nicht durch die Frontplatte durch, wie's mal angedacht war..? - ist das so ne Flachkopf-LED, oder hast Du eine normale abgeschliffen...?

    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

  • sieht auch sehr gut aus! :thumbup: - hast Du da irgendwelche Maßnahmen ergriffen, dass die Platine nicht verrutscht (kleben?) oder klemmt die schon von selbst fest genug in diesen Führungsnuten...?

    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

  • Hallo zusammen.
    Hoffe meine Frag ist hir richtig. Falls nicht: bitte ins richtige verschieben.
    Da Pesi gerne die AVRs in ASM programmiert und ich in diesem Jahr beschlossen habe mich mit diesen µCs auseinanderzusetzen durchforste ich so einige Foren und bin auf dieses hier gestoßen.
    Dieser DMX-Ligh-Whight-Controller ist so ziemlich das, was mir so im Kopf rum schwirrt. Nur ein wenig Probleme mit ein paar kleinen Programmier-Methoden machen mir das Leben schwer. So auch in den Listings von Pesi.
    Und hier meine erste Verständnisfrage:
    Was genau wird ins temp0 geladen?


    ldi temp0, (1<<PWM_R) | (1<<PWM_G) | (1<<PWM_B)


    Addition der drei Bytes? Also 3? Was geschieht hier genau?


    Gruß

  • Ganz generell: Hier gerne Fragen zum Programmcode an sich, wie der aufgebaut ist etc.


    Aber keine Anfängerfragen zu absoluten Grundlagen bitte! :)


    | ist eine oder-Verknüpfung, 1<< bedeutet, eine "1" so weit nach links schieben, wie die Zahl danach sagt - die "Zahl" ist hier ein Platzhalter - es werden also in temp0 3 Bits gesetzt, welche, steht in PWM_R, PWM_G und PWM_B


    damit werden die Pins für PWM auf Ausgang gesetzt - damit man sowas ggfs. nicht an x Stellen im Code ändern muss, schreibt man die Werte eben in Platzhalter irgendwo zentral, und benutzt dann nur noch die, statt jedes mal ne Zahl


    ldi temp0, 0b01110000 würde an der Stelle das selbe bewirken - wenn man dann aber die Ausagänge ändern möchte, müsste man auch an der Stelle die 0b01110000 ändern...


    siehe zu der ganzen Assembler-Sache auch hier...

    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

  • Danke für die Antwort.
    Das hilft mir gut weiter.
    Auch in dem von dir genannten Forum hatte ich schon nachgeschaut. Leider nicht wirklich fündig geworden. Dabei war doch gerade erst Ostern - oder gerade deswegen? -. :S


    Ok, dann werde ich mal weiter verschuchen, durch das Listing zu kommen.


    Gruß

  • Wenn es nicht sehr pressiert: Demnächst kommt dann noch ne genaue Beschreibung, wie die SW aufgebaut ist und funktioniert, und wie man sie ganz einfach erweitern kann...

    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!