Tone()

La fonction tone() fournit, via sortie PWM, un signal avec un cycle de travail du 50% et une fréquence spécifique. On peut aussi indiquer, comme troisième paramètre de cette fonction, la durée de ce signal.

Le paramètre de la durée est optionnel. Si il n’est pas spécifié dans le parenthèse de la fonction, le son restera constant jusqu’à l’exécution du mandat noTone(pin). La fonction tone() agit comme digitalWrite(), c’est à dire, quand on lui donne l’ordre de changer le pin à l’état high, elle maintient cet état jusqu’à ce qu’elle reçoit l’ordre de changer à low.

Il faut savoir que uniquement on peut produire un seul ton à la fois sans avoir de perturbations.

Syntaxe

tone(pin, fréquence)
tone(pin, fréquence, durée)

On observe trois paramètres:

  • pin -> nombre du pin défini comme sortie PWM.
  • fréquence -> c’est la fréquence du ton mesurée en Hz.
  • durée -> longueur du ton en millisecondes.

Exemple

Un buzzer connecté au pin 9 émet un son dans une fréquence de 440 Hz pendant 1 seconde:

const int pinBuzzer = 9;
int frequence = 440;
int duree = 1000;
void setup() {
  tone(pinBuzzer, frequence, duree);
}
void loop() {}

Voir aussi