En poursuivant votre navigation sur ce site, vous acceptez l'utilisation de cookies pour assurer le bon fonctionnement de nos services.
En savoir plus

Challenges de la mobilité électrique.

Joséphine 3.i : L'Arduino UNO et nos solutions

Par Félix GAUTIER--VERGNES, publié le lundi 9 décembre 2019 14:02 - Mis à jour le vendredi 6 mars 2020 13:47
Arduino UNO
Dans cet article, nous vous expliquerons en détail le travail de programmation qu'il y derrière Joséphine 3.i (Intelligente).

1) L'Arduino en Général

Si vous voulez voir la présentation de notre équipe, rendez-vous ici :

 joseph-rey.ecollege.haute-garonne.fr/le-college/atelier-sciences/challenges-de-la-mobilite-electrique-/presentation-de-l-equipe-3-i-14424.htm

   Pour résumer, l'Arduino est un micro-processeur qui fonctionne à la façon d'un ordinateur. Ce que je veux dire, c'est qu'elle reçoit des information par le biais de capteurs (comme les claviers ou les souris pour les ordis), qu'elle les exécute avec son petit cerveau et qu'elle les affiche (L'écran). Donc, elle fonctionne exactement comme le corps humain (œil -> cerveau -> muscle) ou comme les ordinateurs (clavier -> processeur -> écran).

  Pour traiter l'information qu'elle reçois, on indique a l'Arduino la réaction qu'elle doit avoir. On utilise donc un langage de programmation. C'est ça le plus compliqué... Ce langage est un dérivé du C++ ( Qui est lui même un dérivé du C, qui est une évolution du B, et je n'ai pas envie de parler du C# ... ) Bref, c'est compliqué. Pour revenir à nos moutons, il faut lui indiquer des informations dans sa "langue" ( Car elle ne parle pas Français ) . Si vous voulez l'apprendre, allez sur YouTube ou sur le site en bas de l'article. Le logiciel s'appelle tout simplement "Arduino".

 

2) Notre fonctionnement

   Un code Arduino est divisé en 2 parties. Dans l'une il initialise les entrées et sorties de l'électricité pour alimenter les capteurs. Et il exécute la seconde partie en boucle. Il est possible de créer d'autres boucles, que l'on peut exécuter à n'importe quel moment. Cela permet donc d'économiser de l'espace, mais aussi de travailler en groupe. Dans notre équipe, nous créons chacun des boucles que le reste de l'équipe vérifie. Bien entendu, il faut que les bouts de codes s'assemblent (On ne peut pas mettre une boucle qui dit à la voiture de tourner à droite avec une autre boucle qui lui dit de tourner à gauche). Au final, cela nous donne un code que notre expert Raphaël relit, corrige et réécrit.

 

3) Les Capteurs à Ultrasons

   Pour rendre possible l'idée de voiture autonome, nous utilisons un système de détection des obstacles géré par un trio de capteurs à ultrasons et par l'Arduino Uno. Attendez... Un capteur à quoi ? En fait, un capteur à ultrasons est un capteur qui projette des ultrasons (Sons de plus de 20 000 Hertz, que notre oreille ne peut pas entendre). Ces sons rebondissent sur des obstacles et reviennent au capteur qui détermine, en fonction du temps que l'ultrason met pour revenir, la distance qui sépare. Maintenant, un peu de culture générale ! Pour imaginer ce système, l'être humain s'est inspiré de l'écholocalisation, un système que certains animaux               ( comme la chauve-souris ou le dauphin ) ont développé. Il consiste, tout comme nos capteurs, à envoyer des ultrasons et à écouter leur écho pour repérer les proies ou les prédateurs. Bon… Ce n'est pas très explicite... On comprend toujours mieux avec des images:

Le principe de l'écholocalisation

 
 
 

 

Désormais, vous pourrez briller en soirée mondaine en expliquant comment le dauphin capture ses proies ! 

 

4) Nos Solutions

4.a) "Le Tableau"

   Pour utiliser astucieusement  les capteurs à ultrasons, nous avons développé une solution. L'année dernière, la voiture ne pouvait que s'arrêter à la rencontre d'un obstacle. En effet, ce n'est pas bien glorieux. Notre nouvelle solution consiste donc à placer des capteurs devant et aux coins avant du bolide. En fonction de si les capteurs détecte ou non un obstacles, nous avons conçu un tableau qui programme toutes les réactions de la voiture ( Si il y a une croix, c'est que le capteur un obstacle ). 

 

 

    Ce tableau nous a prouvé son efficacité, mais il présente certains problèmes :

  1. Si la voiture s'arrête, que doit elle faire ensuite ?
  2. Si il n'y a que un obstacle, et qu'il est situé au centre, de quel côté la voiture doit tourner ?
  3. Si il y a deux obstacles sur les bords mais qu'il y a une ouverture au centre, est-elle assez grande pour faire passer la voiture ?
  4. Pour finir, si il y a un obstacle au centre et un au bord, comment savoir si le coin de la voiture ne cognera pas l'obstacle ?

    Pour résoudre ces problèmes, nous avons eu recourt à une autre solution. En fait, le capteur central est placé sur un servomoteur, c'est à dire un moteur dont on peut choisir la position. Quand la voiture est confrontée à une des quatre situations citées précédemment, le servomoteur va se mettre dans 18 positions différentes pour que le capteur prenne autant de mesures. Nous n'aurons donc pas un tableau à 3 colonnes, mais à 18 colonnes ! Ce devrait être assez pour répondre à toutes les questions dont on cherche les réponses ! 

Si vous êtes intéressé(e) par L'Arduino Uno, visitez le site officiel. Il y sera possible de se procurer un Arduino et d'apprendre son langage de programmation: www.arduino.cc
Commentaires

Aucun commentaire

Catégories
  • Josephine 3.i