capire meglio la PWM

Domanda: Mi potete aiutare a capire le caratteristiche della PWM che sto creando con questa parte di codice? Io ho questa parte di codice:

 int analog1 = analogRead(A0) >> 2;
    int analog2 = analogRead(A1) >> 2;
    int analog3 = analogRead(A2) >> 2;

    if (currentMicros - previousMicros > interval)
    {
      // write after 330ms after the all conversion are made
      previousMicros = currentMicros;
      analogWrite(3, analog1);
   
      if (currentMillis - previousMillis > interval1)
      { // write after the recept as read and has do what he has to do
           analogWrite(3, analog2);
              previousMillis = currentMillis;
        if (currentMillis - previousMillis > interval1)
        {analogWrite(3, analog3);

 previousMillis = currentMillis;
}

In particolare mi interesserebbe sapere se posso definire un periodo di questa PWM. In tal caso sarebbe il periodo dedotto dal timer? O un periodo dqto dai tre analogWrite piu i millisecondi che gli dico di aspettare prima di scrivere? O qualcosal'altro?

Il duty cycle dipende dalla lettura di tre ingressi differenti. So che é un caos, la mia intenzione é di rileggerli come se fossero separate. PEr auesto mi interessa assai capire la mia PWM. Eccola qua! |500x375 hébergement gratuit d'images

|500x375 des photos

Per cambiare il periodo (o la frequenza) del segnale devi agire sul timer. La libreria la trovi qui --> https://code.google.com/p/arduino-pwm-frequency-library/downloads/list Con il comando analogWrite cambi solamente il duty cycle, ovvero il rapporto tra la durata del segnale HIGH e LOW. Considera che la somma delle due durate (HIGH + LOW) è costante ed è pari al periodo.

Comunque il Controller Ti permette solo 5 o 6 frequenze diverse.
ciao Uwe

Grazie mille delle risposte!! Ciao Giulia