DMX - (2 channel) aansturen

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Atmoz
  • Registratie: Juli 2001
  • Laatst online: 01-10 07:55

Atmoz

Techno!!

Topicstarter
Ik heb een "Stage Flame" die bestuurbaar is via DMX.
Dit heb ik ook getest met een USB -> DMX dongle (software voor PC: FreeStyler). Werkt perfect :D

Volgende stap is om deze bestuurbaar te maken via een Arduino.
Ik heb daarvoor de DMXsimple library gedownload.

Deze lijkt te werken, want als ik channel 1 op 50 zet (nodig om "Stage Flame" van Safety af te zetten), dan beginnen de lampjes (gevaar indicatie >:)) te knipperen, net zoals dat gaat met de USB dongle/FreeStyler.

Probleem wat ik nu heb is: hoe doe ik een daadwerkelijke "FIRE"?
Wat ik weet van diegene wat mij 't apparaat heeft gekocht is: channel 2, op 115 tot 200.

Maar de vraag is: moet dat tegelijk met channel 1, 50 of echt "los" erna?

Het LCD display geeft aan "Ready to fire in 3, 2, 1" maar er gebeurt dan verder niets...

Wie weet een beetje hoe DMX in elkaar zit? C.q. hoe moet ik die commando's sturen?

Thanks _/-\o_


P.S. als het werkt ---> PIC's van een BIG- flame (indoor 8)7 O-) ) 8)


...

Alle reacties


Acties:
  • 0 Henk 'm!

  • DustMan4u
  • Registratie: Maart 2001
  • Laatst online: 03-10 16:23
En wat zei de manual van het apparaat hierover? (Staat volgens mij duidelijk beschreven in hoofdstuk 5.2 namelijk).

https://www.magicfx.eu/me.../manual_flamaniac_eng.pdf

Domotica: Fibaro HC2 met diverse modules in het hele huis, Nest Hello & Cam IQ | 3D: Voron Switchwire


Acties:
  • 0 Henk 'm!

  • Vuikie
  • Registratie: December 2003
  • Laatst online: 06-10 14:35
'Once on standby, the safety timer will be activ
ated which should take about 1 second. When the
Flamaniac is released, you are ready to fire! To
fire the with the Flamaniac you need to put the
fire channels on 100%. '
Volgens de handleiding die ^^ geeft.

Acties:
  • 0 Henk 'm!

  • Kaj.
  • Registratie: Juni 1999
  • Niet online

Kaj.

1 LED is niet genoeg

Je gebruikt 2 tot 6 kanalen voor het apparaat. Het eerste DMX-kanaal is inderdaad het veiligheidskanaal: zolang die binnen een bepaalde waarde zit, is het apparaat live. Met de overige kanalen stuur je de verschillende vlammen aan.
Dus als jij vlammen wil, moet je kanaal 1 op waarde X zetten om hem actief te hebben, en met de rest van de kanalen in combinatie met kanaal 1 kun je vlammen.

Acties:
  • 0 Henk 'm!

  • Atmoz
  • Registratie: Juli 2001
  • Laatst online: 01-10 07:55

Atmoz

Techno!!

Topicstarter
DustMan4u schreef op donderdag 07 april 2016 @ 13:29:
En wat zei de manual van het apparaat hierover? (Staat volgens mij duidelijk beschreven in hoofdstuk 5.2 namelijk).
Niets natuurlijk ;) Zo diepgaand gaan deze niet.
Dank :)
Vuikie schreef op donderdag 07 april 2016 @ 14:02:

Volgens de handleiding die ^^ geeft.
Dat weet ik.
Channel 1 voor safety, en channel 2 voor fire. Maar HOE stuur ik zowel channel 1 als 2 TEGELIJK aan? (Kan toch niet met serieel..?!) Ik snap niet wat voor puls ik moet sturen om te vuren. Ik kom niet verder dan de safety eraf halen...
Kaj. schreef op donderdag 07 april 2016 @ 14:03:
Je gebruikt 2 tot 6 kanalen voor het apparaat. Het eerste DMX-kanaal is inderdaad het veiligheidskanaal: zolang die binnen een bepaalde waarde zit, is het apparaat live. Met de overige kanalen stuur je de verschillende vlammen aan.
Dus als jij vlammen wil, moet je kanaal 1 op waarde X zetten om hem actief te hebben, en met de rest van de kanalen in combinatie met kanaal 1 kun je vlammen.
Hmzzz, verschillende vlammen?!
Ik dacht dat er maar één vlam was, en de grote daarvan bepaal je door de tijd dat je vlamt.

Maar ik snap dus dat ik channel 1 (safety) op actief moet hebben (dat is waarde tussen 40 en 60, dus ik heb 50 genomen), maar daarna moet ik om te vuren OOK nog "fire" actief hebben terwijl je met serieel niet 2 dingen tegelijk kunt doen.

Of moet ik dan een "combinatie-signaal" sturen ofzo?

Acties:
  • +1 Henk 'm!

  • Vuikie
  • Registratie: December 2003
  • Laatst online: 06-10 14:35
Nee, het DMX protocol zit zo in elkaar dat je continue 512 kanalen doorstuurt met daar een waarde in. Wat ik zo snel kan zien is dat als je het apparaat in 2 kanaalmodus zet en volgende stuurt:

C:
1
2
 DmxSimple.write(1, 50);
 DmxSimple.write(2, 100);


Het apparaat een continue vlam geeft. En zodra jij dit stuurt:

C:
1
2
 DmxSimple.write(1, 50);
 DmxSimple.write(2, 0);


stopt ie met vlammen

C:
1
2
 DmxSimple.write(1, 0);
 DmxSimple.write(2, 0);


is het apparaat uit(2de kanaal maakt nu niks uit omdat het safety kanaal op 0 staat.

Acties:
  • 0 Henk 'm!

  • Atmoz
  • Registratie: Juli 2001
  • Laatst online: 01-10 07:55

Atmoz

Techno!!

Topicstarter
Vuikie schreef op donderdag 07 april 2016 @ 14:27:
Nee, het DMX protocol zit zo in elkaar dat je continue 512 kanalen doorstuurt met daar een waarde in. Wat ik zo snel kan zien is dat als je het apparaat in 2 kanaalmodus zet en volgende stuurt:

C:
1
2
 DmxSimple.write(1, 50);
 DmxSimple.write(2, 100);


Het apparaat een continue vlam geeft. En zodra jij dit stuurt:

C:
1
2
 DmxSimple.write(1, 50);
 DmxSimple.write(2, 0);


stopt ie met vlammen

C:
1
2
 DmxSimple.write(1, 0);
 DmxSimple.write(2, 0);


is het apparaat uit(2de kanaal maakt nu niks uit omdat het safety kanaal op 0 staat.
Thanks!!!

Dit soort informatie zocht ik :)

Alleen snap ik niet hoe ik "continu" iets stuur als ik maar één keer

C:
1
2
 DmxSimple.write(1, 50);
 DmxSimple.write(2, 100);


stuur? Of moet dat in een loopje? (en zoja: hoevaak, en moet welke "pause" ertussen?

Ik heb bovenstaande code namelijk al heel wat keer getest, in diverse loopjes/timings, maar meer dan dat Safety kom ik dus niet.

Thanks voor de input in ieder geval 8)

Acties:
  • +1 Henk 'm!

  • DustMan4u
  • Registratie: Maart 2001
  • Laatst online: 03-10 16:23
atmoz schreef op donderdag 07 april 2016 @ 14:15:
Hmzzz, verschillende vlammen?!
Ik dacht dat er maar één vlam was, en de grote daarvan bepaal je door de tijd dat je vlamt.

Maar ik snap dus dat ik channel 1 (safety) op actief moet hebben (dat is waarde tussen 40 en 60, dus ik heb 50 genomen), maar daarna moet ik om te vuren OOK nog "fire" actief hebben terwijl je met serieel niet 2 dingen tegelijk kunt doen.

Of moet ik dan een "combinatie-signaal" sturen ofzo?
Je kunt hiermee de hoek van de vlam instellen. Of er ook meerdere vlammen tegelijk uit kunnen komen lijkt me niet.

Als ik iig de manual zo bekijk zet je het apparaat eerst in 'standby' door via kanaal 1 een waarde van tussen de 40% en 60% door te geven (tusesn de 102 en 153). Vervolgens gaat hij na enkele seconden in standby.

Zodra hij in standby staat kun je (in 2 channel mode) een waarde tussen 26 en 255 doorgeven om te ontsteken. De waarde die je doorgeeft bepaalt de hoek van de vlam (zie manual hoofdstuk 5.3).

Dus geen combinatie signaal, maar enkele seconden na elkaar sturen.
atmoz schreef op donderdag 07 april 2016 @ 14:40:
[...]


Thanks!!!

Dit soort informatie zocht ik :)

Alleen snap ik niet hoe ik "continu" iets stuur als ik maar één keer

C:
1
2
 DmxSimple.write(1, 50);
 DmxSimple.write(2, 100);


stuur? Of moet dat in een loopje? (en zoja: hoevaak, en moet welke "pause" ertussen?

Ik heb bovenstaande code namelijk al heel wat keer getest, in diverse loopjes/timings, maar meer dan dat Safety kom ik dus niet.

Thanks voor de input in ieder geval 8)
Het lijkt mij dat (volgens de manual) een waarde van 50 op channel 1 het systeem dus niet in standby gezet wordt. Probeer eens een waarde tussen de 102 en 153.

[ Voor 24% gewijzigd door DustMan4u op 07-04-2016 14:46 ]

Domotica: Fibaro HC2 met diverse modules in het hele huis, Nest Hello & Cam IQ | 3D: Voron Switchwire


Acties:
  • +1 Henk 'm!

  • Vuikie
  • Registratie: December 2003
  • Laatst online: 06-10 14:35
Ik zou er zoiets van maken:

C:
1
2
3
4
5
6
7
8
9
10
11
12
13
if(vlammen == 0){//Apparaat uit
      DmxSimple.write(1, 0);
      DmxSimple.write(2, 0);
}
else if((vlammen == 1)){//Apparaat stand-by
      DmxSimple.write(1, 50);//EDIT Deze waarde bedoeld DustMan4u, geen idee wat die dan wel moet zijn.
      DmxSimple.write(2, 0);
}
else if((vlammen == 2)){//Apparaat VUUR!!!
      DmxSimple.write(1, 50);
      DmxSimple.write(2, 100);
}
delay(500);


en dan ergens de 'vlammen' waarde bepalen die het apparaat bestuurd.

[ Voor 7% gewijzigd door Vuikie op 07-04-2016 14:50 ]


Acties:
  • 0 Henk 'm!

  • Atmoz
  • Registratie: Juli 2001
  • Laatst online: 01-10 07:55

Atmoz

Techno!!

Topicstarter
DustMan4u schreef op donderdag 07 april 2016 @ 14:45:

Je kunt hiermee de hoek van de vlam instellen. Of er ook meerdere vlammen tegelijk uit kunnen komen lijkt me niet.

Als ik iig de manual zo bekijk zet je het apparaat eerst in 'standby' door via kanaal 1 een waarde van tussen de 40% en 60% door te geven (tusesn de 102 en 153). Vervolgens gaat hij na enkele seconden in standby.

Zodra hij in standby staat kun je (in 2 channel mode) een waarde tussen 26 en 255 doorgeven om te ontsteken. De waarde die je doorgeeft bepaalt de hoek van de vlam (zie manual hoofdstuk 5.3).

Dus geen combinatie signaal, maar enkele seconden na elkaar sturen.


Het lijkt mij dat (volgens de manual) een waarde van 50 op channel 1 het systeem dus niet in standby gezet wordt. Probeer eens een waarde tussen de 102 en 153.
Dank! Dat van die 102 en 153 is een goede...
Ik heb tot nu toe alleen maar zitten testen met 50 (dus doorsturen 1,50).
Wel gek daar hij daardoor wel steeds van "safety" af ging :?
Vuikie schreef op donderdag 07 april 2016 @ 14:48:
Ik zou er zoiets van maken:

C:
1
2
3
4
5
6
7
8
9
10
11
12
13
if(vlammen == 0){//Apparaat uit
      DmxSimple.write(1, 0);
      DmxSimple.write(2, 0);
}
else if((vlammen == 1)){//Apparaat stand-by
      DmxSimple.write(1, 50);//EDIT Deze waarde bedoeld DustMan4u, geen idee wat die dan wel moet zijn.
      DmxSimple.write(2, 0);
}
else if((vlammen == 2)){//Apparaat VUUR!!!
      DmxSimple.write(1, 50);
      DmxSimple.write(2, 100);
}
delay(500);


en dan ergens de 'vlammen' waarde bepalen die het apparaat bestuurd.
Top!

Straks meteen proberen :D

Ik laat jullie iets weten. Ben blij met deze input, anders was ik nog wel effe bezig geweest....

_/-\o_

Acties:
  • 0 Henk 'm!

  • DustMan4u
  • Registratie: Maart 2001
  • Laatst online: 03-10 16:23
atmoz schreef op donderdag 07 april 2016 @ 14:54:
[...]


Dank! Dat van die 102 en 153 is een goede...
Ik heb tot nu toe alleen maar zitten testen met 50 (dus doorsturen 1,50).
Wel gek daar hij daardoor wel steeds van "safety" af ging :?
Als ik de manual goed interpreteer gaat hij bij elke waarde boven 0 al wel bezig met in standby gaan, maar enkel als hij een waarde tussen de 40% en 60% bereikt staat hij scherp.

Ben benieuwd naar het resultaat (pics!) ;)

[ Voor 4% gewijzigd door DustMan4u op 07-04-2016 15:01 ]

Domotica: Fibaro HC2 met diverse modules in het hele huis, Nest Hello & Cam IQ | 3D: Voron Switchwire


Acties:
  • 0 Henk 'm!

  • Atmoz
  • Registratie: Juli 2001
  • Laatst online: 01-10 07:55

Atmoz

Techno!!

Topicstarter
DustMan4u schreef op donderdag 07 april 2016 @ 15:00:
[...]


Als ik de manual goed interpreteer gaat hij bij elke waarde boven 0 al wel bezig met in standby gaan, maar enkel als hij een waarde tussen de 40% en 60% bereikt staat hij scherp.

Ben benieuwd naar het resultaat (pics!) ;)
Helaas. Niks! :(

Ik heb allerlei verschillende scenario's geprobeerd, maar ik krijg maar geen vlam.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <DmxSimple.h>

void setup() {
  DmxSimple.maxChannel(2);
}

void loop() {
  int brightness;

  for (brightness = 50; brightness <= 150; brightness++) {
      DmxSimple.write(1, brightness);
      //DmxSimple.write(2, 255);
 
    delay(28);
    DmxSimple.write(1, brightness);
    delay(28);
    DmxSimple.write(1, brightness);
    delay(28);
    DmxSimple.write(1, brightness);
    delay(28);
  }


  for (brightness = 0; brightness <= 500; brightness++) {
      //DmxSimple.write(1, 150);
      //delay(10);
      DmxSimple.write(2, 255);
      delay(28);
  }

//delay(1000);
  
}


In Safety mode raak ik dus wel (meestal), maar werkelijk waar nog 0,0 teken van vuuuur ;(

[ Voor 21% gewijzigd door Atmoz op 07-04-2016 19:15 ]


Acties:
  • 0 Henk 'm!

  • Vuikie
  • Registratie: December 2003
  • Laatst online: 06-10 14:35
Na de de gebruikershandleiding te hebben gelezen(Heb jij dit al gedaan? Mijn advies: doen, zodat je weet wat een VUUR apparaat kan doen ;) )

Heb ik een paar vragen.
Op welk kanaal staat je operating kanaal en in welke modus staat deze?

Het kan namelijk best zijn dat je gewoon een waarde naar een verkeerd kanaal zit te sturen. Plus de waarde die je moet sturen is ook belangrijk. Ik kan mij voorstellen dat als jij te snel (verkeerde) waardes stuurt, het apparaat ook zegt F U! :P

Acties:
  • 0 Henk 'm!

  • Damic
  • Registratie: September 2003
  • Laatst online: 06-10 21:27

Damic

Tijd voor Jasmijn thee

Ja pagina 13 en 14 zijn wel handig, daar staat bvb op onder welke hoek hij gaat vuur spuwen bij welke dmx waarde.
The Flamaniac can be controlled by 6 DMX channels or, when set into another DMX mode with your F4 button on the remote, with 2 DMX channels. The first channel is the Safety Channel, where that value can be set between 1 and 512. The other channels are the fire channels. These channels can also be set between 1 and 512 and are automatically programmed sequentially.
Once the safety channel reaches a level between 40% and 60%, the system will be put on
standby.
[quote]The Flamaniac is equipped to fire at five basic
angles: -45, -22, 0, 22 and 45 degrees. These
angles correspond to the five different fire channels which can be set between DMX channel 1 and 256. The output Height is somewhat dependent of the pulse time which should be pre-set in a DMX Chase or by pushing the fire channel manually on your DMX controller.
When set in DMX mode 2 you can control all 5 angles by 1 DMX address. These angles correspond to the value that the Fire channel has.[/quote]


C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <DmxSimple.h>
int brightness_time=500;
void setup() {
  DmxSimple.maxChannel(2);
}

void loop() {
  int brightness;


    DmxSimple.write(1, 127); //standby
    delay(4000);
   
  for (brightness = 1; brightness <= brightness_time; brightness++) {
      DmxSimple.write(2, 255);
      delay(100);
  }
    DmxSimple.write(1, 0); //safety
delay(5000);
  
}

[ Voor 96% gewijzigd door Damic op 07-04-2016 21:09 . Reden: code nog aangepast ]

Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag


Acties:
  • 0 Henk 'm!

  • Atmoz
  • Registratie: Juli 2001
  • Laatst online: 01-10 07:55

Atmoz

Techno!!

Topicstarter
Dat is niet het apparaat wat ik heb.
Ik heb wel eentje van "Magix FX" maar geen flamaniac.
Het is eerder (maar toch iets anders) deze: http://www.bax-shop.nl/vl...lame-podium-vlammenwerper.

Maargoed, dat doet er mijns inziens ook niet echt toe... ik moet gewoon weten hoe ik EN een safety signaal EN een fire signaal stuur....

Acties:
  • 0 Henk 'm!

  • Damic
  • Registratie: September 2003
  • Laatst online: 06-10 21:27

Damic

Tijd voor Jasmijn thee

Ha probeer de code eens wat ik heb geschreven? * heb de delays veranderd.

Ha je hebt den deze: https://www.magicfx.eu/me...anual_stage_flame_eng.pdf

[ Voor 8% gewijzigd door Damic op 07-04-2016 20:54 ]

Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag


Acties:
  • 0 Henk 'm!

  • Atmoz
  • Registratie: Juli 2001
  • Laatst online: 01-10 07:55

Atmoz

Techno!!

Topicstarter
Damic schreef op donderdag 07 april 2016 @ 20:51:
Ha probeer de code eens wat ik heb geschreven? * heb de delays veranderd.

Ha je hebt den deze: https://www.magicfx.eu/me...anual_stage_flame_eng.pdf
Thanks! Maar ook dat werkt niet.
En volgens mij moet dat safety signaal echt CONSTANT worden verstuurd.
Het kan niet zo zijn dat je maar één keer hoeft te sturen, en dan (ineens/onveilig) volle gas kunt vlammen...

Ik denk dat het toch iets ingewikkelder in elkaar zit. Heb ook echt al super veel configuraties geprobeerd. Ik wil natuurlijk ook HEEL graag die vlam zien komen 8) 8) 8) 8) 8) 8)

Acties:
  • 0 Henk 'm!

  • Damic
  • Registratie: September 2003
  • Laatst online: 06-10 21:27

Damic

Tijd voor Jasmijn thee

Dat kan ook zijn.
C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <DmxSimple.h>
int brightness_time=500;
void setup() {
  DmxSimple.maxChannel(2);
}

void loop() {
  int  i;

for (i=0;i<4000;i++)    DmxSimple.write(1, 127); //standby

   
  for (i = 0; i < brightness_time; i++) {
DmxSimple.write(1, 127);
      DmxSimple.write(2, 255);
      //delay(100);
  }
    DmxSimple.write(1, 0); //safety
delay(5000);
}

[ Voor 6% gewijzigd door Damic op 07-04-2016 21:10 ]

Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag


Acties:
  • 0 Henk 'm!

  • Atmoz
  • Registratie: Juli 2001
  • Laatst online: 01-10 07:55

Atmoz

Techno!!

Topicstarter
Damic schreef op donderdag 07 april 2016 @ 21:08:
Dat kan ook zijn.
C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <DmxSimple.h>
int brightness_time=500;
void setup() {
  DmxSimple.maxChannel(2);
}

void loop() {
  int  i;

for (i=0;i<4000;i++)    DmxSimple.write(1, 127); //standby

   
  for (i = 0; i < brightness_time; i++) {
DmxSimple.write(1, 127);
      DmxSimple.write(2, 255);
      //delay(100);
  }
    DmxSimple.write(1, 0); //safety
delay(5000);
}
Ook niet :( Zelfs geen safety meer...

Acties:
  • 0 Henk 'm!

  • Damic
  • Registratie: September 2003
  • Laatst online: 06-10 21:27

Damic

Tijd voor Jasmijn thee

Anders vraag eens aan de producent he hoe je het moet versturen.

Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag


Acties:
  • 0 Henk 'm!

  • Atmoz
  • Registratie: Juli 2001
  • Laatst online: 01-10 07:55

Atmoz

Techno!!

Topicstarter
Damic schreef op donderdag 07 april 2016 @ 21:16:
Anders vraag eens aan de producent he hoe je het moet versturen.
Ga ik ook doen, maar die stonden vandaag (en morgen) op een beurs :P

Acties:
  • 0 Henk 'm!

  • Damic
  • Registratie: September 2003
  • Laatst online: 06-10 21:27

Damic

Tijd voor Jasmijn thee

Bekijk dit voorbeeld eens: http://www.deskontrol.net/blog/small-arduino-dmx-controller/YouTube: DMX Control with Arduino and DmxSimple

[ Voor 41% gewijzigd door Damic op 07-04-2016 21:45 ]

Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag


Acties:
  • 0 Henk 'm!

  • Atmoz
  • Registratie: Juli 2001
  • Laatst online: 01-10 07:55

Atmoz

Techno!!

Topicstarter
Ik heb zo'n USB-DMX512 dongle...
Die werkt dus goed met "FreeStyler" in Windows.

Als ik met FreeStyler ook commandline commando's kon geven, dan was het ook al goed geweest.

Alles is eigenlijk goed, als ik maar niet met zo'n schuiven op zo'n DMX paneel (hardware of software) hoef te werken.

Dus een oplossing die ik ZELF kan "besturen" vanuit de PC is ook goed.

Acties:
  • 0 Henk 'm!

  • DustMan4u
  • Registratie: Maart 2001
  • Laatst online: 03-10 16:23
atmoz schreef op vrijdag 08 april 2016 @ 08:13:
Ik heb zo'n USB-DMX512 dongle...
Die werkt dus goed met "FreeStyler" in Windows.

Als ik met FreeStyler ook commandline commando's kon geven, dan was het ook al goed geweest.

Alles is eigenlijk goed, als ik maar niet met zo'n schuiven op zo'n DMX paneel (hardware of software) hoef te werken.

Dus een oplossing die ik ZELF kan "besturen" vanuit de PC is ook goed.
Begrijp ik nou goed dat het met die USB/DMX dongle wel goed werkt? Zo ja, wat doe je daarmee precies om hem aan het werk te krijgen?

Domotica: Fibaro HC2 met diverse modules in het hele huis, Nest Hello & Cam IQ | 3D: Voron Switchwire


Acties:
  • 0 Henk 'm!

  • Atmoz
  • Registratie: Juli 2001
  • Laatst online: 01-10 07:55

Atmoz

Techno!!

Topicstarter
DustMan4u schreef op vrijdag 08 april 2016 @ 09:21:
[...]


Begrijp ik nou goed dat het met die USB/DMX dongle wel goed werkt? Zo ja, wat doe je daarmee precies om hem aan het werk te krijgen?
Klopt, daar werkt het wel mee.
Maar dan wel "gewoon" in Freestyler.
Daar zet ik channel 1 op 50% en vervolgens schuif ik channel2 omhoog zodat er een vlam komt.

Liever "boots ik dat na" in mijn eigen omgeving (Arduino of commandline tool) zodat ik met eigen software kan triggeren.

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 06-10 10:20

Janoz

Moderator Devschuur®

!litemod

VOlgens mij wordt het 'hersturen' gewoon door de dmxSimple library afgehandeld. Het enige wat jij hoeft te doen is de waarden aanpassen op het moment dat ze anders moeten worden.


Even doorgezocht, en het blijkt te kloppen:

https://code.google.com/a...wikis/DmxSimplewrite.wiki
DmxSimple maintains a buffer of all the DMX channels, and transmits them on the next transmission cycle.

[ Voor 40% gewijzigd door Janoz op 08-04-2016 10:59 ]

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • Vuikie
  • Registratie: December 2003
  • Laatst online: 06-10 14:35
Het volgende zou, volgens mij, moeten werken:

C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <DmxSimple.h>

unsigned long Millis_Stamp;//don't use delay();
unsigned long Millis_Wait =1000;//wait 1 second
int Vlam_State = 0;
int Aantal_Vlammen = 4;

void setup() {
  DmxSimple.maxChannel(2);
  Millis_Stamp=millis();
}

void loop(){
  unsigned long _Millis_Current = millis();
  
  switch(Vlam_State){
    case 0:{
      DmxSimple.write(1, 50); //On
      DmxSimple.write(2, 0); //flame off
      if(_Millis_Current>Millis_Stamp+Millis_Wait){
        Vlam_State++;
        Millis_Stamp=millis();
        Millis_Stamp=4000;//wait 4 seconds
       }
    }//case 0
    break;
   
    case 1:{
      DmxSimple.write(1, 50); //On
      DmxSimple.write(2, 50); //flame on
      if(_Millis_Current>Millis_Stamp+Millis_Wait){
        Millis_Stamp=millis();
        Millis_Stamp=4000;//wait 4 seconds
        if(Aantal_Vlammen>0){
          Vlam_State--;//1 step back
          Aantal_Vlammen--;
          Millis_Wait=4000;//Wait 4 seconds
        }
        else{
          Vlam_State++;//1 step forward
        }
       }
    }//case 1
    break;

    case 2:{//Stay here forever
      DmxSimple.write(1, 0); //standby
      DmxSimple.write(2, 0); //flame off
    }//case 2
    break;

  }//switch
}


ik zou zeggen probeer het eens ;)

Acties:
  • 0 Henk 'm!

  • Atmoz
  • Registratie: Juli 2001
  • Laatst online: 01-10 07:55

Atmoz

Techno!!

Topicstarter
Vette code!! Thanks, maar helaas geen vonk ;)

Wel weer netjes "Safety" en "ready to fire in 3, 2, 1"...

Hmzzz, toch lastiger dan gedacht/gehoopt ;)

Acties:
  • 0 Henk 'm!

  • Vuikie
  • Registratie: December 2003
  • Laatst online: 06-10 14:35
We zien iets simpels over het hoofd denk ik. Maar zo vanaf afstand is dat lastig om vast te stellen.

Kan je de DMX dongle op de bus mee laten kijken, om te zien wat de Arduino op de bus zet?

Acties:
  • 0 Henk 'm!

  • Damic
  • Registratie: September 2003
  • Laatst online: 06-10 21:27

Damic

Tijd voor Jasmijn thee

Kun je niets iets simpelere met knopjes werken en dan automatiseren?
Dus 2 knopjes aansluiten en die uitlezen en daarmee een statechange doen.
atmoz schreef op vrijdag 08 april 2016 @ 10:31:
[...]


Klopt, daar werkt het wel mee.
Maar dan wel "gewoon" in Freestyler.
Daar zet ik channel 1 op 50% en vervolgens schuif ik channel2 omhoog zodat er een vlam komt.

Liever "boots ik dat na" in mijn eigen omgeving (Arduino of commandline tool) zodat ik met eigen software kan triggeren.
Heeft freestyler een flash knop dan word je output naar 255 gezet zolang je hem inhoud.

Maak eens van die DmxSimple.write(2, 50); //flame on DmxSimple.write(2, 255); //flame on

[ Voor 69% gewijzigd door Damic op 08-04-2016 19:35 ]

Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag


Acties:
  • 0 Henk 'm!

  • _ferry_
  • Registratie: Januari 2002
  • Niet online

_ferry_

Moderator Tweaking

Nipple Tweaker

Inderdaad, die 100 moet je denk ik vervangen door 255. Dat is 100% aan.

Acties:
  • 0 Henk 'm!

  • Atmoz
  • Registratie: Juli 2001
  • Laatst online: 01-10 07:55

Atmoz

Techno!!

Topicstarter
Werkt helaas ook niet.
Had ik gisteren ook al; geprobeerd meen ik.

Steeds komt er te staan "Ready to fire in 3, 2, 1" en dan *spannend*... maar toch niets :(

Acties:
  • 0 Henk 'm!

  • Damic
  • Registratie: September 2003
  • Laatst online: 06-10 21:27

Damic

Tijd voor Jasmijn thee

Eventjes iets geschreven in pseudo.
2 inputs op de arduino en 2 outputs
1 input is een schakelaar. De andere een drukknop (of ook een schakelaar om te testen)
De output is die van de dmx en een led.

PSeudo:
C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
int SwitchSafety = 1;//poortnummer
bool SwitchSafetyState = false;
int SwitchFire = 2;//poortnummer
int LedOut=4;//poortnummer
int TimerStart=0;
setup()
{
//set inputs/outputs

//dmx max channels
dmx.max="2"
}

loop()
{
//read switches
if(input(SwitchSafety)!=SwitchSafetyState )
{
SwitchSafetyState =input(SwitchSafety);
if(SwitchSafetyState)
{
dmx(1,127);
TimerStart=time();
}else{
dmx(1,0);
}
}

if(SwitchSafetyState)
{
if(Time-TimerStart>4000)//check if timer is finnished
{
output(LedOut,1);
if(input(SwitchFire)){dmx(2,255);}else{dmx(2,0);}
}
}else{
output(LedOut,0);
dmx(2,0);
}

Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag


Acties:
  • 0 Henk 'm!

  • DustMan4u
  • Registratie: Maart 2001
  • Laatst online: 03-10 16:23
Omdat het met de USB dongle wel werkt:

Enige wat ik me zo nog kan bedenken is dat wellicht de timing / baud rate van het DMX gebeuren niet helemaal lekker is? Waardoor hij CH1 wel kan lezen, maar een probleem heeft met de opvolgende kanalen.

Heb je toevallig de beschikking over een oscilloscoop, en zou je daarmee wat plotjes van het signaal op de DMX lijnen kunnen posten?

Domotica: Fibaro HC2 met diverse modules in het hele huis, Nest Hello & Cam IQ | 3D: Voron Switchwire


Acties:
  • 0 Henk 'm!

  • DustMan4u
  • Registratie: Maart 2001
  • Laatst online: 03-10 16:23
Inmiddels al aan de praat kunnen krijgen?

Domotica: Fibaro HC2 met diverse modules in het hele huis, Nest Hello & Cam IQ | 3D: Voron Switchwire

Pagina: 1