l’istruzione genera un’oda quadra sul pin della frequenza indicata. Se si indica anche la durata l’onda non viene più emessa, altrimenti continua ad oltranza, fino ad un eventuale istruzione noTone(pin). N.B. l’istruzione tone interferisce sull’uso di pwm sui pin 3 e 11. È possibile generare un tono su un solo pin alla volta. Se un tono è già in riproduzione su pinA, la chiamata a tone(pinB) non avrà alcun effetto. Se il tono sta suonando sullo stesso pin, la chiamata imposterà la sua frequenza. La frequenza minima riproducibile è 31Hz. Quando viene eseguita l’istruzione tone() la codifica passa subito oltre mentre il generatore di tone() continua a funzionare.

 

Il progetto seguente genera un tono a frequenza 1440Hz per ½ secondo e null’altro. Sostituendo con tone(12, 1440,5000) avremo un suono per 5 secondi.

 

Se guardiamo a questi due esempi seguenti, si ha che il primo codice non genera suono, quello dopo lo genera per 2 secondi.

 

 

 

 

 

 

 

Con un oscilloscopio analizziamo l’onda quadra che è in ingresso al piezo: sull’oscilloscopio si legge che il segnale mandato al piezo è un’onda quadra di periodo circa 167 microsecondi. La sua ampiezza è circa 4.5Volt.

In effetti, avendo chiesto tone(12, 6000, 5000) di 6kHz il periodo è 1/6000 = 0.0001666 secondi = 166.66 microsecondi.