Hallo hallo,
vorab: Bitte kein Pro/Contra Arduino Gebashe
bitte Bitte BITTE
Habe bisher nur direkt auf nackten AtMegas und stm32 rumgedaddelt.
Folgende Idee würde ich gerne mal nutzten, um mir die Arduinowelt
anzusehen.
Ich habe ein paar einfache RGB Lampen, die mittels DMX512 gesteuert
werden.
Jetzt kam mir die Idee einen Lichtwecker zu bauen, bei dem per DMX zum
einen die Uhrzeit eingestellt werden kann, wie ihn auch als normales
Effektgerät zu benutzten.
Als Zeitanzeige möchte ich etwas abkupfern, was ich wo anders gesehen
habe:
Pro Ziffer eine RGB LED, jeder Mischzustand steht für eine Zahl von 0
bis 9
100% rot = 0
70% rot + 30% grün = 1
30% rot + 70% grün = 2
100% grün = 3
70% grün + 30% blau = 4
30% grün + 70% blau = 5
100% blau = 6
70% blau + 30% rot = 7
30% blau + 70% rot = 8
weiß = 9
Auflösen würde ich das PWM gerne mit 10 Bit, zur Not tuns auch 9 oder 8.
Da ich noch nie was mit Arduino zu tun hatte, möchte ich nach Tips
fragen, welchen ich hinsichtlich Rechenleistung nehmen sollte;
insbesondere mit Blick auf das PWM, was in der Anzahl und Auflösung
höchstwahrscheinlich als Soft-PWM gelöst werden müsste.
Ich denke die Programmgröße sollte übersichtlich sein.
Es gibt ja auch "Tricks" was das erzeugen mehrer PWMs angeht, um
Rechenleistung zu sparen. Mir fällt nur der Begriff nicht mehr ein.
Grützi!
Du solltest nachsehen welche AVR in den diversen Arduino drinnen sind.
Wenn du schon mit AVR gearbeitet hast, kannst du dann sicher selbst
entscheiden welcher der zielführende ist.
grundschüler schrieb:> Ein Arduino-atmega256 für unter 10€:> Ebay-Artikel Nr. 381019068221
Den gerade lieber nicht. Denn der hat einen anderen USB Controller
drauf der auch noch dazu nicht programmierbar ist.
Ich würde zum Arduino Nano raten. Den kannst Du wahlweise mit und ohne
Arduino Software nutzen. Er ist mit den sehr gängigen Atmega328 und
FT232RL bestückt, also Hardwaretechnisch ohne Sonderlocken.
Mir ist noch ne andere Idee gekommen.
Man könnte auch ein Raspbarry oder Banana PI hernehmen und ne QT
Anwendung mit DMX Interface entwerfen und das Gesamtsystem als Wecker
benutzten.
Dennnoch danke für die Antworten. Was ich genau mache, steht ja nicht
fest.
Vorallem, dass es da Varianten gibt, was die "standardmäßigkeit" einiger
Bauteile angeht, ist gut zu wissen.
Was ich mir fast wünschen würde, währen die kleinen Tinys mit Arduino
Libs. Da sind ja schon die DIP Varianten winzig. Ich hab da ne Idee, wo
ich einige kleine simple Einheiten bräuchte, die 1 oder 2 pinnige
Aufgaben lösen und auch algorithmisch kaum was passiert.
Maude schrieb:> Als Zeitanzeige möchte ich etwas abkupfern, was ich wo anders gesehen> habe: Pro Ziffer eine RGB LED, jeder Mischzustand steht für eine Zahl> von 0 bis 9>> 100% rot = 0> 70% rot + 30% grün = 1> 30% rot + 70% grün = 2
...
> Auflösen würde ich das PWM gerne mit 10 Bit, zur Not tuns auch 9 oder 8.
Albern. Wozu brauchst du eine 10-Bit PWM, wenn du nur 4 Helligkeits-
stufen 0%, 30%, 70% und 100% darstellen willst?
> Da ich noch nie was mit Arduino zu tun hatte, möchte ich nach Tips> fragen, welchen ich hinsichtlich Rechenleistung nehmen sollte;> insbesondere mit Blick auf das PWM, was in der Anzahl und Auflösung> höchstwahrscheinlich als Soft-PWM gelöst werden müsste.
Vollkommen egal. 12 PWM-Kanäle (4 Ziffern * 3 LED) als Soft-PWM mit
sagen wir 8 Bit schafft jeder.
> Es gibt ja auch "Tricks" was das erzeugen mehrer PWMs angeht, um> Rechenleistung zu sparen. Mir fällt nur der Begriff nicht mehr ein.
Womöglich meinst du BAM = bit angle modulation. Aber um ein paar LEDs
"an", "aus" und mit 2 Helligkeitsstufen dazwischen anzusteuern, würde
man sowieso keine komplette PWM machen. Sondern einen Timer mit 2
Compare-Interrupts verwenden. Und dann in diesem beiden Interrupts
einerseits und dem Überlaufinterrupt andererseits die LEDs jeweils ein-
bzw. ausschalten.
Maude schrieb:> Ich habe ein paar einfache RGB Lampen, die mittels DMX512 gesteuert> werden.
In diesem Zusammenhang verstehe ich Deine Ausführungen zur Generierung
von PWM-Signalen für Deine Lampen überhaupt nicht.
Du hast offenbar "intelligente" DMX-Scheinwerfer, die Du ansteuern
möchtest. Und das wird nicht per PWM gemacht, sondern mit
DMX-Steuerbefehlen, die bei einem Arduino über eine serielle
Schnittstelle gesendet werden.
Vielleicht schaust Du mal hier rein:
http://playground.arduino.cc/Learning/DMX
Die Ansteuerung von intelligenten DMX-Scheinwerfern erfolgt nicht direkt
über PWM, daher hast Du auf dem Arduino überhaupt nichts mit PWM zu tun,
wenn Du tatsächlich nur DMX-Steuerbefehle senden möchtest.
grundschüler schrieb:> Ein Arduino-atmega256 für unter 10€:> Ebay-Artikel Nr. 381019068221>> Einfach beeindruckend.
Yup, einfach beeindruckung das man das Layout noch beschissener
hinbekommen kann als das Referenz-Design.
Kennt echt niemand preiswerte Alternativ-Boards?
Sowas wie das Linduino ist zwar schon schick, aber hat halt "nur" den
kleinen Mega328 drauf und soll bei Linear 75 Euro kosten.
Jaaaa, genau, BAM war das Zauberwort :-)
Warum wird oben von "albern" gesprochen? Kann es nicht als normale Frage
statt mit so einer polemischen Schreibweise angesprochen Werden?
Auf die Art können Farbanteile gemischt und die Helligkeit eingestellt
werden.
Mir ist schon klar, dass DMX alias RS485 was anderes ist als PWM. Sonst
würden meine Lampen nicht funktionieren. Aus meinen Posts gehen zwei
getrennte Ideen hervor. Einmal ein Teilnehmer, der als Wecker fungieren
kann, mittels DMX gesteuert wird und die PWM für die RGB´s erzeugen
muss.
Zum anderen ein Steuergerät, welches die Steuersignale erzeugt.
Hi,
der Arduino Mega hat die geforderten 12 PWM Kanäle.
analogWrite() erledigt die PWM-Ausgabe beim Arduino, für DMX gibt es
auch Libraries, sowohl als Master als auch als Slave.
Ziemlich genau für solche Aufgaben wurde der Arduino erdacht...