Vous êtes sur la page 1sur 41

UNIVERSITÉ DE SHERBROOKE

Faculté de génie
Département de génie électrique et génie informatique

RAPPORT TECHNIQUE DE FIN DE SESSION

Projet et Communication écrite


GEN101 – GEN111

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

Sherbrooke – 9 décembre 2021


TABLE DES MATIÈRES
1. Introduction 1
2. Planification et gestion 1
2.1 Présentation du robot et fonctionnalités avec modifications 1
2.2 Planification et suivi de projet de la fin de session 2
2.3 Gestion et travail en équipe 3
3. Conception 7
3.1 Mécanique 7
3.2 Électrique 16
3.3 Informatique 21
4. Section de tests 24
5. Bilan de conception 29
6. Conclusion 31
7. Références 32
Annexe A Manuel d’utilisateur A

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

Heures planifiées moyenne Heures réelles moyenne

Figure 2: Histogramme du temps planifié versus réel par semaine

5
Tableau 1: Dépense prévue comparée aux dépenses réelles
Catégorie Estimée Dépensée

Capteur 40$ 62.87$

Esthétique 10$ 16.28$

Imprévue 30$ 27.68$

Total 80$ 106.83$

6
3. CONCEPTION
3.1 MÉCANIQUE

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
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

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
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.

La figure 11 est composée de cinq éléments : l’Arduino Uno, le pont en « H »


Conn_TBB6612FNG, le moteur pas à pas, les DELs de signal ainsi que le module de
radiofréquences NRF21L01. L’arduino uno ici a été choisi pour éviter des problèmes de
compatibilité avec le robot ainsi que sa petite taille. Le circuit ne requiert pas beaucoup
d’opération logique, mais elles sont quand même essentielles et donc un microcontrôleur est
essentiel. Le pont sert quant à lui à protéger le microcontrôleur d’un retour de courant du
moteur. Le moteur pas à pas sert à faire tourner le plateau du carrousel. Ce type de moteur a
été choisi puisqu’une grande précision est requise pour l’orientation du plateau et des crochets.
Les DELs servent simplement à créer un indicateur visuel qu’un signal est envoyé au moteur pas
à pas et qu’il devrait être en train de bouger. Finalement, le module NRF21L01 sert à
communiquer avec le robot par radiofréquences pour recevoir les instructions de rotation
dépendamment de ce que le capteur de couleur voit en dessous du carrousel. Ce module
spécifique a été choisi parce qu’un membre de l’équipe en possédait déjà un exemplaire.

La figure 12 est composée de 11 éléments : l’ATMega2560, le circuit suiveur de ligne, le module


NRF24L01, le senseur SEN0348, l’écran LCD, le senseur MQ3, le circuit de détection de clés, le
capteur de couleur, les 2 moteurs de déplacement, le servomoteur et les deux boutons.
L’ATMega2560 est le cerveau de notre robot, où tout notre code est exécuté. Il contrôle toutes
nos fonctions et a été imposé à l’équipe, puisqu’il était une des composantes de bases requises
pour le projet PIRUS. Le circuit du suiveur de ligne, détaillé dans la figure 13. Il a été développé
lors de la troisième APP et utilisé lors du défi du combattant, et il a été réutilisé pour le projet
PIRUS dans le but d’améliorer la fiabilité du robot. Le module NRF24L01 communique avec le
module NRF24L01 par radiofréquence pour pouvoir signaler au carrousel de tourner. Le senseur
SEN0348, qui sert à lire, enregistrer et comparer des empreintes digitales pour identifier les
utilisateurs, a été choisi à cause de sa compatibilité avec les systèmes Arduino et son protocole
de communication UART. Malheureusement, sa compatibilité s’est révélé mauvaise et a causé
beaucoup de problèmes et de déverminage. L’écran LCD sert à communiquer avec l’utilisateur
et a largement été choisi à cause de son prix : il était peu dispendieux. Le senseur MQ3 sert
quant à lui à mesurer la concentration d’alcool dans l’air en PPM pour pouvoir détecter si un
19
utilisateur et sobre ou sous l’influence de l’alcool. Il a lui aussi été choisi parce qu’il était peu
dispendieux. De plus, beaucoup d’exemple d’utilisation identiques à ce que l’équipe voulait
développer était disponibles sur le web, ce qui inspirait confiance à la faisabilité de la fonction.
Ensuite, le circuit de détection de clés est simplement formé d’une résistance flexible monté en
diviseur de tension : lorsqu’une clé est déposée sur le mache à clés, le résistance pli, et donc le
voltage en sortie du diviseur de tension change, ce qui peut être mesuré. La résistance flexible a
été fourni par le département de GEGI. Le capteur de couleur, développé pour le défi du
combattant, a aussi été réutilisé comme fonction pour le robot PIRUS. Celui-ci communique en
protocole I2C est directement connecter aux ports du PCB Arduino X fourni avec le robot PIRUS
de base. Les deux moteurs de déplacement, dont le code a été développé pour le défi du
déplacement, sert à faire déplacer le robot. Ils utilisent des encodeurs de roue fourni pour le
projet, et fonctionne avec la librairie LIBROBUS fourni par le département de GEGI. Le servo
moteur est lui aussi directement connecter au Arduino X, et permet de manipuler les clés de
concert avec le manche à clés. Finalement, Les boutons opèrent en utilisant des ports digitaux et
sont utiliser pour que l’utilisateurs puissent interagir avec le robot. Ils ont été fourni par le
département de GEGI.

20
3.3 INFORMATIQUE

Figure 14 : Logigramme du programme no. 1

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

Déplacement du setMotorSpeed(0,1) Moteur gauche Oui Moteur droit et


robot et avance à vitesse gauche qui
1 n’avance pas
setMotorSpeed(1,1)
droit → vérifier
le nombre de
coches
effectuées par
chaque moteur
et les forcer à
être égaux.

setMotorSpeed(0,2) Rien Oui

setMotorSpeed Moteur gauche Oui


recule
(0,-1)

Tableau 3 : Tests pour le suiveur de ligne


Nom de la Entrée Résultat Test complété Explications des
fonction attendu avec succès modifications

Suiveur de ligne Ligne blanche Le robot reste Oui Si le robot dévie de la


droite en continue centré par ligne → ajuster les
rapport à la valeurs des capteurs.
ligne tout en
avançant

Ligne blanche en Arrêt à la ligne Oui Si le robot n’arrête pas


forme de « T » →modifier le code
pour que quand les 3
capteurs captent, arrêt
si
valeur>=250→capteurs
défectueux.

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

Capteur de Mettre du rouge La valeur Oui Si la valeur n’est


couleur retournée est pas rouge
rouge modifier le
capteur pour
qu’il capte du
rouge.

Mettre bleu La valeur Oui Si la valeur n’est


retournée est pas bleue
bleue modifier le
capteur pour
qu’il capte du
bleu.

Mettre vert La valeur Oui Si la valeur n’est


retournée est pas verte
verte modifier le
capteur pour
qu’il capte du
vert.

Mettre blanc La valeur Oui Si la valeur n’est


retournée est pas blanche
blanche modifier le
capteur pour
qu’il capte du
blanc.

Autre Valeur Oui Vérifier que le


retournée = 0 capteur n’est pas
défectueux.

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

Alcootest Souffle sans alcool Une valeur de Oui Si la valeur>=250


moins de 250 capteur
ppm est défectueux.
retournée

Souffle avec alcool Une valeur de Oui Si la valeur <=250


plus de 250 ppm capteur
est retournée défectueux.

Tableau 6 : Tests pour la détection de clés


Nom de la Entrée Résultat Test complété Explications des
fonction attendu avec succès modifications

Détection de clés Déposer une clé sur La valeur Oui Si la variation


le support retournée par la n’est pas assez
résistance prononcée,
augmente modifier la
résistance du
diviseur de
tension.

Prendre une clé du La valeur Oui Si la variation


support retournée par la n’est pas assez
résistance prononcée,
diminue modifier la
résistance du
diviseur de
tension.

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

Manipulation de Demander au robot Le support se Oui Si le support ne


clés de déposer une clé centre avec le se centre pas
sur le carrousel carrousel puis →modifier les
avance pour que déplacements du
les deux robot pour les
manches soient rendre plus
dans l’anneau et précis.
le support

Tableau 8 : Tests pour l’entreposage des clés


Nom de la Entrée Résultat attendu Test complété Explications des
fonction avec succès modifications

Entreposage Aller chercher la Le carrousel tourne Oui Si le carrousel


des clés clé associée à jusqu’à ce que la bonne tourne 360
l’utilisateur #1 couleur soit détectée et degrés ou plus
le robot la récupère →le numéro
d’utilisateur a été
mal transféré.
Modifier la façon
dont le capteur
de couleur et le
senseur
d’empreinte
communiquent.

Aller chercher une Le robot effectue la Oui


clé qui n’est pas là manœuvre de retrait de
clé, par la suite il
détecte s’il y a une clé.
Il retourne dire à
l’utilisateur que ça clé
n’y est pas

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.

Afficher message Le message défile de Oui


gauche à droit

Tableau 10 : Tests pour les boutons de contrôles


Nom de la Entrée Résultat attendu Test complété Explications
fonction avec succès des
modifications

Boutons de Appuyer sur le Valeur de retour Oui Changer le


contrôle bouton vert n’égale pas 0 port, vérifier
l’alimentation.

Appuyer sur le Valeur de retour Oui Changer le


bouton bleu n’égale pas 0 port, vérifier
l’alimentation.

28
Tableau 11 : Tests de senseur d’empreinte digitale
Nom de la Entrée Résultat attendu Test complété
fonction avec succès

Senseur Mettre ton doigt sur le Le capteur détecte un doigt et Oui


d’empreinte capteur pour enregistrer enregistre son empreinte après
digitale trois analyses

Détecter un utilisateur déjà Le capteur compare l’empreinte Oui


enregistré. de ceux stockées jusqu’à ce qu’il
le trouve

Personne non à jeun vient Le capteur associe l’empreinte Oui


récupérer ses clés dont la clé du propriétaire est
sous influence et barre ses clés
pour la soirée

Tableau 12 : Tests pour la communication RF


Nom de la Entrée Résultat attendu Test complété Explications
fonction avec succès des
modifications

Communication Envoie du caractère Reçois la même Oui Vérifier


par module RF « 1 » à partir du valeur du module fréquence,
robot NRF chaîne et
alimentation.

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.

[2] DFRobot, «Wiki DFRobot SEN0348,» [En ligne]. Available:


https://wiki.dfrobot.com/Capacitive_Fingerprint_Sensor_SKU_SEN0348. [Accès le 06 12
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].

[4] HowToMechatronics, «HowToMechatronics, nRF24L01 – How It Works, Arduino Interface,


Code, Schematic,» [En ligne]. Available:
https://howtomechatronics.com/tutorials/arduino/arduino-wireless-communication-
nrf24l01-tutorial/. [Accès le 06 12 2021].

[5] Arduino, «Arduino Forum,» [En ligne]. Available: https://forum.arduino.cc/. [Accès le 06 12


2021].

[6] Université de Sherbrooke, «GitHub, UdeS-GRO/LibRobus,» [En ligne]. Available:


https://github.com/UdeS-GRO/LibRobUS. [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.

Figure 16 : Bouton vert 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 ».

Figure 17 : État de l’écran si le SEN0348 détecte un doigt

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.

Figure 18 : État du capteur d’empreinte lorsqu’il est en mode enregistrement.

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.

Figure 19 : Support à clés du robot

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.

Figure 20 : Carrousel de clés

Le robot scannera la couleur en dessous du carrousel et associera cette couleur au numéro de


l’ID du client.

Figure 21 : Dessous du carrousel

Le robot reviendra à sa position originale et retournera à son état passif, avec le menu défilant
de base.

C
Mode RETRAIT

Pour entrer dans ce mode, il faut appuyer sur le bouton bleu.

Figure 22 : Bouton bleu

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.

Figure 23 : 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.

Vous aimerez peut-être aussi