Multivibratore Astabile

Arduino UNO ha 6 oscillatori PWM, ma volendo generare un impulso su una uscita qualsiasi, portando l’uscita del pin al livello logico 1, mantenendo lo stato logico per breve tempo quindi riportando il livello logico a 0 (zero) secondo lo schema:

OUT > 1 – Delay - Out > 0 – Delay

Il programma utilizza lo slider collegato all’ingresso A0 con l’istruzione “GetByte” associata alla Variabile “ADCin” per controllare la frequenza dell’impulso presente sul pin 0 della porta B.

Il Delay di 50 millisecondi determina la larghezza dell’impulso

contatore astabile 1

Un altro modo per ottenere una serie d’impulsi senza utilizzare le funzioni “Output” e “Delay”.

Creo l’impulso utilizzando l’espressione di Calcolo: Out = fabs (out -1) con l’utilizzo della variabile “Out”.

Il Loop, è eseguito 2 volte; il primo ciclo genera un segnale logico 1 sul pin 0 della porta,, il secondo ciclo riporta a zero il segnale presente sul pin 0 della porta B; Delay determina la larghezza dell’impulso.

La frequenza di ripetizione dell’impulso è controllata dal secondo Loop con la variabile “ADCin” e la funzione “Calcolo” che incrementa la variabile “count” ad agni ciclo.

Riccardo Monti