Suite à l’étude des diverses motorisations l’éventail qui s’invite naturellement consiste à commencer à prendre en compte l’environnement du dispositif étudié et d’agir sur ce dernier. C’est à dire que l’on va s’orienter vers des asservissements. Toutefois avant de passer à l’étude de nouveaux capteurs, (Les clavier et potentiomètres sont des capteurs à part entière.) on va revenir un peu sur les bruiteurs et aborder comme nouveau périphérique les diodes LASER. Le premier bruiteur qui a été utilisé est celui présenté en Page 36 du didacticiel pour P043. Il était utilisé de façon très élémentaire pour générer le message « SOS » en code Morse. Il préparait le terrain pour P044 qui s’en servait pour créer des BIPs d’alerte. Inconvénient des bruiteurs actifs, c’est leur monotonie. On ne peut que créer des impulsions plus ou moins longues à une tonalité fixe d’environ 3000Hz. Aucune fantaisie musicale n’est envisageable. Par contre leur mise en œuvre est très économe en code OBJET à la compilation.
Experience_076 : Un petit retour sur le bruiteur ACTIF.
Limiter l’utilisation d’un bruiteur actif à générer un BIT de fin de traitement ou attirer l’attention de l’opérateur lors d’une erreur de manipulation est très restrictif, ces transducteurs peuvent naturellement se voir confier des tâches bien plus riches. C’est ce que va montrer Experience_076.ino qui utilise pour l’interface Homme / machine le Moniteur de l’IDE. On confie au programme un texte constitué de lettres majuscules ou minuscules, et le logiciel se charge de le transmettre sous forme sonore transposé en code Morse. La particularité de ce démonstrateur réside dans le codage des caractères Morse pour minimaliser la place occupée en mémoire par le tableau de transcodage Morse[27]. Le tableau donné en Fig.154 résume les diverses représentations des lettres de l’alphabet. C’est le BIT de droite qui sera l’élément convertit en TRAIT ou en POINT pour la transposition sonore. Du coup le codage des éléments se fait en sens symétrique comme montré sur la Fig.155 sur laquelle sont ajoutés les poids binaires des divers BITs qui indiquent le nombre d’éléments dans le caractère. Pour extraire le nombre d’éléments du caractère de sa représentation binaire on utilise les opérateurs logiques. C’est donc un programme … de révisions !
Experience_077 : Les bruiteurs passifs.
S’ils permettent des générations sonores d’une combinatoire infinie, en contrepartie leur utilisation est bien plus gourmande en octets de programme que ne l’est celle des bruiteurs passifs. L’instruction de loin la plus commode pour les mettre en œuvre si on désire une richesse dans les notes générées est l’instruction spécifique tone(Broche, Fréquence, Durée) qui se gloutonne ses 1852 OCTETs avec utilisation de noTone(). Pour que l’on fasse la comparaison avec l’usage d’un bruiteur passif on va reprendre P043 et remplacer les séquences Morse par l’usage de tone(Broche, Fréquence) et de noTone().
ATTENTION : le petit module de la Fig.156 ressemble comme un frère jumeau à celui de la Fig.95 et pourtant ils sont très différents pour leurs caractéristiques. Les modules passifs sont à base de céramiques piézo-électriques et présentent une impédance élevée. Ils ne consomment que très peu de courant, il est tout à fait possible d’insérer une diode électroluminescente en série sans en altérer le bon fonctionnement. Alors si vous commandez un tel composant vérifié que la référence est bien « passive ».
Experience_078 : haut-parleur comme bruiteur passif.
Deux différences caractérisent les petits Hautparleurs par rapport aux bruiteurs statiques. D’une part la qualité du son n’a rien à voir. La musique piézo-électrique est « nasillarde » car le spectre sonore de ces périphériques est étroit et axé sur les aigus. L’impédance des bobines dynamiques des haut-parleurs est très faible, généralement dans les 8Ω. Il faudra donc impérativement limiter le courant et « muscler » la sortie d’Arduino. S’il est rare qu’avec un Arduino on réalise une application pour diffuser de la musique classique en puissance sonore respectable, comme il existe de tout petits haut-parleurs tel que celui de la Fig.157, pourquoi ne pas s’en servir de bruiteur passif. Les tonalités générées seront « plus rondes », plus agréables, sans compter le fait que si un tel petit composant traine dans les tiroirs, c’est une commande d’approvisionnement évitée. Ce tout petit module est décrit dans la Fiche n°51 avec le schéma électrique à utiliser. Le but d’Experience_078.ino consiste à mesurer la fréquence auditive de votre oreille. Quand on est jeune et que l’on n’a pas trop fréquenté les décibels des boites de nuit ou abusé du « baladeur à donf » la fréquence limite du spectre auditif se situe vers 20000Hz. Puis avec l’âge et l’abus des ambiances trop bruyantes cette fréquence de coupure diminue inexorablement. Bien que je n’ai jamais abusé des décibels, étant allergique au bruit, actuellement à 76 ans révolus, mon audition trouve sa limite vers 7000Hz. Comme l’intelligibilité des sons est globalement située vers les 3000Hz, tout va bien. Et vous, Quelle est votre limite ? Pour le savoir vous téléversez P078, les informations sur son usage sont précisées en tête de listage. J’ai ajusté la « bande passante » de ce générateur entre 400Hz et 8000Hz. En tête de programme vous trouverez deux paramètres qui définissent ces limites. Je vous conseille d’augmenter Hz_MAXI si votre âge suppose une plus grande jeunesse pour réellement trouver vos limites. Par exemple 15000 pour Hz_MAXI.
Experience_079 : Utilisation de la PWM.
Bien que limitée à deux fréquences, 490Hz ou 976Hz, la deuxième est largement assez élevée pour générer des BIPs sonores efficaces. Pour nous en rendre compte nous allons reprendre P043, avec pour différence la génération des notes en PWM. Seules D5 et D6 génèrent les fréquences de 976Hz d’où la sortie binaire D5 dans le démonstrateur Experience_001.ino. Le fait d’utiliser de la PWM consomme 216 octets de programme. C’est infiniment moins onéreux que l’instruction tone() tout en permettant l’utilisation d’un effecteur passif. Vous disposez maintenant de plusieurs possibilités matérielles et logicielles. À vous de les combiner en fonction du matériel disponible et du choix relatif à la richesse des sons émis qui sera le vôtre.
Experience_080 : Une sirène de puissance.
Soit on achète une sirène prête à l’emploie avec l’inconvénient d’un coût et d’un délai de livraison, soit on en revient à un haut-parleur « un peu musclé » qui est inutilisé depuis des années tout au fond du tiroir des trucs oubliés. Le schéma de la Fig.158 présente l’agencement simplifié qui conviendra jusqu’à une puissance respectable. Le transistor T de type NPN peut être un composant de type 2N1711. Il peut alors commuter un courant jusqu’à 500mA. (La résistance Rc n’est pas vraiment indispensable.) Son gain en courant est d’environ 20, donc pour le saturer il faut un courant de base d’environ 30mA. Avec Rb = 150Ω il sera correctement saturé. Inutile de le munir d’un radiateur, fonctionnant en saturé / Bloqué il ne dissipe pas une puissance notable. La diode D est la diode de roue libre. (Voir à ce sujet les expériences avec les moteurs à courant continu.) L’expérience a été conduite avec le petit haut-parleur LSM-S20K 080 qui peut dissiper 1W. La puissance qui le traverse si la résistance Rc n’est pas installée est d’environ P = U x I / 2 soit 4.2 x 0.5 / 2 = 1W. (4.2 V car il y a une différence de potentiel entre le collecteur et l’émetteur.) Divisé par deux car le signal est « carré » et son rapport cyclique est de 1/2. Passons à une alerte puissante.
Haut-parleur de 6W comme sirène.
Uutilisé à sa puissance nominale, un tel haut-parleur délivre une puissance acoustique qui ne vous permet pas de rester plus de trente secondes dans la pièce y compris si elle est de fort volume. Il n’y a rien à changer au démonstrateur Experience_080.ino, seule une interface de puissance adaptée sera nécessaire. Dès que l’on envisage de commuter des intensités notables, il faut impérativement passer par des schémas électriques en architecture Darlington. Pour ne pas encombrer ce paragraphe, les explications sont données dans le chapitre 15) La commutation de puissance glissé en page 67. Pour concrétiser cette sirène d’alerte vraiment dissuasive j’ai opté pour un haut-parleur disponible de 20cm de diamètre prévu pour une puissance nominale de 6W. Son impédance est au standard de 8Ω. Pour le schéma concret consultez la Fiche n°52.
Experience_081 : Se mettre au diapason !
Pour cette première expérience « musicale » nous allons émuler avec Arduino un diapason dont la fréquence émise est très précise et permet d’accorder finement un instrument de musique. Par convention, ou plus exactement par normalisation, le diapason qui fait référence doit fournir un LA indice 3 et calculé à une fréquence exacte de 440Hz soit une période théorique de 2272.7µS. (Voir la Fig.159) Le gros avantage de l’instruction tone() c’est qu’elle profite de la précision de l’oscillateur quartz de la carte Arduino pour fournir des fréquences très précises. La preuve en est donnée avec Experience_081.ino dont le signal généré est présenté en Fig.160 et mesuré à l’aide de mon fréquencemètre/Périodemètre extrêmement précis puisque sa précision est de 10-7 quand il est mis en œuvre avec étalon de fréquence extérieur et température thermostatée à son équilibre. (30 Minutes après mise sous tension.)
La suite est ici.