{"id":490,"date":"2020-03-23T17:06:22","date_gmt":"2020-03-23T16:06:22","guid":{"rendered":"http:\/\/www.ardpylab.fr\/?page_id=490"},"modified":"2020-05-09T19:32:36","modified_gmt":"2020-05-09T17:32:36","slug":"ondes-sonores-activite-3","status":"publish","type":"page","link":"https:\/\/www.ardpylab.fr\/?page_id=490","title":{"rendered":"Ondes sonores &#8211; Activit\u00e9 3"},"content":{"rendered":"\n<h2 style=\"text-align: center;\"><em>\u201d <\/em><span style=\"text-decoration: underline;\"><em>Jouer une m\u00e9lodie avec un Arduino<\/em><\/span> <em>\u201d<br><br><\/em><\/h2>\n\n\n\n<h4>&nbsp;<\/h4>\n<h4><span style=\"color: #3366ff;\"><strong>. <span style=\"text-decoration: underline;\">Objectif<\/span><\/strong><\/span><\/h4>\n\n\n\n<p>Dans cette activit\u00e9, nous allons voir qu&rsquo;il est possible de jouer une\nm\u00e9lodie avec un Arduino. <\/p>\n\n\n\n<p>Avec <a href=\"https:\/\/www.ardpylab.fr\/?page_id=460\" data-wplink-url-error=\"true\">le m\u00eame circuit que pr\u00e9c\u00e9demment<\/a>, 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.<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-461 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/Circuit-ondes-sonores2.jpg\" alt=\"\" width=\"568\" height=\"324\"><\/figure>\n<\/div>\n\n\n\n<h4>&nbsp;<\/h4>\n<h4><span style=\"color: #3366ff;\"><strong>. &nbsp;<span style=\"text-decoration: underline;\">Les diff\u00e9rentes notes de musique<\/span><\/strong><\/span><\/h4>\n\n\n\n<p>Chaque note est caract\u00e9ris\u00e9e par une fr\u00e9quence fondamentale d\u00e9termin\u00e9e. Lorsque deux notes sont s\u00e9par\u00e9es d\u2019une octave, le rapport de leur fr\u00e9quence est \u00e9gal \u00e0 deux.<\/p>\n<p>Dans la pratique, ces deux notes ont le m\u00eame nom, comme par exemple le \u00ab\u00a0<strong>la<\/strong>\u00a0\u00bb de l\u2019octave <strong>3<\/strong> et le \u00ab\u00a0<strong>la<\/strong>\u00a0\u00bb de l\u2019octave <strong>4<\/strong>, nomm\u00e9e couramment \u00ab\u00a0<strong>la3<\/strong>\u00a0\u00bb et \u00ab\u00a0<strong>la4<\/strong>\u00a0\u00bb pour \u00e9viter toute ambig\u00fcit\u00e9 entre elles.<\/p>\n<p>On appelle gamme l\u2019ensemble des notes (de Do \u00e0 Si) composant une octave donn\u00e9e. Dans la gamme temp\u00e9r\u00e9e, c&rsquo;est-\u00e0-dire celle utilis\u00e9e dans la musique occidentale, l\u2019octave est divis\u00e9e en 12 demi-tons, ce qui correspond \u00e0 12 notes, en comptant les notes di\u00e9s\u00e9es (#).<\/p>\n<p>Par exemple, pour l\u2019octave 1, voici les valeurs de fr\u00e9quence des&nbsp;12 notes :<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"342\" height=\"512\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/notes.jpg\" alt=\"\" class=\"wp-image-491\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/notes.jpg 342w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/notes-200x300.jpg 200w\" sizes=\"auto, (max-width: 342px) 100vw, 342px\" \/><\/figure><\/div>\n\n\n\n<h6 style=\"padding-left: 40px;\">Le # signifie di\u00e8se et le b signifie b\u00e9mol. Ce sont des alt\u00e9rations des notes de la gamme de base (Do, R\u00e9, Mi, Fa, Sol, La, Si). Le di\u00e8se augmente la fr\u00e9quence de la note et le b\u00e9mol la diminue. Ainsi un La # est situ\u00e9 en fr\u00e9quence entre le <strong>La<\/strong> et le <strong>Si<\/strong><\/h6>\n\n\n\n<p>&nbsp; &nbsp; &nbsp;&nbsp;<\/p>\n\n\n\n<ul>\n<li>En notation latine (la notation historique : do r\u00e9 mi \u2026),on a l\u2019habitude d\u2019\u00e9crire que le diapason (la note qui nous sert de r\u00e9f\u00e9rence \u00e0 440 Hz) est le \u00ab\u00a0<strong style=\"font-size: inherit;\">la3<\/strong><span style=\"font-size: inherit;\">\u00ab\u00a0. Dans ce syst\u00e8me, on peut se donner en rep\u00e8re que la premi\u00e8re octave enti\u00e8rement audible commence par le do0.<br><br><\/span><\/li>\n<li>En notation am\u00e9ricaine (la notation scientifique : A B C \u2026), le \u00ab\u00a0<strong style=\"font-size: inherit;\">la<\/strong><span style=\"font-size: inherit;\">\u00a0\u00bb du diapason est le <\/span><strong style=\"font-size: inherit;\">A4<\/strong><span style=\"font-size: inherit;\">. C\u2019est le syst\u00e8me qui est utilis\u00e9 en langage Arduino. Dans ce syst\u00e8me, on a choisi de dire que le C (do) le plus grave d\u2019un clavier de piano \u00e0 88 touches est le C1. Suivant ce rep\u00e8re, on a alors <br><\/span><strong style=\"font-size: inherit;\">A4 = 440 Hz<\/strong><span style=\"font-size: inherit;\">.<\/span><br><br><\/li>\n<\/ul>\n\n\n\n<p><a id=\"anc1\"><\/a>Voici un tableau qui r\u00e9f\u00e9rence la fr\u00e9quence des notes de musique en hertz de la gamme temp\u00e9r\u00e9e (notation am\u00e9ricaine en noir et notation latine en rouge):<\/p>\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\/2020\/03\/notes2.jpg\" alt=\"\" class=\"wp-image-497\" width=\"630\" height=\"692\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/notes2.jpg 706w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/notes2-273x300.jpg 273w\" sizes=\"auto, (max-width: 630px) 100vw, 630px\" \/><\/figure><\/div>\n\n\n\n<h4>&nbsp;<\/h4>\n<h4><span style=\"color: #3366ff;\"><strong><a id=\"anc2\"><\/a>. <span style=\"text-decoration: underline;\">J<\/span><u>ouer une m\u00e9lodie avec un Arduino<\/u><\/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\/2020\/03\/circuit-melodie.png\" alt=\"\" class=\"wp-image-500\" width=\"368\" height=\"216\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/circuit-melodie.png 480w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/circuit-melodie-300x176.png 300w\" sizes=\"auto, (max-width: 368px) 100vw, 368px\" \/><\/figure><\/div>\n\n\n\n<p>On utilisera la fonction <strong>tone()<\/strong> pour jouer les notes de musique (voir tableau des fr\u00e9quences des notes) de la m\u00e9lodie pendant la dur\u00e9e d\u00e9finie pour chaque note.<\/p>\n<p>La dur\u00e9e des notes est g\u00e9n\u00e9ralement calcul\u00e9e en attribuant une seconde (1000 ms) \u00e0 une ronde. Une blanche repr\u00e9sente alors 500 ms (ronde\/2), une noire, 250 ms (blanche\/2, ou ronde \/4), une croche,125 ms (noire\/2 ou ronde\/8), etc\u2026<\/p>\n<p>Pour bien distinguer les notes jou\u00e9es par l\u2019Arduino, il faut respecter un temps de pause entre chaque note, \u00e9gal \u00e0 la dur\u00e9e de la note + 30 %&nbsp;:<\/p>\n<p><strong>Temps de pause (en ms) = Dur\u00e9e de la note (en ms) x 1,3<br><br><\/strong><\/p>\n<p>Pour cela, le plus simple est de cr\u00e9er une liste des fr\u00e9quences (<strong>Freq<\/strong>) des notes \u00e0 jouer et une liste des dur\u00e9es (<strong>Dur<\/strong>) puis de demander \u00e0 l\u2019Arduino de jouer chaque \u00e9l\u00e9ment, <strong>i<\/strong>, des listes \u00e0 l\u2019aide d\u2019une boucle for :<\/p>\n<p><strong>for (int i = 0 ; i &lt; 11 ; i++) <\/strong><strong>{<\/strong><\/p>\n<p><strong>tone (broche du piezo, Freq[i], Dur[i])<br><\/strong><strong>delay(Dur[i] x 1.3)<\/strong><\/p>\n<p><strong>}<\/strong><\/p>\n\n\n\n<p>. <u>Rappel&nbsp;sur la programmation d\u2019une boucle <strong>for<\/strong><\/u>:&nbsp;<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"307\" height=\"133\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/image-67.png\" alt=\"\" class=\"wp-image-503\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/image-67.png 307w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/image-67-300x130.png 300w\" sizes=\"auto, (max-width: 307px) 100vw, 307px\" \/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"307\" height=\"158\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/image-68.png\" alt=\"\" class=\"wp-image-504\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/image-68.png 307w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/image-68-300x154.png 300w\" sizes=\"auto, (max-width: 307px) 100vw, 307px\" \/><\/figure><\/div>\n\n\n\n<h4>&nbsp;<\/h4>\n<h4><span style=\"color: #3366ff;\"><strong>. <\/strong><span style=\"text-decoration: underline;\"><strong>Le programme<\/strong><\/span><\/span><\/h4>\n\n\n\n<p><a href=\"https:\/\/www.ardpylab.fr\/downloads\/ondes-sonores\/activity3.zip\">Le programme de l&rsquo;activit\u00e9<\/a>\u00a0pourra \u00eatre modifi\u00e9 pour voir l\u2019influence des variables (fr\u00e9quence des notes, dur\u00e9e des notes, dur\u00e9e des silences entre les notes).<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/www.ardpylab.fr\/downloads\/ondes-sonores\/Activity3\/Activity3.ino\"><img loading=\"lazy\" decoding=\"async\" width=\"545\" height=\"879\" class=\"wp-image-506\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/code-ondes-sonores3.jpg\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/code-ondes-sonores3.jpg 545w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/code-ondes-sonores3-186x300.jpg 186w\" sizes=\"auto, (max-width: 545px) 100vw, 545px\" \/><\/a><\/figure>\n<\/div>\n<p>&nbsp;<\/p>\n\n\n\n<p><strong><u>D\u00e9roulement du programme<\/u><\/strong><strong>&nbsp;:<\/strong><\/p>\n<p>&#8211; D\u00e9claration des constantes et variables&nbsp;:<\/p>\n<p style=\"padding-left: 40px;\">. <strong>const int PinButton = 12 <\/strong>&nbsp;(constante nombre entier correspondant au n\u00b0 de la broche sur laquelle le bouton poussoir est connect\u00e9)<\/p>\n<p style=\"padding-left: 40px;\">. <strong>const int PinTone = 8 <\/strong>&nbsp;(constante nombre entier correspondant au n\u00b0 de la broche sur laquelle le buzzer est connect\u00e9)<\/p>\n<p style=\"padding-left: 40px;\">. <strong>const int Notes[ ] <\/strong>&nbsp;(liste de constantes nombres entiers correspondant aux fr\u00e9quences des notes \u00e0 jouer)<\/p>\n<p style=\"padding-left: 40px;\">. <strong>const int NoteDurations[ ] <\/strong>(liste de constantes nombre entier correspondant aux dur\u00e9es des notes en fraction de seconde)<\/p>\n<p style=\"padding-left: 40px;\">. <strong>int State = 0 <\/strong>&nbsp;(variable nombre entier correspondant \u00e0 l\u2019action \u00e0 effectuer)<\/p>\n<p style=\"padding-left: 40px;\">. <strong>int ValButton = 0 <\/strong>&nbsp;(variable nombre entier pour stocker la valeur de la broche du bouton poussoir)<\/p>\n<p style=\"padding-left: 40px;\">. <strong>int OldValButton = 0 <\/strong>&nbsp;(variable nombre entier pour stocker la valeur pr\u00e9c\u00e9dente de la broche du bouton poussoir)<br><br><\/p>\n<p>&#8211; Initialisation des entr\u00e9es et sorties&nbsp;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/ondes-sonores-activity3s.png\" alt=\"\" class=\"wp-image-507\" width=\"594\" height=\"153\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/ondes-sonores-activity3s.png 532w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/ondes-sonores-activity3s-300x77.png 300w\" sizes=\"auto, (max-width: 594px) 100vw, 594px\" \/><\/figure>\n\n\n\n<p><br>&#8211; Fonction principale en boucle&nbsp;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/ondes-sonores3l.jpg\" alt=\"\" class=\"wp-image-508\" width=\"760\" height=\"844\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/ondes-sonores3l.jpg 686w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/ondes-sonores3l-270x300.jpg 270w\" sizes=\"auto, (max-width: 760px) 100vw, 760px\" \/><\/figure>\n\n\n\n<p>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0<\/p>\n\n\n<div  class=\"grids-section grids-is-stretch\" 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:2;--_gs-rows:1\"><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<div class=\"wp-block-image\"><figure class=\"alignleft size-large\"><a href=\"https:\/\/www.ardpylab.fr\/?page_id=460\"><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><\/div>\n\n<\/div>\n\n<div class=\"grids-area\" style=\"--_ga-column:2\/3;--_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<div class=\"wp-block-image\"><figure class=\"alignright size-large\"><a href=\"https:\/\/www.ardpylab.fr\/?page_id=515\"><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><\/div>\n\n<\/div>\n<\/div><\/div>\n\n\n\n","protected":false},"excerpt":{"rendered":"<p>\u201d Jouer une m\u00e9lodie avec un Arduino \u201d &nbsp; . Objectif Dans cette activit\u00e9, nous allons voir qu&rsquo;il est possible de jouer une m\u00e9lodie avec un Arduino. Avec le m\u00eame circuit que pr\u00e9c\u00e9demment, 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. &nbsp; [&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-490","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=\/wp\/v2\/pages\/490","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=490"}],"version-history":[{"count":0,"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=\/wp\/v2\/pages\/490\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=490"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}