{"id":12,"date":"2011-09-22T19:16:56","date_gmt":"2011-09-22T17:16:56","guid":{"rendered":"http:\/\/www.planete-sciences.org\/blogs\/defissolaires\/dstemplate\/etape-2\/"},"modified":"2019-05-21T12:23:47","modified_gmt":"2019-05-21T10:23:47","slug":"etape3","status":"publish","type":"page","link":"http:\/\/www.planete-sciences.org\/blogs\/defissolaires\/2019_co_josephrey\/etape3\/","title":{"rendered":"Description de la partie \u00e9lectronique"},"content":{"rendered":"<p><a href=\"http:\/\/www.planete-sciences.org\/blogs\/defissolaires\/wp-content\/plugins\/blogs-directory\/images\/3etapesjaunes.png\"><img loading=\"lazy\" class=\"alignleft size-full wp-image-203\" title=\"3etapesjaunes\" src=\"http:\/\/www.planete-sciences.org\/blogs\/defissolaires\/wp-content\/plugins\/blogs-directory\/images\/3etapesjaunes.png\" alt=\"\" width=\"857\" height=\"72\" \/><\/a><\/p>\n<ul>\n<li><span style=\"text-decoration: underline\"><em><strong><span style=\"color: #993366;text-decoration: underline\">Panneaux solaires :<\/span><\/strong><\/em><\/span>&nbsp;Les panneaux solaires sont constitu&eacute;s de plusieurs cellules photovolta&iuml;ques polycristallins dispos&eacute;es en s&eacute;rie sur une plaque en polystyr&egrave;ne extrud&eacute; recouverte d&#039;une couche de fibre de Lin enduite de r&eacute;sine Epoxy .Chaque cellule apporte 0,5 Voltes et une fois regroup&eacute;es donneront un total de 9 Voltes car nous en avons 18 . Elles devront aliment&eacute;s notre moteur ci-dessous expliqu&eacute; .<\/li>\n<li><span style=\"text-decoration: underline\"><em><strong><span style=\"color: #993366;text-decoration: underline\"><a href=\"http:\/\/www.planete-sciences.org\/blogs\/defissolaires\/2019_co_josephrey\/files\/2012\/09\/moteur.jpg\"><img loading=\"lazy\" class=\"alignright size-full wp-image-351\" src=\"http:\/\/www.planete-sciences.org\/blogs\/defissolaires\/2019_co_josephrey\/files\/2012\/09\/moteur.jpg\" alt=\"\" width=\"279\" height=\"181\" \/><\/a>Moteur :<\/span><\/strong><\/em><\/span> Comme expliqu&eacute; pr&eacute;c&eacute;demment, nous avons choisi un moteur Graupner speed 400. Au d&eacute;but de la synchronisation avec la t&eacute;l&eacute;commande, nous avons rencontr&eacute; quelques probl&egrave;mes car le variateur n&#039;&eacute;tait pas adapt&eacute; &agrave; notre voiture, car il &eacute;tait con&ccedil;u pour un h&eacute;licopt&egrave;re,&nbsp; donc nous avons &eacute;t&eacute; oblig&eacute; de racheter un nouveau variateur. Apr&egrave;s cette petite erreure, la programmation s&#039;est d&eacute;roul&eacute;e sans incidents.<\/li>\n<li><em><span style=\"text-decoration: underline\"><strong><span style=\"color: #993366;text-decoration: underline\">T&eacute;l&eacute;commande :<\/span><\/strong><\/span><\/em>&nbsp;Nous avons choisis une t&eacute;l&eacute;commande Reely GT2 EVO type pistolet . Cette derni&egrave;re est destin&eacute;e &agrave; conduire notre v&eacute;hicule solaire . Nous avions quelques probl&egrave;mes au niveau de la marche avant\/arri&egrave;re car elles &eacute;taient invers&eacute;es, cause du variateur expliqu&eacute; ci dessus, mais nous avons r&eacute;ussis &agrave; identifier et r&eacute;soudre le probl&egrave;me . Elle dispose d&#039;un tableau de bord sur son haut permettant de faire quelques r&eacute;glages ou de l&#039;allumer\/&eacute;teindre .<em><span style=\"text-decoration: underline\"><strong><span style=\"color: #993366;text-decoration: underline\"><br \/>\n<\/span><\/strong><\/span><\/em><\/li>\n<li><span style=\"text-decoration: underline\"><span style=\"text-decoration: underline\"><span style=\"color: #993366\"><strong><em>Le capteur &agrave; ultrasons et son code :<\/em><\/strong><\/span><\/span><\/span><\/li>\n<\/ul>\n<h6><span style=\"color: #993366;font-size: x-large\"><b><u>Les capteurs &agrave; ultrasons<\/u><\/b><\/span><\/h6>\n<p><span style=\"color: #000000\"> <span style=\"font-size: medium\">Pour am&eacute;liorer et faire de Jos&eacute;phine 1.0 une voiture &laquo;&nbsp;intelligente&nbsp;&raquo;, nous avons opt&eacute; pour les capteurs &agrave; ultrasons. Ce capteur est capable de mesurer la distance du premier obstacle pr&eacute;sent devant lui, puis envoie l&rsquo;information au microcontr&ocirc;leur ARDUINO UNO. Ce dernier traite l&rsquo;information pour ensuite l&rsquo;envoyer au servomoteur qui change la direction de la voiture.<\/span><\/span><\/p>\n<h4><span style=\"color: #993366;font-size: x-large\"><u><b>Le fonctionnement&nbsp;:<\/b><\/u><\/span><\/h4>\n<p><span style=\"color: #000000\"> <span style=\"font-size: medium\">Ce capteur fonctionne en envoyant, comme son nom l&rsquo;indique, des ultrasons (son dont la fr&eacute;quence est sup&eacute;rieure &agrave; 20.000 Hz, imperceptible par les humains). Les ultrasons rebondissent contre un obstacle et reviennent vers le capteur. <\/span><\/span><\/p>\n<p><span style=\"color: #000000\"><span style=\"font-size: medium\">En fonction du temps mit par les ultrasons pour revenir, le capteur en d&eacute;duit la distance. <\/span><\/span><\/p>\n<h6><span style=\"color: #993366;font-size: x-large\"><u><b>Le traitement&nbsp;:<\/b><\/u><\/span><\/h6>\n<p><span style=\"color: #000000\"> <span style=\"font-size: medium\">Ensuite, l&rsquo;information est envoy&eacute; vers la carte Arduino qui traite l&rsquo;information pour la pr&eacute;senter a l&rsquo;utilisateur de fa&ccedil;on lisible. Elle effectue ensuite une suite de calcul pour en d&eacute;duire la vitesse, si l&rsquo;obstacle est a droite ou a gauche&hellip;<\/span><\/span><\/p>\n<p><span style=\"color: #000000\"> <span style=\"font-size: medium\">Enfin, toutes ces donn&eacute;es sont envoy&eacute;es vers le Servomoteur qui dirige la voiture en fonction, ou elles sont envoy&eacute;es vers le moteur pour savoir si la voiture doit ralentir ou acc&eacute;l&eacute;rer. C&#039;est ainsi que notre voiture solaire va para&icirc;tre \u00ab\u00a0intelligente\u00a0\u00bb .&nbsp;<\/span><\/span><\/p>\n<p><span style=\"color: #00ccff\"><u>Codes de notre informaticien (&eacute;crit en C) :<\/u><\/span><\/p>\n<p><span style=\"color: #808000\">#include<\/span> &lt;<span style=\"color: #ff6600\">Servo<\/span>.h&gt;<br \/>\n<span style=\"color: #808000\">#include<\/span> <span style=\"color: #0000ff\">\u00ab\u00a0<span style=\"color: #339966\">Ultrasonic.h\u00a0\u00bb<\/span><\/span>\/\/ biblioth&egrave;que des capteurs &agrave; ultrasons<br \/>\n<span style=\"color: #008080\">int<\/span>&nbsp;Capture1;<br \/>\n<span style=\"color: #008080\">int<\/span> Capture2;<br \/>\n<span style=\"color: #008080\">int<\/span> Capture3;\/\/variables pour prises de distances<br \/>\n<span style=\"color: #008080\">int<\/span> space1 = 0;<br \/>\n\/\/ variables pour les espaces entre les variables Capture<br \/>\n<span style=\"color: #008080\">int<\/span> vitesse = 0;<br \/>\n<span style=\"color: #ff6600\">Servo<\/span> myServo;<br \/>\n<span style=\"color: #ff6600\">Ultrasonic<\/span> ultrasonic(2);<br \/>\n<span style=\"color: #ff6600\">Ultrasonic<\/span> ultrasonic2(4);<br \/>\n<span style=\"color: #008080\">void<\/span> <span style=\"color: #808000\">setup<\/span>()<br \/>\n{<br \/>\n<span style=\"color: #ff6600\">Serial<\/span>.<span style=\"color: #ff6600\">begin<\/span>(9600);<br \/>\nmyServo.<span style=\"color: #ff6600\">attach<\/span>(9);<br \/>\nmyServo.<span style=\"color: #ff6600\">write<\/span>(90);<br \/>\n}<br \/>\n<span style=\"color: #008080\">void <\/span><span style=\"color: #808000\">loop<\/span>()<br \/>\n{<br \/>\nspace1 = 0;<br \/>\n<span style=\"color: #008080\">long<\/span> RangeInCentimeters;<br \/>\n<span style=\"color: #008080\">long<\/span> RangeInCentimeters2;\/\/variables pour stocker les mesures de distances<\/p>\n<p>RangeInCentimeters = ultrasonic.MeasureInCentimeters(); \/\/Capture de la mesure<br \/>\n<span style=\"color: #ff6600\">Serial.print<\/span>(<span style=\"color: #008080\">\u00ab\u00a0distance n&deg;1 : \u00ab\u00a0<\/span>);<br \/>\n<span style=\"color: #ff6600\">Serial.print<\/span>(RangeInCentimeters);\/\/Affichage de la mesure<br \/>\n<span style=\"color: #ff6600\">Serial.print<\/span>(<span style=\"color: #008080\">\u00a0\u00bb cm \u00ab\u00a0<\/span>);\/\/Affichage de l&#039;unit&eacute;<br \/>\nRangeInCentimeters2 = ultrasonic2.MeasureInCentimeters(); \/\/Capture de la mesure<br \/>\n<span style=\"color: #ff6600\">Serial<\/span>.<span style=\"color: #ff6600\">print<\/span>(<span style=\"color: #008080\">\u00ab\u00a0distance n&deg;2 : \u00ab\u00a0<\/span>);<br \/>\n<span style=\"color: #ff6600\">Serial<\/span>.<span style=\"color: #ff6600\">print<\/span>(RangeInCentimeters2);\/\/Affichage de la mesure<br \/>\n<span style=\"color: #ff6600\">Serial<\/span>.<span style=\"color: #ff6600\">println<\/span>(<span style=\"color: #008080\">\u00a0\u00bb cm\u00a0\u00bb<\/span>);\/\/Affichage de l&#039;unit&eacute;<br \/>\n<span style=\"color: #ff6600\">delay<\/span>(500);<br \/>\n\/\/Bloc de capture de 3 mesures s&eacute;par&eacute;es de 0,2 secondes<br \/>\nCapture1 = RangeInCentimeters;\/\/Memorisation dans Capture1<br \/>\n<span style=\"color: #ff6600\">delay<\/span>(20);\/\/Attente 0,2 sec<br \/>\nRangeInCentimeters = ultrasonic.MeasureInCentimeters();\/\/ Nouveau calcul de distance<br \/>\nCapture2 = RangeInCentimeters;\/\/Memorisation dans capture2<br \/>\n<span style=\"color: #ff6600\">delay<\/span>(20);\/\/Attente 0,2 sec<br \/>\nRangeInCentimeters = ultrasonic.MeasureInCentimeters();\/\/ Nouveau calcul de distance<br \/>\nCapture3 = RangeInCentimeters;\/\/Memorisation dans capture3<br \/>\n<span style=\"color: #ff6600\">delay<\/span>(20);\/\/Attente 0,2 sec<\/p>\n<p>\/\/Bloc de calcul des espaces entre les variables Capture<br \/>\nspace1 = Capture1 &#8211; Capture2;<br \/>\n\/*Serial.print(\u00ab\u00a0D0 : \u00ab\u00a0);<br \/>\nSerial.print(Capture1);<br \/>\nSerial.print(\u00a0\u00bb &#8211; D1 : \u00ab\u00a0);<br \/>\nSerial.println(Capture2);<br \/>\nSerial.print(\u00a0\u00bb = \u00ab\u00a0);<br \/>\nSerial.println(space1);*\/<\/p>\n<p><span style=\"color: #808000\">if <\/span>(space1&gt;0){<br \/>\n<span style=\"color: #ff6600\">Serial<\/span>.<span style=\"color: #ff6600\">print<\/span>(<span style=\"color: #008080\">\u00ab\u00a0L&#039;obstacle se rapproche &#8212; \u00ab\u00a0<\/span>);<br \/>\n\/\/myServo.write(0);<br \/>\n}<br \/>\n<span style=\"color: #808000\">else<\/span> <span style=\"color: #808000\">if<\/span> (space1&lt;-5){<br \/>\n<span style=\"color: #ff6600\">Serial<\/span>.<span style=\"color: #ff6600\">print<\/span>(<span style=\"color: #008080\">\u00ab\u00a0L&#039;obstacle s&#039;&eacute;loigne &#8212; \u00ab\u00a0<\/span>);<br \/>\n\/\/myServo.<span style=\"color: #ff6600\">write<\/span>(180);<br \/>\n}<br \/>\n<span style=\"color: #808000\">else<\/span> {<br \/>\n<span style=\"color: #ff6600\">Serial<\/span>.<span style=\"color: #ff6600\">print<\/span>(<span style=\"color: #008080\">\u00ab\u00a0L&#039;obstacle est a la m&ecirc;me vitesse que nous &#8212; \u00ab\u00a0<\/span>);<br \/>\n\/\/myServo.<span style=\"color: #ff6600\">write<\/span>(90);<br \/>\n}<br \/>\n<span style=\"color: #808000\">if<\/span> (RangeInCentimeters &gt; 515 &amp;&amp; RangeInCentimeters2 &lt; 515){<br \/>\nmyServo.<span style=\"color: #ff6600\">write<\/span>(0);<br \/>\n<span style=\"color: #ff6600\">Serial<\/span>.<span style=\"color: #ff6600\">println<\/span>(<span style=\"color: #008080\">\u00ab\u00a0Obstacle &agrave; droite\u00a0\u00bb<\/span>);<br \/>\n}<br \/>\n<span style=\"color: #808000\">else<\/span> <span style=\"color: #808000\">if<\/span> (RangeInCentimeters &lt; 515 &amp;&amp; RangeInCentimeters2 &gt; 515){<br \/>\nmyServo.<span style=\"color: #ff6600\">write<\/span>(180);<br \/>\n<span style=\"color: #ff6600\">Serial<\/span>.<span style=\"color: #ff6600\">println<\/span>(<span style=\"color: #008080\">\u00ab\u00a0Obstacle &agrave; gauche\u00a0\u00bb<\/span>);<br \/>\n}<br \/>\n<span style=\"color: #808000\">else<\/span> <span style=\"color: #808000\">if<\/span> (RangeInCentimeters &lt; 515 &amp;&amp; RangeInCentimeters2 &lt; 515){<br \/>\n<span style=\"color: #808000\">if<\/span> (RangeInCentimeters &#8211; RangeInCentimeters2 &gt; 10){<br \/>\n<span style=\"color: #ff6600\">Serial<\/span>.<span style=\"color: #ff6600\">println<\/span>(<span style=\"color: #008080\">\u00ab\u00a0Obstacle plutot &agrave; droite\u00a0\u00bb<\/span>);<br \/>\nmyServo.<span style=\"color: #ff6600\">write<\/span>(0);<br \/>\n}<br \/>\n<span style=\"color: #808000\">else<\/span> <span style=\"color: #808000\">if<\/span> (RangeInCentimeters2 &#8211; RangeInCentimeters &gt; 10){<br \/>\n<span style=\"color: #ff6600\">Serial<\/span>.<span style=\"color: #ff6600\">println<\/span>(<span style=\"color: #008080\">\u00ab\u00a0Obstacle plutot &agrave; gauche\u00a0\u00bb<\/span>);<br \/>\nmyServo.<span style=\"color: #ff6600\">write<\/span>(180);<br \/>\n}<br \/>\n<span style=\"color: #808000\">else<\/span> {<br \/>\n<span style=\"color: #ff6600\">Serial<\/span>.<span style=\"color: #ff6600\">println<\/span>(<span style=\"color: #008080\">\u00ab\u00a0Obstacle devant\u00a0\u00bb<\/span>);<br \/>\nmyServo.<span style=\"color: #ff6600\">write<\/span>(90);<br \/>\n}<\/p>\n<p>}<br \/>\n<span style=\"color: #808000\">else<\/span> <span style=\"color: #808000\">if<\/span> (RangeInCentimeters &gt; 515 &amp;&amp; RangeInCentimeters2 &gt; 515){<br \/>\n<span style=\"color: #ff6600\">Serial<\/span>.<span style=\"color: #ff6600\">println<\/span>(<span style=\"color: #008080\">\u00ab\u00a0Pas d&#039;obstacle\u00a0\u00bb<\/span>);<br \/>\nmyServo.<span style=\"color: #ff6600\">write<\/span>(90);<br \/>\n}<\/p>\n<p>\/*myServo.write(0);<br \/>\nSerial.println(\u00ab\u00a0Servo.position: 0\u00a0\u00bb);<br \/>\nif (RangeInCentimeters &lt; 518){<br \/>\nmyServo.write(180);<br \/>\nSerial.println(\u00ab\u00a0Servo.position: 180\u00a0\u00bb);<br \/>\nif (RangeInCentimeters2 &lt; 518){<br \/>\nSerial.println(\u00ab\u00a0DANGER\u00a0\u00bb);<br \/>\n}<br \/>\n}*\/<\/p>\n<p>vitesse = RangeInCentimeters;<br \/>\n}<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Panneaux solaires :&nbsp;Les panneaux solaires sont constitu&eacute;s de plusieurs cellules photovolta&iuml;ques polycristallins dispos&eacute;es en s&eacute;rie sur une plaque en polystyr&egrave;ne extrud&eacute; recouverte d&#039;une couche de fibre de Lin enduite de r&eacute;sine Epoxy .Chaque cellule apporte 0,5 Voltes et une fois regroup&eacute;es donneront un total de 9 Voltes car nous en avons 18 . Elles devront [&#8230;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":3,"comment_status":"open","ping_status":"closed","template":"","meta":[],"_links":{"self":[{"href":"http:\/\/www.planete-sciences.org\/blogs\/defissolaires\/2019_co_josephrey\/wp-json\/wp\/v2\/pages\/12"}],"collection":[{"href":"http:\/\/www.planete-sciences.org\/blogs\/defissolaires\/2019_co_josephrey\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/www.planete-sciences.org\/blogs\/defissolaires\/2019_co_josephrey\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/www.planete-sciences.org\/blogs\/defissolaires\/2019_co_josephrey\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.planete-sciences.org\/blogs\/defissolaires\/2019_co_josephrey\/wp-json\/wp\/v2\/comments?post=12"}],"version-history":[{"count":37,"href":"http:\/\/www.planete-sciences.org\/blogs\/defissolaires\/2019_co_josephrey\/wp-json\/wp\/v2\/pages\/12\/revisions"}],"predecessor-version":[{"id":440,"href":"http:\/\/www.planete-sciences.org\/blogs\/defissolaires\/2019_co_josephrey\/wp-json\/wp\/v2\/pages\/12\/revisions\/440"}],"wp:attachment":[{"href":"http:\/\/www.planete-sciences.org\/blogs\/defissolaires\/2019_co_josephrey\/wp-json\/wp\/v2\/media?parent=12"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}