Étape 6: Le carillon de programmation
Haut-parleurs rendent judicieux lorsqu’il y a une différence de tension entre les bornes, qui actionne le cône de haut-parleur soit plus loin loin de soit plus proche de la bobine dans le dos, selon que la différence de tension est positive ou négative. Quand le cône se déplace, l’air se déplace. Le son que nous reconnaissons est juste l’air se déplaçant à des fréquences très particuliers--interviennent en poussant et tirant l’air, qui se déroule ensuite dans nos oreilles.
Microcontrôleurs, créateurs sonores, sont assez délicates. C’est parce que sans un convertisseur analogique numérique, ils ne sont plus capables de faire deux tensions d’alimentation : haute (généralement 3 à 5 volts) ou basse (0 Volt). Donc si vous voulez conduire un haut-parleur avec un microcontrôleur, vos options sont limitées à deux techniques de base : modulation de largeur d’impulsion et d’ondes carrées. Modulation de largeur d’impulsion (PWM) est un truc de fantaisie où vous rapprocher d’un signal analogique (celui qui a des tensions dans la fourchette entre basse et haute) avec un signal numérique (celle qui est la seule low ou high). Pendant que PWM peut rendre arbitraire, joli, son spectre complet, requiere horloges rapides, attention le codage et fantaisie filtrage et amplification à bien conduire un haut-parleur.
Les ondes carrées, en revanche, sont simples, et si vous êtes satisfaits par leur tonalité rauque, peut être un moyen facile de faire des mélodies simples. Leah Buechley fournit un bel exemple de projet projet page, code source) pour utilisant un LilyPad faire carré des ondes capable de piloter un petit haut-parleur.
Mais nous voulions nos carillons à ressembler un peu plus de carillons--avoir une décomposition dynamique et semblent être plus fort à tout d’abord qu’à la fin. Nous voulions également le son à être un peu moins sévère et un peu plus cloches. Que faut-il faire ?
Pour ce faire, nous profitons d’une technique simple pour ajouter complexité à l’onde carrée et un truc avec le haut-parleur. Tout d’abord, nous avons fait en sorte les ondes carrées ne restent pas « hautes » pour la même durée--ils changent au fil du temps, même si leur apparition est toujours le même. Autrement dit, une onde carrée de 440Hz encore passera de « faible » à « high » 440 fois par seconde, mais nous allons en rester à « élevé » pour des quantités variables de temps. Puisqu’un haut-parleur n’est pas un appareil numérique idéal, et il faut du temps pour le cône pousser dehors et dans, donner plus d’une forme « en dents de scie » qu’une onde carrée. En outre, puisque nous sommes seulement fonctionner le haut-parleur sur un côté (nous seulement le donnons une tension positive, jamais une tension négative), il retourne uniquement neutre en raison de la flexibilité du cône. Ce son se traduit par une plus lisse et plus dynamique, distorsion non linéaire.
Nous avons considéré chaque gland accrochant comme un « switch », donc lorsque le gland Centre-suspension mise à la terre les touche, il tire les faibles. Simplement, le code effectue une boucle sur les entrées pour chaque gland accrochant, et s’il en trouve un faible, joue une tonalité pour elle.
Code de source travail LilyPad Arduino joint ci-dessous.