Go Down

Topic: Dmx.... stesura sketch errata? (Read 590 times) previous topic - next topic

tecnoartcamogli

Dopo un bel po di tentativi per cercare di interpretare tutte le istruzioni, credo di essermi arenato sulla stesura dello sketch...
infatti il mio "progetto" prevede una dissolvenza incrociata, tra i tre colori basi (R-G-B) con una durata del tempo di dissolvenza paria a 5 secondi.
Ho inserito i vari ritardi... (delay) , però il risultato è catastrofico... è come se tutte le istruzioni venissero eseguite simultaneamente...
mi ritrovo quindi con tutti i colori accesi , che trillano ad una frequenza di circa 35 hertz e compiono una dissolvenza sino a spegnersi per poi tornare nella condizione iniziale....

Nonostante l' IDE non mi avverta di errori nel codice, penso che sia una questione di sintassi...

Mi scuso ancora se il topic potrebbe essere troppo banale, ma dopo ore e ore di tentativi e qualche notte persa, non sono ancora riuscito a cavare un ragno dal buco...

grazie, Fabio

ecco il codice :


#include <DmxSimple.h>

void setup() {
 
  DmxSimple.usePin(11); // definisco il pin con cui arduino comunica con dmx-shied
 
  DmxSimple.maxChannel(7); // i canali da inviare in questo ciclo
 
   // definisco i canali che manterranno un valore costante nel ciclo
   
  DmxSimple.write(1, 255); // canale 1 ON : abilita il proiettore
  DmxSimple.write(2, 0); // canale 2 OFF : disabilita effetto
  DmxSimple.write(3, 0); // canale 3 OFF : disabilita effetto
  DmxSimple.write(4, 0); // canale 4 OFF : disabilita effetto
 
}

void loop()
{
   
  int brightness; int fade; // creo gli attributi brightness e fade
  for (brightness = 0; brightness <= 255; brightness++) // definisco brightness
  for (fade = 0; fade <= 255; fade--) // definisco fade
 
  {
    DmxSimple.write(5, brightness); // rampablu
    delay(10); // aspetta 19ms (19 * 255 = 4845 msec)
   
    DmxSimple.write(5, fade); // rampa blu in dissolvenza
    DmxSimple.write(6, brightness); // rampa verde
    delay(10); // aspetta 19ms (19 * 255 = 4845 msec)
   
    DmxSimple.write(6, fade); // rampa verde in dissolvenza
    DmxSimple.write(7, brightness); // rampa rossa
    delay(10); // aspetta 19ms (19 * 255 = 4845 msec)
   
    DmxSimple.write(7, fade); // rampa rossa in dissolvenza
  }

}

Go Up