Académique Documents
Professionnel Documents
Culture Documents
Faculté de génie
Département de génie électrique et génie informatique
Présenté à
Alexandre Tessier et Jean-Philippe Gouin
Présenté par
Équipe numéro 9
Jacob Deniss – denj1202
Alexandre Falardeau – fala1703
Justin Houde – houj1308
Loïc Jolicoeur-Pomerleau – joll1702
Nathaniel Létourneau – letn1102
Shawn Miller Morneau – mils2203
Gabriel Rioux – riog1304
i
LISTE DES FIGURES
Figure 1: Graphique de Gantt 4
Figure 2: Histogramme du temps planifié versus réel par semaine 5
Figure 3 : Mise en plan du support de boutons 7
Figure 4 : Mise en plan du support de suiveur de ligne 8
Figure 5 : Mise en plan du support à servomoteur 9
Figure 6 : Mise en plan du suiveur de ligne 10
Figure 7 : Mise en plan du manche à clé 11
Figure 8 : Mise en plan de l’assemblage du carrousel 12
Figure 9 : Mise en plan de la base du carrousel 13
Figure 10 : Mise en plan du pivot du carrousel 14
Figure 11 : Schéma électrique du carrousel 16
Figure 12 : Schéma électrique de l’Arduino ATMega2560 17
Figure 13 : Schéma électrique du suiveur de ligne 18
Figure 14 : Logigramme du programme no. 1 21
Figure 15 : Logigramme du programme no. 2 22
Figure 16 : Bouton vert du robot A
Figure 17 : État de l’écran si le SEN0348 détecte un doigt A
Figure 18 : État du capteur d’empreinte lorsqu’il est en mode enregistrement. B
Figure 19 : Support à clés du robot B
Figure 20 : Carrousel de clés C
Figure 21 : Dessous du carrousel C
Figure 22 : Bouton bleu D
Figure 23 : Capteur d’alcool MQ3 D
ii
LISTE DES TABLEAUX
Tableau 1: Dépense prévue comparée aux dépenses réelles 6
Tableau 2 : Tests pour les moteurs 24
Tableau 3 : Tests pour le suiveur de ligne 24
Tableau 4 : Test pour le capteur de couleur 25
Tableau 5 : Tests pour l’alcootest 26
Tableau 6 : Tests pour la détection de clés 26
Tableau 7 : Tests pour la manipulation de clés 27
Tableau 8 : Tests pour l’entreposage des clés 27
Tableau 9 : Tests pour l’écran LCD 28
Tableau 10 : Tests pour les boutons de contrôles 28
Tableau 11 : Tests de senseur d’empreinte digitale 29
Tableau 12 : Tests pour la communication RF 29
iii
1. INTRODUCTION
Conduire en état d’ébriété peut entraîner de nombreuses conséquences. En plus d’être un acte
criminel, c’est aussi extrêmement dangereux pour notre sécurité, et pour celles des autres
usagers de la route. La conduite avec faculté affaiblie est responsable de 31% des accidents
mortels sur les routes. Dans l’idée de sensibiliser le public aux conséquences de la conduite en
état d’ébriété, l’équipe 6-neuve-100-génie (P-09) a conçu un robot qui s’occupe de la gestion
des clés dans un endroit festif, comme un bar. Le principe est simple, en arrivant à une soirée,
on s’identifie au robot à l’aide de notre empreinte digitale, on lui confie nos clés, qu’il stockera
dans un endroit hors d’accès. À la fin de la soirée, lorsque l’on souhaite quitter l'établissement,
on doit s'identifier de nouveau, puis passer un alcootest. S’il est réussi, le robot redonnera les
clés, tandis que s’il est échoué il les gardera.
2. PLANIFICATION ET GESTION
2.1 PRÉSENTATION DU ROBOT ET FONCTIONNALITÉS AVEC
MODIFICATIONS
Ce robot a été spécialement conçu pour réduire les accidents ainsi que les décès causés par
l’alcool au volant. Son travail est de s’assurer que les personnes ayant trop bu ne peuvent pas
récupérer leurs clés jusqu’à ce qu’ils soient aptes. Pour ce faire, plusieurs de ses fonctionnalités
l’aident dans sa campagne de prévention. La première est l’utilisation des boutons ainsi que
d’un écran pour naviguer dans le menu. L’utilisateur utilise par la suite le senseur d’empreinte
digitale qui permet d'enregistrer les utilisateurs et de se souvenir d’eux lorsqu’ils vont revenir
chercher leurs clés. Le robot utilise une combinaison d’une résistance flexible et d’un
servomoteur pour détecter si une clé lui a été distribuée. Une fois cette opération complétée, le
suiveur de ligne permet au robot de se déplacer jusqu’au carrousel pour capter la couleur qui
est face à lui. Avec l’émetteur-récepteur radiofréquence, le capteur peut interagir avec le
carrousel pour exécuter une rotation jusqu’à ce que la bonne couleur soit face à lui. Un
enchaînement de déplacements du robot et du servomoteur permet de déposer ou de
récupérer une clé. Finalement, le portier réutilise son suiveur de ligne pour retourner au client.
1
2.2 PLANIFICATION ET SUIVI DE PROJET DE LA FIN DE SESSION
Pour la fin de la session, l’équipe s’est bien organisée et a tout donné pour compléter le projet.
Les sept membres ont séparé le travail restant en différentes sous-catégories. Tout le monde a
su apporter leur expertise où ils étaient le plus utiles pour l’équipe. Comme il est possible de
remarquer dans la Figure 2: Histogramme du temps planifié versus réel par semaine. Les
dernières semaines ont été très chargées pour le sprint final. Étant donné que l'équipe a été
séparée en sous-équipes, tous ont travaillé de leur côté afin de finaliser leurs parties en
préparation pour la semaine finale réservé au moment le plus long de la phase de
développement, l’intégration. Des échéanciers clairs ont été établis lors de la première
rencontre de planification suivant le défi du combattant et ont été respecté. Les rencontres de
suivi répétées ont beaucoup aidé à cela.
Comme l’histogramme de la figure 2 l’indique, l'équipe s'est concentrée sur les APPs. À la
semaine 11, un retard a commencé à s'accumuler et les membres ont dû tout donner lors de la
dernière journée du défi du combattant. D’ailleurs à la semaine 15 il y a eu un autre point où les
heures sont élevées : l’intégration des fonctions a demandée beaucoup d’attention et de
concentration à l’équipe, sans mentionner tous les livrables nécessaires qui devait encore être
rédigés. L’intégration s’est donc bien passé, largement à cause de la diligence de l’équipe de
prendre de l’avance avant qu’il soit trop tard. Pour le diagramme de Gantt à la figure 1, la
planification a été légèrement mal faite, puisque ça aurait dû être plusieurs parties qu’ils sont
séparés les unes des autres avec des flèches qui montrent ce qui est en lien avec quoi. Il n'y a
que trois blocs rectangulaires qui composent le graphique, il ne sert donc pas à grand-chose.
Pour le budget, il était prévu dix dollars par personne. Malheureusement l'équipe a perdu un
coéquipier pendant le défi du combattant donc le budget a descendu à 70. On peut voir dans le
tableau 1 que le budget prévu a été dépassé. Il y a eu quelques imprévus comme un écran LCD
qui ne fonctionnait plus et un capteur d’empreinte digitale qui a eu un problème de fils brisés
donc il a fallu en racheter un. Cela a fait en sorte que le budget a été dépassé d’environ 40
dollars.
2
2.3 GESTION ET TRAVAIL EN ÉQUIPE
Pour la gestion d’équipe, en ce qui concerne nos rencontres, l'équipe s’est entendue pour en
faire une chaque semaine et qu’au moins 2 fois par semaine elle dine ensemble pour faire un
suivi des avancements pour le projet. Étant donné que l'équipe est constituée de cinq membres
qui sont de profil science, les taches ont dû être séparées en conséquence pour que tout le
monde ait accès à un technicien pour leurs tâches afin de faciliter la production. Les taches sont
aussi faites pour que tout le monde fasse des parties qui prennent environ le même nombre de
temps afin que tous travaillent dessus. Divers outils ont été utilisés afin de faire la gestion. Par
exemple, Messenger a été utilisé pour ce qui concerne la communication. Pour les rencontres et
autres informations du genre, Teams était utilisé et son outils Task by planner to do était utilisé
pour planifier et séparer les tâches entre les membres de l’équipe . Finalement la platform
Github était utilisée pour le transfert de code.
Dans notre équipe nous avions tous des rôles différents afin de mieux performer lors de nos
projets. Jacob Deniss était le maître de la documentation, responsable de trier les documents
et de les garder clairs et concis. Alexandre Falardeau ainsi que Shawn Miller étaient maîtres
techniques, responsable de développer nos normes de travail (par exemple la structure et mise
en page du code) et aussi responsable d’aider les autres membres avec des problèmes
techniques lors di développement de fonction. Justin Houde était maître des tests, responsable
de développer les batteries de tests et la nomenclature pour les plans de tests de nos fonctions.
Loïc Jolicoeur-Pomerleau était maître de la parole, responsable de garder une bonne
atmosphère de travail lors des rencontres ainsi que de ramener lors groupe à l’ordre lorsque le
discours divaguait sur des sujets non-pertinents. Gabriel Rioux était maître des scripts,
responsable de prendre des notes lors des rencontres pour garder des traces de nos démarches
et garder des idées de concept disponibles. Finalement, Nathaniel Létourneau était maître
d’équipe, responsable de céduler les réunions, réserver des salles de rencontres, préparer la
planification sur les outils utilisés, motiver l’équipe à se rencontrer et à travailler sur le projet et
garder une vue complète du projet pour l’amener vers la vision initiale de l’équipe discutée au
début de la session.
3
Figure 1: Graphique de Gantt
4
temps planifié versus réel par semaine
14
12
10
Nombre d'heures
0
Semaine Semaine Semaine Semaine Semaine Semaine Semaine Semaine Semaine Semaine Semaine Semaine Semaine Semaine Semaine Semaine
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
5
Tableau 1: Dépense prévue comparée aux dépenses réelles
Catégorie Estimée Dépensée
6
3. CONCEPTION
3.1 MÉCANIQUE
7
Figure 4 : Mise en plan du support de suiveur de ligne
8
Figure 5 : Mise en plan du support à servomoteur
9
Figure 6 : Mise en plan du suiveur de ligne
10
Figure 7 : Mise en plan du manche à clé
11
Figure 8 : Mise en plan de l’assemblage du carrousel
12
Figure 9 : Mise en plan de la base du carrousel
13
Figure 10 : Mise en plan du pivot du carrousel
14
Les figures 3 à 10 sont toutes faites du même matériel, c’est-à-dire du plastique à imprimante
3D ABS. Le matériel et la méthode de fabrication, l’imprimante 3D, ont été choisi largement
pour la facilité et de prototypage. En effet, une imprimante 3D permet de rapidement passer
d’un schéma 3D à une pièce réelle, en plus de permettre de très rapidement ajuster une pièce
avec un outil « Dremel ». De plus, fabriquer une nouvelle version d’une pièce est très rapide.
La figure 3 montre le support d’interface d’utilisateur. Le but de cette pièce était de réunir tous
les éléments avec lesquelles l’utilisateur doit interagir au même endroit pour éviter toute
confusion dans l’utilisation du robot.
La figure 4 et la figure 6 montre l’ensemble du suiveur de ligne, la première étant son support le
connectant au robot et la deuxième étant le support des capteurs optoélectroniques OPB704
eux-mêmes. Le support se connectant au robot sert à nous donner un ajustement de la distance
des capteurs optoélectroniques : c’est pour cela qu’un long canal a été extrudé pour fixer le
support à capteurs. Le support à capteur quant à lui sert simplement à fixer les capteurs dans les
trous indiqués sur la mise en plan. Il sert aussi à fixer le capteur de couleur qui vient mesurer la
couleur du carton sous le carrousel pour trouver la bonne clé.
La figure 5 montre le support à servomoteur, qui fixe le servomoteur en serre dans le trou
rectangulaire et qui se fixe au robot en se glissant sur un des montants métalliques hexagonales
du robot en utilisant son trou hexagonal. Il est fixé de cette manière puisque c’est la manière la
plus simple de le fixer plus haut que la base circulaire sans modifier ou ajouter de pièces à la
structure du robot.
La figure 7 montre le manche à clé, qui permet au robot de manipuler les clés des utilisateurs. Il
est spécialement conçu pour plier juste assez de façon à faire plier une résistance flexible coller
sous celle-ci, pour détecter lorsque l’utilisateur dépose ses clés et que le robot peut alors aller
les déposer au carrousel d’entreposage.
Les figures 8 à 10 montre le carrousel, qui sert à entreposer les clés des différents utilisateurs.
Après avoir abordés beaucoup d’idées de conception comme l’utilisation d’électroaimants ou
encore de boîtes, il a été déterminé que la manière la plus simple et la plus efficace d’entreposer
tout en étant capable de différencier les clés serait un carrousel avec des crochets
d’entreposage et des cartons de couleur sous le carrousel.
15
3.2 ÉLECTRIQUE
16
Figure 12 : Schéma électrique de l’Arduino ATMega2560
17
Figure 13 : Schéma électrique du suiveur de ligne
18
Les figures 11 à 13 montre le système électrique complet du circuit, en commençant par le
fonctionnement du carrousel, suivi de toutes les connections électriques à l’ATMEga2560 et en
finissant avec le circuit électrique analogue du suiveur de ligne.
20
3.3 INFORMATIQUE
21
Figure 15 : Logigramme du programme no. 2
22
Pour la partie de l’informatique, les figures 14 et 15 donnent un aperçu du fonctionnement du
robot. Au début, le robot est stable et attend qu’un utilisateur interagisse avec lui. Deux options
sont possibles : la première option est le dépôt des clés, et la seconde option est le retrait des
clés, dépendamment du bouton pressé.
Pour l’option de dépôt des clés, il faut appuyer sur le bouton vert. Une fois appuyé, le robot
demande de créer un identifiant avec le capteur d’empreinte digital SEN0348. Lorsque
l’empreinte du doigt est enregistrée, le robot attend qu’une clé soit déposée sur le crochet.
Après un cours délais, le robot détecte la clé et commence à avancer vers le carrousel en suivant
une ligne blanche sur le sol. Lorsque les trois suiveurs de ligne captent une ligne blanche, qui est
perpendiculaire au trajet, il s’arrête. Cette intersection indique que le robot est arrivé au
carrousel. Une fois arrêté, le capteur de couleur va scanner la couleur sous le carrousel. Si la
couleur n’est pas utilisée il va aller déposer la clé dans le carrousel, sinon il va envoyer un signal
au carrousel pour pivoter vers le prochain crochet. Une fois que le robot dépose la clé il
retourne à son lieu de départ pour être prêt à servir le prochain utilisateur.
Pour l’option du retrait, il faut appuyer sur le bouton bleu et s’identifier avec le même doigt qui
s’est enregistré plus tôt. Le robot va ensuite valider si son doigt est compatible avec les
empreintes enregistrées. Si le robot valide l’empreinte, le témoin lumineux du SEN0348 va
clignoter vert, sinon rouge. Après que le robot a validé l’utilisateur, l’écran affiche les consignes
pour l’alcootest. L’utilisateur doit souffler sur le capteur MQ3 pendant environ 10 secondes. Le
robot va ensuite valider si l’utilisateur est apte à avoir ses clés. Si le niveau d’alcool est trop
élevé, le robot va simplement afficher qu’il n’est pas apte à conduire et de revenir demain
chercher ses clés. De l’autre côté, s’y il est apte à conduire, le robot va se diriger vers le
carrousel de la même manière que le mode de dépôt des clés. Une fois rendu au carrousel, il
scan la couleur sous le carrousel, et il va valider si la couleur est reliée à l’utilisateur. Si la couleur
mesurée est la même qui est lié à l’empreinte de l’utilisateur enregistré plus tôt, il va aller
prendre la clé, sinon il va envoyer un signal au carrousel pour faire pivoter vers un autre crochet.
Une fois que la couleur est reliée à l’utilisateur, il va prendre la clé et retourner en position initial
et va redonner la clé à l’utilisateur.
23
4. SECTION DE TESTS
Tableau 2 : Tests pour les moteurs
Nom de la Entrée Résultat Test complété Explications des
fonction attendu avec succès modifications
24
Tableau 4 : Test pour le capteur de couleur
Nom de la Entrée Résultat Test complété Explications des
fonction attendu avec succès modifications
25
Tableau 5 : Tests pour l’alcootest
Nom de la Entrée Résultat Test complété Explications des
fonction attendu avec succès modifications
26
Tableau 7 : Tests pour la manipulation de clés
Nom de la Entrée Résultat Test complété Explications des
fonction attendu avec succès modifications
27
Tableau 9 : Tests pour l’écran LCD
Nom de la Entrée Résultat attendu Test complété Explications des
fonction avec succès modifications
Affichage Allumer chacune des Les DELs s’allument Oui Si ce n’est pas le
sur écran DELs les unes à la suite et s’éteignent dans cas → vérifier
de l’autre et fermer l’ordre demandé. si le composant
dans ce même ordre est défectueux.
28
Tableau 11 : Tests de senseur d’empreinte digitale
Nom de la Entrée Résultat attendu Test complété
fonction avec succès
5. BILAN DE CONCEPTION
Lors de la phase de conception, le prototype s'est comporté comme planifié et a effectué toutes
les fonctions développées de façon prédictible. L’intégration de toutes ces fonctions s'est aussi
déroulée comme prévu; les routines de dépôt et retrait de clés fonctionnent comme établi.
29
Nous avons eu à faire plusieurs modifications concernant les détails du parcours du robot. Pour
commencer, nous avons changé le mode d’entreposage des clés. Au départ, nous avions pensé à
mettre les clés dans des boites et l'équipe est venue à la conclusion qu’un carrousel avec des
crochets serait plus simple à concevoir. Ensuite, le support du suiveur de ligne a été changé
depuis le défi du combattant. L'une des premières raisons est que le capteur de couleur qui était
fixé sur le support n’était pas optimal et la distance avec le sol n’arrêtait pas de varier, donc il
était impossible d'avoir de bons résultats. Aussi, le capteur de couleur a dû être changé de côté,
il capte désormais la couleur en dessous du carrousel et non au sol. Ensuite, la première manière
de manipuler les clés était d’avoir un électroaimant. Finalement, nous avons choisi tout
simplement d’avoir un bras qui est collé sur un servomoteur pour transporter les clés. Par la
suite, nous étions censés utiliser 2 écrans LCD, mais lors de la manipulation de celle-ci un
accident est survenu le rendant inutilisable. Il a donc fallu le jeter.
Le robot a plusieurs forces et faiblesses. En ce qui concerne les points à améliorer, le robot ne
peut que contenir que quatre clés ce qui contraint l’efficience du robot. Ensuite, les clés ne
doivent pas être trop lourdes ou trop légères, car la résistance pourrait ne pas détecter la clé.
Par la suite, la communication RF est sujette à interférence avec des signaux radio
indépendants. Une autre contrainte est que notre capteur d’alcool ne peut pas capter les autres
substances illicites, par exemple : la drogue. Pour terminer, le robot ne peut pas communiquer
le temps requis pour que la personne puisse revenir chercher ses clés.
Avec plus de temps, l'équipe est arrivée à un consensus que mettre plus de temps sur
l’exécution des mouvements du robot serait bénéfique. Effectivement, l'effort des membres
serait orienté vers une finition avec des mouvements plus complexes, avec quelques opérations
qu'il n'a pas été possible de programmer dû à la grande charge de travail déjà présente, dont un
en particulier que nous avons dû oublier complètement au grand désarroi de tous: le « back flip
». De plus, les écrans auraient pu être retravaillés. Une combinaison des deux moniteurs, ou
bien seulement un écran plus large que celui présentement sur le robot aurait clarifié
l’information transmise au client. Avec un budget plus élevé, l'équipe aurait pu investir pour des
composants plus solides et fiables, puisque certains ont été brisés sans que l'on puisse les
réutiliser. L'esthétique du robot aurait pu être plus travaillée pour qu'il soit plus beau
30
physiquement, et si le budget le permettait, les membres auraient investi pour un habillage plus
« luxueux » afin d’avoir un style d’enfer lors de la présentation.
6. CONCLUSION
En conclusion, cette session fut riche en émotions. De nouvelles amitiés ont été créées pour
durer. Étant une équipe majoritairement composée de membres ayant un profil « SN », ce n’est
pas une hyperbole de dire que l’on partait à peu près de zéro. De plus, en mi-session, l'équipe a
perdu un membre important de l’équipe, le maître informatique a effectivement quitté le
baccalauréat. Ce fut une perte importante, mais les co-équipiers ont su relever le défi et
redoubler d’efforts afin de compléter le projet. Tous sont extrêmement fiers des réalisations
accomplies lors de la session. Le projet est très complexe, l'équipe a été ambitieuse, mais elle
est très satisfaite du travail accompli. Bien que le robot ne soit qu’un prototype, dans un
contexte hors scolaire, il aurait le potentiel de sauver des vies, on s’entend que c’est plus utile
que de trier des skittles ou bien faire jouer de la musique. Bref, tous les membres de l'équipe
ont su participer à l’avancement du projet dans la joie. La session tire à sa fin, il est possible que
nos chemins se séparent, cependant, 6-neuves 100 génie un jour, 6 neuves sans génie pour
toujours.
31
7. RÉFÉRENCES
[1] Faculté de génie, Université de Sherbrooke, Guide de l'étudiant S1-Projet, Sherbrooke, 2021.
[3] Adafruit, «Learn Adafruit Arduino Uses : Stepper Motors,» [En ligne]. Available:
https://learn.adafruit.com/adafruit-tb6612-h-bridge-dc-stepper-motor-driver-
breakout/using-stepper-motors. [Accès le 06 12 2021].
32
Annexe A MANUEL D’UTILISATEUR
Le robot est configuré avec deux modes : le retrait ou le dépôt d’un trousseau de clés. Lorsque
l’utilisateur approche le robot au repos, des instructions défile sur l’écran de l’interface
d’interaction. Elles sont les suivantes : « Pour un dépôt, appuyer sur le bouton vert. Pour un
retrait, appuyer sur le bouton bleu. ». Commençons avec le dépôt :
DÉPÔT
Pour entrer dans le mode dépôt, il suffit de d’appuyer sur le bouton vert situé du côté gauche du
robot par rapport à l’avant du robot.
Une fois le bouton vert appuyé, le robot affichera les manipulations pour enregistrer votre
empreinte digitale. Pour se faire, il suffit d’appuyer son doigt sur le capteur d’empreinte digitale.
Si le capteur détecte un doigt, l’écran affichera « SCAN ID ».
A
Il faudra alors garder son doigt appuyer sur le capteur jusqu’à ce qu’il clignote jaune trois fois. Il
restera alors bleu. Ceci signifie que le capteur est entré en mode enregistrement d’empreinte.
Le capteur prend 3 lectures de notre empreinte. Pour ce faire, on appuis jusqu’à ce qu’il clignote
jaune trois fois, on soulève notre doigt pour confirmer la lecture, puis on répète jusqu’à ce qu’il
clignote vert. Ceci signifie que les lectures se sont bien déroulées et qu’il a enregistré
l’empreinte. Une fois ces étapes complétées, le robot sera en attente de détections des clefs. On
doit donc déposer nos clefs sur le crochet du support à clés.
Toutes les étapes pour le dépôt sont maintenant complétées. Le robot fera le reste
automatiquement, sans aucune interaction avec l’usager.
B
Le robot suivra une ligne de ruban blanc afin de se rendre jusqu’au carrousel de clefs. Puis il
déposera les clefs sur celui-ci.
Le robot reviendra à sa position originale et retournera à son état passif, avec le menu défilant
de base.
C
Mode RETRAIT
Il affichera alors les manipulations afin de comparer notre empreinte digitale à celles qu’il a déjà
enregistrées sur l’écran LCD. Il suffit alors d’apposer le doigt sur le senseur d’empreinte digitale :
si le capteur clignote vert, l’empreinte est reconnu. Sinon, il clignote rouge. Si le l’utilisateur est
reconnu, l’écran affichera les instructions pour l’alcootest, et l’utilisateur devra souffler sur le
capteur d’alcool MQ3.
D
L’utilisateur devra souffler sur celui-ci pendant 10 secondes; si l’utilisateur n’est pas en état de
conduire, il est affiché sur l’écran de prendre un taxi. Si le l’utilisateur est sobre, le robot
procède avec le retrait, qui consiste en les mêmes étapes que le dépôt, mais le robot prend les
clés du carrousel au lieu de les déposer.