{"id":6058,"date":"2021-03-30T12:36:31","date_gmt":"2021-03-30T10:36:31","guid":{"rendered":"https:\/\/www.ardpylab.fr\/?page_id=6058"},"modified":"2021-04-07T11:00:16","modified_gmt":"2021-04-07T09:00:16","slug":"categorie-ondes-sonores","status":"publish","type":"page","link":"https:\/\/www.ardpylab.fr\/?page_id=6058","title":{"rendered":"Cat\u00e9gorie \u00ab Ondes sonores \u00bb"},"content":{"rendered":"\n<p>Cette cat\u00e9gorie regroupe des sketchs r\u00e9alisant des \u00e9mission sonores.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"331\" height=\"315\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/ListeSketch05.png\" alt=\"\" class=\"wp-image-6059\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/ListeSketch05.png 331w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/ListeSketch05-300x285.png 300w\" sizes=\"auto, (max-width: 331px) 100vw, 331px\" \/><\/figure><\/div>\n\n\n\n<p>La plupart de ces sketchs ont d\u00e9j\u00e0 \u00e9t\u00e9 pr\u00e9sent\u00e9s dans la rubrique \u00ab <a href=\"https:\/\/ardpylab.fr\/?page_id=424\"><strong>Activit\u00e9s pour les lyc\u00e9es \/ Ondes sonores<\/strong><\/a>\u00bb<br><br><\/p>\n\n\n\n<h4><strong>1. <a href=\"https:\/\/www.ardpylab.fr\/downloads\/ardpylog\/Beep.zip\"><span style=\"text-decoration: underline;\">Beep<\/span><\/a><\/strong> (Code: <a href=\"https:\/\/www.ardpylab.fr\/?page_id=439\" data-wplink-url-error=\"true\"><strong><em>Faire clignoter une DEL et produire un \u201cbeep\u201d synchrone<\/em><\/strong><\/a><strong><em>)<br><br><\/em><\/strong><\/h4>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Beep.jpg\" alt=\"\" class=\"wp-image-6060\" width=\"468\" height=\"283\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Beep.jpg 935w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Beep-300x181.jpg 300w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Beep-768x464.jpg 768w\" sizes=\"auto, (max-width: 468px) 100vw, 468px\" \/><\/figure><\/div>\n\n\n\n<p><br>Dans cette activit\u00e9, le programme des activit\u00e9s d\u2019apprentissage qui permet de faire clignoter une DEL est modifi\u00e9 pour commander la production d\u2019un signal sonore (\u00ab\u00a0un beep\u00a0\u00bb), \u00e9mis par un buzzer ou un petit haut-parleur, synchrone avec le clignotement de la diode.<\/p>\n<p>&nbsp;<\/p>\n\n\n\n<h4><strong>2. <a href=\"https:\/\/www.ardpylab.fr\/downloads\/ardpylog\/AlarmeSonore.zip\"><span style=\"text-decoration: underline;\">Alarme_sonore<\/span><\/a><\/strong> (Code: <a href=\"https:\/\/www.ardpylab.fr\/?page_id=460\" data-wplink-url-error=\"true\"><strong><em>Alarme sonore par d\u00e9tection de passage<\/em><\/strong><\/a><strong><em>)<br><\/em><\/strong><\/h4>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Alarme_sonore.jpg\" alt=\"\" class=\"wp-image-6065\" width=\"468\" height=\"283\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Alarme_sonore.jpg 935w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Alarme_sonore-300x181.jpg 300w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Alarme_sonore-768x464.jpg 768w\" sizes=\"auto, (max-width: 468px) 100vw, 468px\" \/><\/figure><\/div>\n\n\n\n<p>&nbsp;<\/p>\n<p>Dans cette activit\u00e9, le programme \u00ab\u00a0beep\u00a0\u00bb est utilis\u00e9 comme alarme de d\u00e9tection de passage.<\/p>\n<p>Pour cela, on ajoute au montage du sketch \u00ab\u00a0beep\u00a0\u00bb, une photor\u00e9sistance qui sera \u00e9clair\u00e9e par la DEL rouge. La sortie de la photor\u00e9sistance est connect\u00e9e \u00e0 l\u2019entr\u00e9e analogique A5 de l\u2019Arduino.<\/p>\n<p>La valeur de la broche A5 est alors proportionnelle \u00e0 l\u2019intensit\u00e9 lumineuse re\u00e7ue par la photor\u00e9sistance. En pr\u00e9sence d\u2019un obstacle entre la DEL et la photor\u00e9sistance, la tension mesur\u00e9e au niveau de la broche A5 diminue et quand celle-ci est inf\u00e9rieure \u00e0 un seuil (la sensibilit\u00e9 du capteur d\u00e9finie initialement), l\u2019alarme sonore est d\u00e9clench\u00e9e.<\/p>\n<p>&nbsp;<\/p>\n<h4><b>3. <\/b><a href=\"https:\/\/www.ardpylab.fr\/downloads\/ardpylog\/Melody.zip\"><strong><span style=\"text-decoration: underline;\">Melody<\/span><\/strong><\/a> (Code: <a href=\"https:\/\/www.ardpylab.fr\/?page_id=490\"><strong><em>Jouer une m\u00e9lodie avec un Arduino<\/em><\/strong><\/a><strong><em>)<br><br><\/em><\/strong><\/h4>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Melody.jpg\" alt=\"\" class=\"wp-image-6068\" width=\"468\" height=\"283\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Melody.jpg 935w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Melody-300x181.jpg 300w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Melody-768x464.jpg 768w\" sizes=\"auto, (max-width: 468px) 100vw, 468px\" \/><\/figure><\/div>\n\n\n\n<p>Dans cette activit\u00e9, nous allons voir qu\u2019il est possible de jouer une m\u00e9lodie avec un Arduino.<\/p>\n<p>La m\u00e9lodie sera jou\u00e9e en continu apr\u00e8s un appui sur le bouton poussoir et arr\u00eat\u00e9e en appuyant de nouveau sur celui-ci.<br><br><\/p>\n\n\n\n<h4><strong>4. <a href=\"https:\/\/www.ardpylab.fr\/downloads\/ardpylog\/EmissionSonore.zip\"><span style=\"text-decoration: underline;\">Emission_sonore<\/span><\/a><\/strong> (Code: <a href=\"https:\/\/www.ardpylab.fr\/?page_id=515\"><strong><em>R\u00e9gler la fr\u00e9quence d\u2019une onde sonore avec un potentiom\u00e8tre<\/em><\/strong><\/a><strong><em>)<br><\/em><\/strong><\/h4>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Emission_sonore.jpg\" alt=\"\" class=\"wp-image-6071\" width=\"468\" height=\"283\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Emission_sonore.jpg 935w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Emission_sonore-300x181.jpg 300w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Emission_sonore-768x464.jpg 768w\" sizes=\"auto, (max-width: 468px) 100vw, 468px\" \/><\/figure><\/div>\n\n\n\n<p>&nbsp;<\/p>\n<p>Dans cette activit\u00e9, l\u2019appui sur le bouton-poussoir produit une onde sonore dont la fr\u00e9quence est r\u00e9gl\u00e9e \u00e0 l\u2019aide du potentiom\u00e8tre. L\u2019\u00e9mission sonore est arr\u00eat\u00e9e en appuyant de nouveau sur le bouton poussoir.<\/p>\n<p>Le potentiom\u00e8tre est connect\u00e9 sur la broche A0 de l\u2019Arduino. La tension de cette broche varie donc entre 0 et 5 V (voir le principe de fonctionnement du potentiom\u00e8tre de l&rsquo;activit\u00e9 d\u2019apprentissage des entr\u00e9es analogiques) en fonction de la position du curseur du potentiom\u00e8tre.<\/p>\n<p>La lecture de la valeur de la broche A0 convertie par le convertisseur analogique num\u00e9rique de l\u2019Arduino donne donc un nombre entier entre 0 et 1023 qui sera utilis\u00e9 pour r\u00e9gler la fr\u00e9quence du son \u00e9mis, en le multipliant par un coefficient pr\u00e9alablement choisi par l\u2019interm\u00e9diaire du moniteur s\u00e9rie.<\/p>\n<p>&nbsp;<\/p>\n\n\n\n<h4><strong>5. <a href=\"https:\/\/www.ardpylab.fr\/downloads\/ardpylog\/Theremin.zip\"><span style=\"text-decoration: underline;\">Theremin<\/span><\/a><\/strong> (Code: <a href=\"https:\/\/www.ardpylab.fr\/?page_id=536\"><strong><em>R\u00e9gler la fr\u00e9quence d\u2019une onde sonore avec une photor\u00e9sistance<\/em><\/strong><\/a><strong><em>)<br><br><\/em><\/strong><\/h4>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Theremin.jpg\" alt=\"\" class=\"wp-image-6074\" width=\"468\" height=\"283\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Theremin.jpg 935w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Theremin-300x181.jpg 300w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Theremin-768x464.jpg 768w\" sizes=\"auto, (max-width: 468px) 100vw, 468px\" \/><\/figure><\/div>\n\n\n\n<p>&nbsp;<\/p>\n<p>L\u2019objectif de cette activit\u00e9 est de r\u00e9aliser un pseudo-th\u00e9r\u00e9mine.<\/p>\n<p>Le th\u00e9r\u00e9mine est un des plus anciens instruments de musique \u00e9lectronique, invent\u00e9 en 1920 par le Russe Lev Sergue\u00efevitch Termen (connu sous le nom de \u00ab L\u00e9on Theremin \u00bb).<\/p>\n<p>Compos\u00e9 d\u2019un bo\u00eetier \u00e9lectronique \u00e9quip\u00e9 de deux antennes, l\u2019instrument a la particularit\u00e9 de produire de la musique sans \u00eatre touch\u00e9 par l\u2019instrumentiste. Dans sa version la plus r\u00e9pandue, la main droite commande la hauteur de la note (la fr\u00e9quence du son), en faisant varier sa distance \u00e0 l\u2019antenne verticale. L\u2019antenne horizontale, en forme de boucle, est utilis\u00e9e pour faire varier le volume selon sa distance \u00e0 la main gauche.<\/p>\n<p>Dans cette activit\u00e9, on ne simulera que la commande de la hauteur de la note, \u00e0 l\u2019aide de la photor\u00e9sistance du montage d&rsquo;\u00e9tude.<\/p>\n<p>La sortie de la photor\u00e9sistance est connect\u00e9e \u00e0 l\u2019entr\u00e9e analogique A5 de l\u2019Arduino. La valeur de cette broche (nombre entier entre 0 et 1023), lue par la fonction \u201canalogRead()\u201c, est alors proportionnelle \u00e0 l\u2019intensit\u00e9 lumineuse re\u00e7ue par la photor\u00e9sistance.<br>En approchant la main de la photor\u00e9sistance, la tension mesur\u00e9e au niveau de la broche A5 diminue et inversement en reculant la main la tension mesur\u00e9e augmente.<br>Ainsi en fonction de la position de la main par rapport \u00e0 la photor\u00e9sistance, on va pouvoir jouer la gamme de notes de l\u2019octave 3 (Do, R\u00e9, Mi, Fa , Sol, La, Si).<\/p>\n<p>En premier, il faut \u00e9talonner la photor\u00e9sistance de fa\u00e7on \u00e0 connaitre les valeurs minimale et maximale de la broche A5 en fonction des conditions d\u2019\u00e9clairement de la photor\u00e9sistance.<br>Puis on attribue pour chaque note de musique une plage de valeurs de tension r\u00e9parties entre les valeurs minimale et maximale.<\/p>\n<p>Il suffira ensuite de lire la valeur de la broche A5, de tester dans quelle plage de mesure, elle se trouve et de jouer la note associ\u00e9e.<\/p>\n<p>&nbsp;<\/p>\n\n\n\n<h4><strong>6. <a href=\"https:\/\/www.ardpylab.fr\/downloads\/ardpylog\/OndessonoresBoutonpoussoir.zip\"><span style=\"text-decoration: underline;\">Ondes_sonores_Bouton_poussoir<\/span><\/a><br><br><\/strong><\/h4>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Ondes_sonores_Bouton_poussoir.jpg\" alt=\"\" class=\"wp-image-6076\" width=\"468\" height=\"283\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Ondes_sonores_Bouton_poussoir.jpg 935w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Ondes_sonores_Bouton_poussoir-300x181.jpg 300w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Ondes_sonores_Bouton_poussoir-768x464.jpg 768w\" sizes=\"auto, (max-width: 468px) 100vw, 468px\" \/><\/figure><\/div>\n\n\n\n<p><br>Dans cette activit\u00e9, nous allons commander la production d\u2019une onde sonore de fr\u00e9quence pr\u00e9alablement choisie en appuyant sur le bouton-poussoir. L\u2019\u00e9mission est arr\u00eat\u00e9e en rel\u00e2chant le bouton-poussoir.<\/p>\n<table style=\"border-collapse: collapse; width: 100%;\">\n<tbody>\n<tr>\n<td style=\"width: 100%; padding-left: 40px;\">\n<p>\/\/ D\u00e9claration des constantes et variables<\/p>\n<p>const int PinTone = 3;<br>const int PinButton = 12;<br>const int FreqWave = 440;<\/p>\n<p>int ValButton=0;<\/p>\n<p><br>\/\/ Initialisation des entr\u00e9es et sorties<\/p>\n<p>void setup() { <br>pinMode (PinButton, INPUT);<br>}<\/p>\n<p><br>\/\/ Fonction principale en boucle<\/p>\n<p>void loop() { <br>ValButton = digitalRead(PinButton);<br>delay(10);<br>if (ValButton == HIGH) {<br>tone(PinTone, FreqWave);<br>}<br>else {<br>noTone(PinTone);<br>}<br>}<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n\n\n\n<p>&nbsp;<\/p>\n<h4><strong>7. <a href=\"https:\/\/www.ardpylab.fr\/downloads\/ardpylog\/OndessonoresReglagefrequence.zip\"><span style=\"text-decoration: underline;\">Ondes_sonores_Reglage_frequence<\/span><\/a><br><br><\/strong><\/h4>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Ondes_sonores_Reglage_frequence.jpg\" alt=\"\" class=\"wp-image-6078\" width=\"468\" height=\"283\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Ondes_sonores_Reglage_frequence.jpg 935w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Ondes_sonores_Reglage_frequence-300x181.jpg 300w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Ondes_sonores_Reglage_frequence-768x464.jpg 768w\" sizes=\"auto, (max-width: 468px) 100vw, 468px\" \/><\/figure><\/div>\n\n\n\n<p><br>Dans cette activit\u00e9, l\u2019appui sur le premier bouton-poussoir produit une onde sonore dont la fr\u00e9quence est r\u00e9gl\u00e9e \u00e0 l\u2019aide de 2 potentiom\u00e8tres :<\/p>\n<p>\u2013 le premier potentiom\u00e8tre permet un r\u00e9glage rapide de la fr\u00e9quence entre 0 et 4080 Hz,<br>\u2013 le deuxi\u00e8me potentiom\u00e8tre effectue un r\u00e9glage fin de la fr\u00e9quence sur une plage de 255 Hz,<br>\u2013 l\u2019\u00e9mission sonore est arr\u00eat\u00e9e en appuyant de nouveau sur le bouton poussoir.<\/p>\n<p>Le potentiom\u00e8tre de r\u00e9glage rapide est connect\u00e9 sur la broche A1 de l\u2019Arduino. <br>La tension de cette broche varie donc entre 0 et 5 V en fonction de la position du curseur du potentiom\u00e8tre. La lecture de la valeur de la broche A1 convertie par le convertisseur analogique num\u00e9rique de l\u2019Arduino donne donc un nombre entier entre 0 et 1023.<br>Ce nombre est divis\u00e9 par 4 de fa\u00e7on \u00e0 obtenir un nombre entier compris entre 0 et 255 qui sera convertie en nombre binaire (sur 8 bits) :<\/p>\n<p>0 en d\u00e9cimal = 00000000 en binaire <br>255 en d\u00e9cimal = 11111111 en binaire<\/p>\n<p>Ce nombre binaire sur 8 bits est convertie en nombre binaire sur 12 bits en ajoutant 4 bits de poids faibles, 0000, \u00e0 sa fin. On obtient donc un nombre binaire (sur 12 bits) compris entre 000000000000 et 111111110000, soit en d\u00e9cimal, un nombre entier entre 0 et 4080.<\/p>\n<p>Le potentiom\u00e8tre de r\u00e9glage fin est connect\u00e9 sur la broche A2 de l\u2019Arduino. Selon le m\u00eame principe que pr\u00e9c\u00e9demment, la lecture de la broche A2 donne une valeur comprise entre 0 et 1023.<\/p>\n<p>Ce nombre est \u00e9galement divis\u00e9 par 4 et convertie en nombre binaire sur 12 bits. On obtient donc un nombre binaire compris entre 0000000000 et 00001111111111 (entre 0 et 255 en d\u00e9cimal).<\/p>\n<p>La conversion en d\u00e9cimal de l\u2019addition des deux nombres binaires (issus de A1 et A2) nous donnent la valeur de la fr\u00e9quence en Hz de l\u2019onde sonore, soit entre 0 et 4335 Hz avec un pas de r\u00e9glage de 1 Hz.<\/p>\n<table style=\"border-collapse: collapse; width: 100%;\">\n<tbody>\n<tr>\n<td style=\"width: 100%; padding-left: 40px;\">\n<p>\/\/ D\u00e9claration des constantes et variables<\/p>\n<p>const int PinButton = 12;<br>const int PinTone = 3;<br>const int PinPot[] = {1,2};<\/p>\n<p>int ValButton=0;<br>int OldValButton=0;<br>int State = 0;<br>int ValPot[] = {0,0};<br>int FreqWave=0;<\/p>\n<p><br>\/\/ D\u00e9finition de fonctions<\/p>\n<p>String dec2bin(int d){<br>String b;<br>if (d == 0){<br>b = \u00ab\u00a00\u00a0\u00bb;<br>}<br>else{<br>b = \u00ab\u00a0\u00a0\u00bb;<br>while (d != 0){<br>b = \u00ab\u00a001\u00a0\u00bb[d &amp; 1] + b;<br>d = d &gt;&gt; 1;}<br>}<br>return b;<br>}<\/p>\n<p>int bin2dec(String b){<br>int i, len;<br>int result=0;<br>len = b.length();<br>for(i=0; i&lt;len; i++)<br>{<br>result = result*2+int(b[i]- &lsquo;0&rsquo;);<br>}<br>return result;<br>}<\/p>\n<p>int CalculFreq(int valpot1, int valpot2){<br>String valpot1bin, valpot2bin;<br>int Freq;<br>valpot1bin = dec2bin(int(valpot1\/4));<br>valpot1bin= valpot1bin+\u00a0\u00bb0000&Prime;;<br>valpot2bin = dec2bin(int(valpot2\/4));<br>valpot2bin = \u00ab\u00a00000\u00a0\u00bb+dec2bin(int(valpot2\/4));<br>Freq = bin2dec(valpot1bin) + bin2dec(valpot2bin);<br>return Freq ;<br>}<\/p>\n<p><br>\/\/ Initialisation des entr\u00e9es et sorties<\/p>\n<p>void setup() { <br>pinMode (PinButton, INPUT);<br>}<\/p>\n<p><br>\/\/ Fonction principale en boucle<\/p>\n<p>void loop() {<br>ValButton = digitalRead(PinButton);<br>delay(10);<br>if ((ValButton == HIGH) and (OldValButton==LOW)) {<br>State = 1 &#8211; State; <br>}<br>OldValButton = ValButton;<br>if (State==1){<br>ValPot[0]= analogRead(PinPot[0]);<br>ValPot[1]= analogRead(PinPot[1]);<br>FreqWave = CalculFreq(int(ValPot[0]), int(ValPot[1])); <br>tone(PinTone, FreqWave);<br>}<br>else{<br>noTone(PinTone);<br>}<br>}<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n\n\n\n<p>\u00a0<\/p>\n<h4><strong>8.<\/strong>\u00a0<span style=\"text-decoration: underline;\"><strong><a href=\"https:\/\/www.ardpylab.fr\/downloads\/ardpylog\/Piano.zip\">Piano<\/a><br \/><br \/><\/strong><\/span><\/h4>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Piano.jpg\" alt=\"\" class=\"wp-image-6082\" width=\"468\" height=\"283\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Piano.jpg 935w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Piano-300x181.jpg 300w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Piano-768x464.jpg 768w\" sizes=\"auto, (max-width: 468px) 100vw, 468px\" \/><\/figure><\/div>\n\n\n\n<p>&nbsp;<\/p>\n<p>Dans cette activit\u00e9, nous allons voir qu\u2019il est possible de jouer une m\u00e9lodie avec un Arduino et des boutons poussoir qui vont simuler les touches d\u2019un piano:<\/p>\n<p>\u2013 On dispose de 5 boutons poussoir que l\u2019on associe chacun \u00e0 une note de musique (une onde sonore de fr\u00e9quence d\u00e9termin\u00e9e en Hz) et \u00e0 une dur\u00e9e d\u2019\u00e9mission,<\/p>\n<p>\u2013 L\u2019appui sur un bouton poussoir permet de jouer la note associ\u00e9e au bouton pendant la dur\u00e9e d\u00e9finie,<\/p>\n<p>\u2013 L\u2019exemple de m\u00e9lodie propos\u00e9 dans le code sera jou\u00e9e en suivant la s\u00e9quence ci-contre :<\/p>\n<p>123123345345<\/p>\n<table style=\"border-collapse: collapse; width: 100%; height: 1543px;\">\n<tbody>\n<tr style=\"height: 1543px;\">\n<td style=\"width: 100%; padding-left: 40px; height: 1543px;\">\n<p>\/\/ D\u00e9claration des constantes et variables<\/p>\n<p>const int PinTone = 3;<br>const int PinButton[] = {12,11,10,9,8};<br>const int Notes[] = {262,294,330,349,392};<br>const int NoteDurations[] = {4,4,4,4,8};<\/p>\n<p>int PlayNote = 0;<br>int Note = 0;<br>int NoteDuration = 0;<\/p>\n<p><br>\/\/ Initialisation des entr\u00e9es et sorties<\/p>\n<p>void setup() { <br>for(int i = 0 ; i &lt; 5 ; i++)<br>{<br>pinMode (PinButton[i], INPUT);<br>} <br>}<\/p>\n<p><br>\/\/ Fonction principale en boucle<\/p>\n<p>void loop() {<br><br>if (digitalRead(PinButton[0]) == HIGH) {<br>PlayNote = 1;<br>Note = 0;<br>}<br>if (digitalRead(PinButton[1]) == HIGH) {<br>PlayNote = 1;<br>Note = 1;<br>}<br>if (digitalRead(PinButton[2]) == HIGH) {<br>PlayNote = 1;<br>Note = 2;<br>}<br>if (digitalRead(PinButton[3]) == HIGH) {<br>PlayNote = 1;<br>Note = 3;<br>}<br>if (digitalRead(PinButton[4]) == HIGH) {<br>PlayNote = 1;<br>Note = 4;<br>}<br>if (PlayNote == 1) {<br>NoteDuration = int(1000\/NoteDurations[Note]);<br>tone(PinTone, Notes[Note], NoteDuration);<br>delay(1.3*NoteDuration); <br>PlayNote = 0;<br>}<br>}<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n\n\n\n<p>\u00a0 \u00a0<br \/><br \/><\/p>\n\n\n<div  class=\"grids-section grids-is-advanced\" style=\"--_gs-gap-desktop:0px 0px;--_gs-m-desktop:0 0 0 0;--_gs-p-desktop:0 0 0 0;--_gs-bg-desktop:transparent none;--_gs-bg-xp-desktop:0px;--_gs-zi-desktop:auto;--_gs-d-desktop:block;--_gs-mw-desktop:calc(100% - 0 - 0);--_gs-gap-tablet:0px 0px;--_gs-m-tablet:0 0 0 0;--_gs-p-tablet:0 0 0 0;--_gs-bg-tablet:transparent none;--_gs-bg-xp-tablet:0px;--_gs-zi-tablet:auto;--_gs-d-tablet:block;--_gs-mw-tablet:calc(100% - 0 - 0);--_gs-gap-mobile:0px 0px;--_gs-m-mobile:0 0 0 0;--_gs-p-mobile:0 0 0 0;--_gs-bg-mobile:transparent none;--_gs-bg-xp-mobile:0px;--_gs-zi-mobile:auto;--_gs-d-mobile:block;--_gs-mw-mobile:calc(100% - 0 - 0);--_gs-columns:12;--_gs-rows:6\"><div class=\"grids-s-w_i\">\n<div class=\"grids-area\" style=\"--_ga-column:1\/2;--_ga-row:1\/2;--_ga-m-desktop:0 0 0 0;--_ga-p-desktop:0 0 0 0;--_ga-bg-desktop:transparent none;--_ga-zi-desktop:auto;--_ga-d-desktop:flex;--_ga-mw-desktop:calc(100% - 0 - 0);--_ga-m-tablet:0 0 0 0;--_ga-p-tablet:0 0 0 0;--_ga-bg-tablet:transparent none;--_ga-zi-tablet:auto;--_ga-d-tablet:flex;--_ga-mw-tablet:calc(100% - 0 - 0);--_ga-m-mobile:0 0 0 0;--_ga-p-mobile:0 0 0 0;--_ga-bg-mobile:transparent none;--_ga-zi-mobile:auto;--_ga-d-mobile:flex;--_ga-mw-mobile:calc(100% - 0 - 0)\">\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.ardpylab.fr\/?page_id=6031\"><img loading=\"lazy\" decoding=\"async\" width=\"50\" height=\"28\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/moins.jpg\" alt=\"\" class=\"wp-image-107\"\/><\/a><\/figure>\n\n<\/div>\n\n<div class=\"grids-area\" style=\"--_ga-column:12\/13;--_ga-row:1\/2;--_ga-m-desktop:0 0 0 0;--_ga-p-desktop:0 0 0 0;--_ga-bg-desktop:transparent none;--_ga-zi-desktop:auto;--_ga-d-desktop:flex;--_ga-mw-desktop:calc(100% - 0 - 0);--_ga-m-tablet:0 0 0 0;--_ga-p-tablet:0 0 0 0;--_ga-bg-tablet:transparent none;--_ga-zi-tablet:auto;--_ga-d-tablet:flex;--_ga-mw-tablet:calc(100% - 0 - 0);--_ga-m-mobile:0 0 0 0;--_ga-p-mobile:0 0 0 0;--_ga-bg-mobile:transparent none;--_ga-zi-mobile:auto;--_ga-d-mobile:flex;--_ga-mw-mobile:calc(100% - 0 - 0)\">\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.ardpylab.fr\/?page_id=6087\"><img loading=\"lazy\" decoding=\"async\" width=\"50\" height=\"28\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/plus.jpg\" alt=\"\" class=\"wp-image-106\"\/><\/a><\/figure>\n\n<\/div>\n<\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Cette cat\u00e9gorie regroupe des sketchs r\u00e9alisant des \u00e9mission sonores. La plupart de ces sketchs ont d\u00e9j\u00e0 \u00e9t\u00e9 pr\u00e9sent\u00e9s dans la rubrique \u00ab Activit\u00e9s pour les lyc\u00e9es \/ Ondes sonores\u00bb 1. Beep (Code: Faire clignoter une DEL et produire un \u201cbeep\u201d synchrone) Dans cette activit\u00e9, le programme des activit\u00e9s d\u2019apprentissage qui permet de faire clignoter une [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-6058","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=\/wp\/v2\/pages\/6058","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6058"}],"version-history":[{"count":20,"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=\/wp\/v2\/pages\/6058\/revisions"}],"predecessor-version":[{"id":6291,"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=\/wp\/v2\/pages\/6058\/revisions\/6291"}],"wp:attachment":[{"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6058"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}