Acquisition et transmission de l’information : analyse d’un robot aspirateur

Mise à jour du 22 février 2016

Cet article date de juni 2015. Attention, le logiciel Ardublock est en fin de vie. Depuis maintenant deux ans environ, de nouveaux logiciels de programmation ont été développés, la plupart à partir de Blockly conçu spécialement par Google pour faciliter justement le développement de ce type de logiciels pédagogiques. On trouve aujourd’hui des logiciels capables de remplacer avantageusement Ardublock. J’ai choisi d’utiliser Blockly Arduino qui a entre autre l’avantage de pouvoir facilement s’adapter à mes besoins pédagogiques. J’ai rédigé un article qui vous expliquera plus précisément les avantages de Blockly Arduino par rapport à Ardublock, ainsi que les points à améliorer prochainement.

1. Analyse du fonctionnement et des capteurs du robot

Observation d’un robot aspirateur Auto Cleaner, à l’arrêt et en fonctionnement, ainsi que d’un robot aspirateur partiellement démonté.

robot aspirateur autocleaner (source : Collège Jean Macé)

robot aspirateur autocleaner (source : Collège Jean Macé)

1.1. Fonctionnement de l’aspirateur robot

– Mode S : Le robot décrit une trajectoire en spirale à partir de l’endroit où on l’a déposé. S’il détecte un obstacle (en butant avec son bouclier) alors il s’arrête, recule un peu et repart en changeant de direction.

 – Mode M : Le robot nettoie le bord des murs ou des meubles (sur sa droite). Il évite les obstacles comme en mode S.

1.2. Composants permettant au robot d’acquérir des informations

1) Acquisition des commandes de l’utilisateur (le choix du mode de fonctionnement notamment)
3 boutons poussoirs (S, M et L) sur le robot.

DSC01989 2) Acquisition de la présence d’un obstacle devant le robot
Un capteur dans le robot détecte l’enfoncement du bouclier à l’avant du robot.
3) Acquisition de la proximité d’un mur à droite du robot
Un capteur (infrarouge) sur le côté droit du robot détecte un obstacle à distance (sans contact).
Ce capteur est constitué d’un émetteur infrarouge et d’un récepteur infrarouge qui reçoit le faisceau infrarouge réfléchi par le mur (ou l’objet).

DSC01981 4) Acquisition de la présence du vide devant le robot
4 capteurs infrarouges situés sous le bouclier avant, dirigés vers le sol.
Il détecte le vide (non présence du sol), sans contact du capteur avec le sol.
Chaque capteur est constitué d’un émetteur infrarouge et d’un récepteur infrarouge qui reçoit le faisceau infrarouge réfléchi par le sol (sauf s’il est au-dessus du vide).

DSC01986
5) Acquisition du soulèvement du robot ou d’une roue dans le vide
Un capteur au niveau de chaque roue, y compris de la petite roue non-motrice à l’arrière. Un contact (électrique) est commuté (mécaniquement) par la roue qui se soulève lorsqu’on soulève le robot.

DSC01983

DSC01987

1.3. Composants permettant au robot de transmettre des informations à l’utilisateur

1) Information sur la mise sous tension de l’aspirateur robot (avec le bouton On)
La Led verte s’allume sur le robot.
Le buzzer émet un son bref.
2) Information de la mise en charge de la batterie (en branchant le bloc secteur)
La Led verte sur le robot clignote lentement (environ une fois par seconde).
3) Information de la prise en compte par le robot de l’appui sur un bouton (S, M ou L)
La Led bleue sous le bouton enfoncé s’allume.
Le buzzer émet un son bref.

DSC01990

1.4. Informations transmises par le robot de manière sonore

La mise sous tension du robot.
L’activation d’un mode de fonctionnement.
L’attente lorsque le robot est sous tension mais en veille.
Le début de la charge.

1.5. Composant permettant au robot de traiter toutes les informations

C’est la carte mère (carte électronique programmable) disposée verticalement dans le robot.

1.6. Alimentation du robot aspirateur en énergie

Energie électrique fournie par la batterie interne au robot.

Elle se recharge sur le chargeur alimenté sur le secteur (réseau 230 V).

2. Schéma fonctionnel

Schéma fonctionnel simplifié de l’aspirateur robot (on ne considère pas ici les moteurs de l’aspiration et des brosses).

Schéma fonctionnel simplifié du robot aspirateur (Source : Collège Jean Macé)

Schéma fonctionnel simplifié du robot aspirateur (Source : Collège Jean Macé)

 

3. Expérimentation avec une carte électronique programmable

L’objectif de cette expérimentation est notamment d’analyser expérimentalement les liens entre la carte électronique de traitement des informations et les fonctions suivantes :

– l’interface de dialogue (boutons et Leds) qui permet à l’utilisateur de choisir un mode de fonctionnement avec des boutons qui s’allument suivant les cas,

– les capteurs qui détectent des obstacles à éviter, – le capteur qui capte la proximité d’un mur (ou d’un meuble) à longer pour assurer le nettoyage,

– un moteur qui permet le déplacement du robot.

3.1. Mise en œuvre d’une carte électronique programmable de type Arduino, avec le logiciel Arduino (+ Ardublock)

Carte électronique programmable de type Arduino Leonardo (source : Collège Jean Macé)

Carte électronique programmable de type Arduino Leonardo (source : Collège Jean Macé)

Interface du logiciel Ardublock pour programmer la carte Arduino (Source Jean Macé)

Interface du logiciel Ardublock pour programmer la carte Arduino (Source Jean Macé)

3.2. Programme n°1 : clignotement de la LED de l’aspirateur pendant la phase de charge

Programme (écrit avec Ardublock) de clignotement d'une Led avec une carte électronique programmable Arduino (source : Collège Jean Macé)

Programme (écrit avec Ardublock) de clignotement d’une Led avec une carte électronique programmable Arduino (source : Collège Jean Macé)

3.3. Programme n°2 : Allumer la Led correspondant au mode de fonctionnement choisi lorsqu’on appuie sur le bouton correspondant

DSC02001

3.4. Programme n°3 : Commander un moteur en fonction d’un capteur qui détecte la présence d’un obstacle

DSC02025