Go Down

Topic: pilotare uno dimmer  (Read 272 times) previous topic - next topic

mirco_versilia

Visto che le regole, (anche se non le condivido sempre!) ci sono, e quindi il mio topic è stato rimosso perchè conteneva cose pericolosissime... propongo solo se qualcuno mi riesce a spiegare queste poche righe di codice e se vanno insrite in un punto specifico di uno progetto , perchè ho notato che in base ha dove inserisco questo codice fornito dal costruttore dello shield mi rallenta il funzionamento di tutto il progetto:

int AC_LOAD = 3;    // Output to Opto Triac pin
int dimming = 128;  // Dimming level (0-128)  0 = ON, 128 = OFF

void setup()
{
  pinMode(AC_LOAD, OUTPUT);// Set AC Load pin as output
  attachInterrupt(0, zero_crosss_int, RISING);  // Choose the zero cross interrupt # from the table above
}

// the interrupt function must take no parameters and return nothing
void zero_crosss_int()  // function to be fired at the zero crossing to dim the light
{
  // Firing angle calculation : 1 full 50Hz wave =1/50=20ms
  // Every zerocrossing thus: (50Hz)-> 10ms (1/2 Cycle) For 60Hz => 8.33ms (10.000/120)
  // 10ms=10000us
  // (10000us - 10us) / 128 = 75 (Approx) For 60Hz =>65

  int dimtime = (75*dimming);    // For 60Hz =>65   
  delayMicroseconds(dimtime);    // Off cycle
  digitalWrite(AC_LOAD, HIGH);   // triac firing
  delayMicroseconds(10);         // triac On propogation delay (for 60Hz use 8.33)
  digitalWrite(AC_LOAD, LOW);    // triac Off
}

void loop()  {
  for (int i=5; i <= 120; i++){  // We use 120 as the lowest and 5 as the highest brightness setting. May be adjusted depending on the lamp used.
    dimming=i;
    delay(20);
   }
  for (int i=120; i >= 5; i--){  // Same as above
    dimming=i;
    delay(20);

fabpolli

in conformità al suddetto regolamento, punto 7, devi editare il tuo post (quindi NON scrivendo un nuovo post, ma utilizzando il bottone More -> Modify che si trova in basso a destra del tuo post) e racchiudere il codice all'interno dei tag CODE (... sono quelli che in edit inserisce il bottone con icona fatta così: </>, tutto a sinistra).

In pratica, tutto il tuo codice dovrà trovarsi racchiuso tra due tag:
[code] _il _tuo_ codice_ [/code]
 così da non venire interpretato e non dare adito alla formazione di caratteri indesiderati o cattiva formattazione del testo.

gpb01

#2
Nov 14, 2018, 12:12 pm Last Edit: Nov 14, 2018, 05:12 pm by gpb01
... e non c'è nulla da fare ... il REGOLAMENTO probabilmente non lo hai letto.  Purtroppo però qui, prima delle domande, viene il rispetto della comunità e delle sue regole.

Ricapitolando, prima di tutto, ma è la cosa meno importante (si corregge facilmente), come ti è stato fatto notare, NON hai rispettato il punto 7, ma hai anche violato il punto 13 ... il cross-posting è difatti proibito (anche tra lingue diverse) e tu hai già posto la stessa/simile domanda QUI.

Debbo quindi pregarti di proseguire nella sezione di lingua inglese dove hai aperto l'altro thread e sono purtroppo costretto a chiudere questo. :smiley-confuse:

Guglielmo

P.S.: Mi pare che nel tuo post in lingua inglese manchi in modo chiaro la domanda ... ti consigli di correggerlo ... ::)
Search is Your friend ... or I am Your enemy !

Go Up