{"id":2241,"date":"2015-01-26T11:05:03","date_gmt":"2015-01-26T10:05:03","guid":{"rendered":"http:\/\/telefab.fr\/?p=2241"},"modified":"2026-04-30T17:33:59","modified_gmt":"2026-04-30T15:33:59","slug":"bildung","status":"publish","type":"projet","link":"https:\/\/hub.imt-atlantique.fr\/fablab\/projet\/bildung\/","title":{"rendered":"Bildung"},"content":{"rendered":"<p style=\"text-align: justify;\">Ce projet a \u00e9t\u00e9 r\u00e9alis\u00e9 pendant la premi\u00e8re semaine d&rsquo;intersemestre 2015 au T\u00e9l\u00e9fab par Louis Frehring, Fady George Remila, Aliz\u00e9e Gerard, Anas Ihrboula, Julie Kelberine et Jean-Baptiste Rebuffi.<\/p>\n<p>&nbsp;<\/p>\n<p class=\"Standard\"><span style=\"font-size: 14pt; font-family: 'Times New Roman', serif; color: #000000;\">R\u00e9sum\u00e9<\/span><\/p>\n<p style=\"text-align: justify;\">Bildung est un syst\u00e8me permettant de produire de la musique \u00e0 l&rsquo;aide de la d\u00e9tection du mouvement et de la position des mains.<\/p>\n<p>&nbsp;<\/p>\n<p class=\"Standard\"><span style=\"font-size: 14.0pt; font-family: 'Times New Roman',serif;\">Mat\u00e9riel utilis\u00e9<\/span><\/p>\n<ul>\n<li>un capteur \u00e0 ultrasons (http:\/\/www.seeedstudio.com\/wiki\/Ultra_Sonic_range_measurement_module#Resources)<\/li>\n<li>un breadboard<\/li>\n<li>une carte Arduino<\/li>\n<li>des fils<\/li>\n<li>le Leap Motion\u00a0(https:\/\/www.leapmotion.com\/)<\/li>\n<li>une bo\u00eete en bois pour contenir le tout<\/li>\n<\/ul>\n<p>Le syst\u00e8me est reli\u00e9 \u00e0 un Mac sur lequel fonctionne le logiciel Max.<\/p>\n<p style=\"text-align: justify;\">Le lien suivant renvoie vers les sept fichiers de son de base et vers les deux fichiers Max, correspondant \u00e0 deux versions diff\u00e9rentes de Bildung: la premi\u00e8re \u00e9tant orient\u00e9e vers la modulation du son et la deuxi\u00e8me \u00e9tant plus musicale (https:\/\/github.com\/BildungBox\/Fichiers-Max).<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2015\/01\/IMG_0201.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-2245\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2015\/01\/IMG_0201-300x200.jpg\" alt=\"IMG_0201\" width=\"300\" height=\"200\" \/><\/a><\/p>\n<p>Carte Arduino et capteur \u00e0 ultrasons<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2015\/01\/IMG_02251.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-2247\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2015\/01\/IMG_02251-293x300.jpg\" alt=\"IMG_0225\" width=\"293\" height=\"300\" \/><\/a><\/p>\n<p>Bildung repli\u00e9<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2015\/01\/IMG_0207.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-2248\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2015\/01\/IMG_0207-300x200.jpg\" alt=\"IMG_0207\" width=\"300\" height=\"200\" \/><\/a><\/p>\n<p>Bildung d\u00e9ploy\u00e9<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2015\/01\/IMG_0208.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-2250\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2015\/01\/IMG_0208-300x200.jpg\" alt=\"IMG_0208\" width=\"300\" height=\"200\" \/><\/a><\/p>\n<p>Test de Bildung<\/p>\n<p>&nbsp;<\/p>\n<p class=\"Standard\" style=\"text-align: justify;\"><span style=\"font-size: 14.0pt; font-family: 'Times New Roman',serif;\">Fonctionnement<\/span><\/p>\n<p class=\"Standard\" style=\"text-align: justify;\"><span style=\"font-family: 'Times New Roman',serif; color: blue;\">\u00a0<\/span>L&rsquo;utilisateur utilise ses mains pour produire de la musique. Une premi\u00e8re main permet de d\u00e9clencher la musique ou de l&rsquo;arr\u00eater selon qu&rsquo;elle se trouve ou non devant le capteur d&rsquo;ultrasons. La deuxi\u00e8me main permet de moduler cette musique. Ainsi, en d\u00e9calant cette main vers la gauche, on produit un son plus aigu tandis qu&rsquo;il sera plus grave si on d\u00e9place sa main vers la droite. On peut de m\u00eame contr\u00f4ler le volume en levant sa main ou en la descendant. La puret\u00e9 fr\u00e9quentielle du son est g\u00e9r\u00e9e en avan\u00e7ant plus ou moins sa main (modification du facteur de qualit\u00e9).<\/p>\n<p>&nbsp;<\/p>\n<p class=\"Standard\"><span style=\"font-size: 14.0pt; font-family: 'Times New Roman',serif;\">Capture d&rsquo;\u00e9cran du logiciel Max<\/span><\/p>\n<p class=\"Standard\"><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2015\/01\/10948132_830745906964729_1212502151_o.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-2251\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2015\/01\/10948132_830745906964729_1212502151_o-300x168.jpg\" alt=\"10948132_830745906964729_1212502151_o\" width=\"300\" height=\"168\" \/><\/a><\/p>\n<p class=\"Standard\">Interface de r\u00e9glage des param\u00e8tres de Bildung<\/p>\n<p>&nbsp;<\/p>\n<p class=\"Standard\"><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2015\/01\/10948030_830745903631396_1948291745_o.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-2252\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2015\/01\/10948030_830745903631396_1948291745_o-300x167.jpg\" alt=\"10948030_830745903631396_1948291745_o\" width=\"300\" height=\"167\" \/><\/a><\/p>\n<p class=\"Standard\"><span style=\"font-family: 'Times New Roman',serif;\">\u00a0<\/span>Interface destin\u00e9e \u00e0 l&rsquo;utilisateur<\/p>\n<p>&nbsp;<\/p>\n<p class=\"Standard\"><span style=\"font-size: 14.0pt; font-family: 'Times New Roman',serif;\">Code Arduino du capteur ultrason<\/span><\/p>\n<p>[cpp]<br \/>\n#include &quot;Arduino.h&quot;<br \/>\nclass Ultrasonic<br \/>\n{<br \/>\npublic:<br \/>\n    Ultrasonic(int pin);<br \/>\n    void DistanceMeasure(void);<br \/>\n    long microsecondsToCentimeters(void);<br \/>\n    long microsecondsToInches(void);<br \/>\nprivate:<br \/>\n    int _pin;\/\/pin number of Arduino that is connected with SIG pin of Ultrasonic Ranger.<br \/>\n    long duration;\/\/ the Pulse time received;<br \/>\n};<br \/>\nUltrasonic::Ultrasonic(int pin)<br \/>\n{<br \/>\n    _pin = pin;<br \/>\n}<br \/>\n\/*Begin the detection and get the pulse back signal*\/<br \/>\nvoid Ultrasonic:istanceMeasure(void)<br \/>\n{<br \/>\n    pinMode(_pin, OUTPUT);<br \/>\n    digitalWrite(_pin, LOW);<br \/>\n    delayMicroseconds(2);<br \/>\n    digitalWrite(_pin, HIGH);<br \/>\n    delayMicroseconds(5);<br \/>\n    digitalWrite(_pin,LOW);<br \/>\n    pinMode(_pin,INPUT);<br \/>\n    duration = pulseIn(_pin,HIGH);<br \/>\n}<br \/>\n\/*The measured distance from the range 0 to 400 Centimeters*\/<br \/>\nlong Ultrasonic::microsecondsToCentimeters(void)<br \/>\n{<br \/>\n    return duration\/29\/2;<br \/>\n}<br \/>\n\/*The measured distance from the range 0 to 157 Inches*\/<br \/>\nlong Ultrasonic::microsecondsToInches(void)<br \/>\n{<br \/>\n    return duration\/74\/2;<br \/>\n}<br \/>\nUltrasonic ultrasonic(7);<br \/>\nvoid setup()<br \/>\n{<br \/>\n    Serial.begin(9600);<br \/>\n}<br \/>\nvoid loop()<br \/>\n{<br \/>\n    long RangeInInches;<br \/>\n    long RangeInCentimeters;<br \/>\n    ultrasonic.DistanceMeasure();\/\/ get the current signal time;<br \/>\n    RangeInInches = ultrasonic.microsecondsToInches();\/\/convert the time to inches;<br \/>\n    RangeInCentimeters = ultrasonic.microsecondsToCentimeters();\/\/convert the time to centimeters<br \/>\n\/\/\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Serial.println(&quot;The distance to obstacles in front is: &quot;);<br \/>\n\/\/\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Serial.print(RangeInInches);\/\/0~157 inches<br \/>\n\/\/\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Serial.println(&quot; inch&quot;);<br \/>\n\/\/\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Serial.print(RangeInCentimeters);\/\/0~400cm<br \/>\n\/\/\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Serial.println(&quot; cm&quot;);<\/p>\n<p>    if(RangeInCentimeters &lt;= 15 &amp;&amp; RangeInCentimeters&gt;=0 ){<\/p>\n<p>        Serial.println(1);<br \/>\n        Serial.println(&quot;\\r&quot;)\u00a0;<br \/>\n    }<br \/>\n    else {<br \/>\n        Serial.println(0);<br \/>\n        Serial.println(&quot;\\r&quot;)\u00a0;<br \/>\n    }<\/p>\n<p>    delay(100);<br \/>\n}<br \/>\n[\/cpp]<\/p>\n<p class=\"Standard\"><span style=\"font-size: 14.0pt; font-family: 'Times New Roman',serif;\">Am\u00e9liorations possibles<\/span><\/p>\n<p class=\"Standard\" style=\"text-align: justify;\"><span style=\"font-family: 'Times New Roman',serif;\">Les valeurs des positions des doigts ou de la paume de la main renvoy\u00e9es par Max ne sont pas tr\u00e8s fiables, elles varient tout le temps, ce qui est assez restreignant lorsque l&rsquo;on essaie d&rsquo;assigner par exemple \u00e0 un intervalle une fr\u00e9quence donn\u00e9e.<\/span><\/p>\n<p class=\"Standard\" style=\"text-align: justify;\"><span style=\"font-family: 'Times New Roman',serif;\">On pourrait rajouter des param\u00e8tres pour prendre en consid\u00e9ration la capacit\u00e9 du Leap Motion \u00e0 d\u00e9tecter le mouvement des doigts. H\u00e9las, on se heurte l\u00e0 aussi \u00e0 des probl\u00e8mes de pr\u00e9cision et de sensibilit\u00e9.<\/span><\/p>\n<p class=\"Standard\" style=\"text-align: justify;\"><span style=\"font-family: 'Times New Roman',serif;\">Outre les d\u00e9fauts de conception et les impr\u00e9cisions musicales, nous pouvons tenter d&rsquo;am\u00e9liorer notre ma\u00eetrise de cet instrument de musique assez particulier. Il est par exemple assez difficile de g\u00e9rer \u00e0 la fois l&rsquo;activation et la d\u00e9sactivation de la musique gr\u00e2ce \u00e0 une main et la modulation du son par l&rsquo;autre main.<\/span><\/p>\n","protected":false},"author":1,"featured_media":2248,"parent":0,"menu_order":0,"template":"","meta":{"_acf_changed":false,"footnotes":""},"categories":[39,20],"type_projet":[],"class_list":["post-2241","projet","type-projet","status-publish","has-post-thumbnail","hentry","category-a-la-une","category-projets"],"acf":{"objectifs":"","categorie":false,"fichiers_associes":null},"_links":{"self":[{"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/projet\/2241","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/projet"}],"about":[{"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/types\/projet"}],"author":[{"embeddable":true,"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/users\/1"}],"version-history":[{"count":1,"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/projet\/2241\/revisions"}],"predecessor-version":[{"id":10518,"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/projet\/2241\/revisions\/10518"}],"wp:attachment":[{"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/media?parent=2241"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/categories?post=2241"},{"taxonomy":"type_projet","embeddable":true,"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/type_projet?post=2241"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}