Hab jetzt alle Kanäle in der PC Sw auf 255 gestellt und das ganze system noch mal durchgemessen.
Das Signal kommt an dmx shield an, ich meine an RX-uart jumper. So es scheint etwas mit der Arduino SW zu sein..:S
Posts by diofa
-
-
Hy

@Hoc:
Ja, ich gebe Dir Recht,..:S ziemlich Blöd..:S Ich habe nur ein Arduino Board mit DMX Shield und diesen DMX-USB Konverter.
Das Oszi Bild gefällt mir auch nicht. Deswegen vermute ich, dass es etwas mit der Pc seitigen SW gibt.
Bisher habe ich nur sehr selten den mindestens 88us bei Break Feld gehabt. Meistens war bei ca. 36uS. Wie es auch am Oszi Bild zu sehen ist.
Der Spannungsbereich stimmt, oder? (Fast 4V peak-to-peak). Ich hoffe, dass ich das Signal richtig messe. Ich habe ein PICOSCOPE mit zwei Kanälen als USB Oszi. Ich messe nur aktuell das D+ PIN, und denke das sollte so gut sein. Am D- habe ich die gleiche Information invertiert.
Ich habe jetzt ein Bild von der PC SW beigefügt. Am Bild zu sehen ist, dass ich für zwei Kanäle Werte eingestellt habe.
Ich habe das Protokoll so verstanden, dass ich festlegen kann die Anzahl der Kanäle die versenden möchte. Aber meine Vermutung ist, dass ich irgendwie alle Kanäle versende.
Das Signal beim „Send“ blinkt fall Kommunikation stattfindet. Am Bild ist es jetzt nicht zu sehen, aber es blink. Die Farbe sind: Rot und Grün.
Übrigens, das Programm gehört zum USB-DMX Konverter und in der Beschreibung steht fast nichts wie die Kanäle einzustellen sind.
Hab die Benutzeranleitung hinzugefügt, vielleicht fällt etwas für jemanden auf.
-
Also, früher habe ich einen falschen Link gegeben, also ich habe ein ähnliche usb-dmx Konverter:
http://www.amazon.com/Interface-Conv…r/dp/B009B5II8G
Ich finde, die PINs sind nicht getauscht. Die Stromspareinstellungen habe ich nicht gelesen ..
habe deaktiviert, aber es hilft auch nicht..Das if ( dmx_slave.getChannelValue (2) > 200 ) hielft auch nicht. Irgendwie ist jetzt meine LED ständig aus... es ist schon sehr interessant...
Leider kann ich das Board nicht debuggen, weil das dmx Library auch das uart modul benutzt und das Board keinen JTAG Anschluß besitzt.
..
Hat jemand noch irgendwelche Idee??

-
1) Die Firmware habe ich versucht ohne aufgestecktes shield aufzuspielen, bringt nichts.
2) Ich habe das Programm mit verschiedenen DMX_BREAK_RATE Wert ausprobiert, das bringt auch nichts. (99900, 79900, 59900, 29900, 9900)Jetzt habe ich die LED auf Kanal 2 umgestellt aber, sie leuchtet noch immer ständig.
CodeDie Funktion getChannelValue in der if Abfrage gibt immer größer als 127 zurück. if ( dmx_slave.getChannelValue (2) > 127 ) digitalWrite ( ledPin, HIGH ); else digitalWrite ( ledPin, LOW );In der PC Software falls ich z.B. den Wert von Fader 2 verändere, dann mein dmx Signal nimmt den Wert des Kanals 2 automatisch an oder sollte ich den Fader 2 zuerst zum dmx Signalposition/ dmx Kanal 2 zuordnen?
Hab noch ein Bild vom Osci hinzugefügt. Ist dieses Signal korrekt?
-
Ja, hab ich beim Aufspielen den auf !en gesteckt. Die zwei Dinge versuche ich morgen. Danke für deine Antwort.
-
Die Jumper nach dem SW-Download:
EN-Com.
|----|Slave-Com.
|-------|Com.-TX-uart
|---------|Com.-RX-uart
|--------|Meiner Meinung nach die sollten gut sein. Ich habe keinen Abschlusswiederstand bei dem Shield, sollte das Problem sein? Obwohl die Kabellänge ist vielleicht noch nicht so lang..
-
Hallo zusammen,
ich habe ein Arduino Board und möchte gerne die LED drauf blinken zu lassen. Ich habe noch einen usb-dmx Konverter.
Am PC verwende ich das Programm DMX-510 USBIMG Stageline DMX Control. Ich benutze den Kanal 1.
Mein Problem ist das meine LED ist ständig an. Ich nehme an, dass mein Arduino code richtig ist. Kann jemand weiterhelfen? Oder kann jemand ein einfaches Tool empfehlen wo ich einfach den Wert eines DMX Kanals versenden kann?!
Wie könnte ich nachschauen ob mein usb-dmx Konverter die richtige Daten sendet.
Das dmx shield:
http://www.ebay.com/itm/DMX-Shield…a#ht_1406wt_870
PC Programm:
http://www.monacor.de/produkte/licht…ler/dmx-510usb/
Mein Arduino code:
C
Display More/* DMX_Slave.ino - Example code for using the Conceptinetics DMX library Copyright (c) 2013 W.A. van der Meeren <danny@illogic.nl>. All right reserved. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include <Conceptinetics.h> // // CTC-DRA-13-1 ISOLATED DMX-RDM SHIELD JUMPER INSTRUCTIONS // // If you are using the above mentioned shield you should // place the RXEN jumper towards G (Ground), This will turn // the shield into read mode without using up an IO pin // // The !EN Jumper should be either placed in the G (GROUND) // position to enable the shield circuitry // OR // if one of the pins is selected the selected pin should be // set to OUTPUT mode and set to LOGIC LOW in order for the // shield to work // // // The slave device will use a block of 10 channels counting from // its start address. // // If the start address is for example 56, then the channels kept // by the dmx_slave object is channel 56-66 // #define DMX_SLAVE_CHANNELS 2 // // Pin number to change read or write mode on the shield // Uncomment the following line if you choose to control // read and write via a pin // // On the CTC-DRA-13-1 shield this will always be pin 2, // if you are using other shields you should look it up // yourself // //#define RXEN_PIN 2 // Configure a DMX slave controller DMX_Slave dmx_slave ( DMX_SLAVE_CHANNELS ); // If you are using an IO pin to control the shields RXEN // the use the following line instead //DMX_Slave dmx_slave ( DMX_SLAVE_CHANNELS , RXEN_PIN ); const int ledPin = 13; // the setup routine runs once when you press reset: void setup() { // Enable DMX slave interface and start recording // DMX data dmx_slave.enable (); // Set start address to 1, this is also the default setting // You can change this address at any time during the program dmx_slave.setStartAddress (1); // Set led pin as output pin pinMode ( ledPin, OUTPUT ); } // the loop routine runs over and over again forever: void loop() { // // EXAMPLE DESCRIPTION // // If the first channel comes above 50% the led will switch on // and below 50% the led will be turned off // NOTE: // getChannelValue is relative to the configured startaddress if ( dmx_slave.getChannelValue (1) > 127 ) digitalWrite ( ledPin, HIGH ); else digitalWrite ( ledPin, LOW ); }