Page 77 - arduino_Neat
P. 77
delay(100);
}
Jetons d'abord un œil à nos variables :
pinMoteur sert à identifier la pin liée au moteur.
pinCapteur sert à identifier la pin liée au capteur.
valeurCapteur sert à emmagasiner la valeur du capteur.
seuilCapteur le seuil sert à préciser à partir de quelle valeur du capteur nous pouvons
considérer l'entrée d'information comme un « souffle ». Plus l'utilisateur souffle fort dans
le capteur, plus la valeur augmente. C'est pourquoi nous retrouvons la fonction
if(valeurCapteur >= seuilCapteur) dans notre code.
tampon et seuilTampon servent à une fonction spéciale. Le micro électret convertit du son
en information numérique. Un signal sonore représenté numérique est en fait une oscillation,
une modulation d'amplitude de signal à travers le temps. Un son continu à l'oreille ne l'est pas
en réalité, puisque c'est une vibration. Les données numériques associées à ce son comportent
donc des valeurs qui peuvent avoir de grandes variations.
Nous voulons que le moteur ne s'enclenche qu'à partir d'un certain seuil de volume
(valeurCapteur) mais la variation de l'amplitude d'un son, même suffisamment fort,
comportera des valeurs inférieures à ce seuil et qui feront s'arrêter le moteur. Pour éviter cela,
nous utilisons le tampon. En effet, à chaque fois que valeurCapteur descend en bas de
seuilCapteur, et ce, même lors d'un son continu, nous incrémentons le tampon plutôt que de
fermer immédiatement le moteur. Si valeurCapteur remonte en haut de seuilCapteur,
signifiant que nous sommes en présence d'un son continu suffisamment fort, nous remettons
tampon à zéro. Toutefois, si pour plusieurs lectures consécutives du capteur, nous obtenons
une valeur inférieure à seuilCapteur, cela sera interprété comme un arrêt du son continu et
nous arrêterons ainsi le moteur. Le nombre de lectures consécutives est spécifié par
seuilTampon et la condition mentionnée précédemment est vérifiée par if( tampon >=
seuilTampon ).
La dernière fonction à décrire que nous utilisons dans le code est map(). Cette fonction nous
permet de reporter les valeurs de lecture analogique (0 à 1023) sur des valeurs sélectionnées
par le programmeur pour le bon fonctionnement du moteur (100 à 255). map() est explicitée
plus en détail dans le projet Premier Contact.
TRAÎNER AU PARC AVEC SON ARDUINO FUMEUR
Si l'envie vous prend d'emmener votre petit fumeur prendre l'air frais, rien n'est plus simple.
Vous n'avez qu'à déconnecter le câble USB de la carte Arduino. Puis, connectez l'extrémité d'un
fil à la broche VIN de l'Arduino et l'autre extrémité à la branche principale positive de la platine
d'essai. Voilà! Votre carte Arduino devrait fonctionner seule.
En fait, la broche VIN de l'arduino permet d'utiliser une source de courant alternative à celui
fourni par le câble USB. Cette source de courant peut généralement varier entre 6 et 12 V
selon les types de cartes.
77