Risolto Segnale PWM da pin digitale

Un saluto a tutti voi,
il mio problema, a titolo di curiosita',era uscire da un pin digitale con un segnale PWM.
Vi trasmetto il programma. Funziona ma non vi allego tutto quanto ho scritto come note poiche' non voglio fare l'insegnante in quanto qui posso solo imparare.
Il led si illumina gradualmente e cosi' si spegne in base al tempo regolato dalla frequenza, in questo caso 1 Khz. ( rit=1000 )
E' limitato poiche' a 250 Hz ( rit=4000) ci mette una eternita' a completare il ciclo mentre a 5 Khz ( rit=200) rimane acceso e anche se sull'oscilloscopio qualcosa si vede ma il led non lampeggia piu'.
Abbiate pazienza se troverete errori di battitura ma le mani e la testa hanno i loro anni e non sono pochi.
Grazie per l'attenzione e se avete consigli sono bene accetti.

int rit=1000;
int x=0;

void setup()
{
pinMode(4, OUTPUT);
}

void loop()
{
x=0;

while(x<rit)
{
digitalWrite(4, HIGH);
delayMicroseconds(x);

digitalWrite(4, LOW);
delayMicroseconds(rit-x);

x=x+1;
}
x=0;

while(x<rit)
{
digitalWrite(4, LOW);
delayMicroseconds(x);

digitalWrite(4, HIGH);
delayMicroseconds(rit-x);

x=x+1;
}
}

@marinaio1945: ... fosse anche per una sola riga, come richiesto al punto 7 del REGOLAMENTO, il codice va racchiuso tra i tag CODE, per cui, cortesemente edita il tuo post qui sopra (quindi NON scrivendo un nuovo post, ma utilizzando il bottone a forma di piccola matita :pencil2: che si trova in basso del tuo post), seleziona la parte di codice e premi l'icona <code/> nella barra degli strumenti per contrassegnarla come codice. Inoltre, così com'è, non è molto leggibile ... assicurati di averlo correttamente indentato nell'IDE prima di inserirlo (questo lo si fa premendo ctrlT su un PC o cmd T su un Mac, sempre all'interno del IDE).

Grazie,

Guglielmo

Grazie per la risposta. Spero di aver editato giusto

1 Like