Le but de ce projet était de réaliser en 5 jours un prototype de maison des pièges.
Il s’agissait de créer une console de commande permettant :
- repérer l’avancée des intrus
- activer les pièges de façon manuelle
- activer les pièges en mode automatique
Nous avons utilisé pour piloter la console de commande un micro-contrôleur Arduino Uno qui a l’avantage d’être facilement programmable et libre.
Pour modéliser la maison, nous avons utilisé des lego en grande quantité ainsi que du polystyrène. Le prototype avait cet aspect :
Le capot de la console a été réalisée à l’aide d’une imprimante 3D et du logiciel SolidWorks.
Nous avons choisi de réaliser 4 pièges pour notre prototype. Il ne tient qu’à vous d’améliorer cette liste avec des inventions de votre cru.
- La porte qui se referme et se verrouille
- La hache qui traverse le couloir
- La boule qui dévale le couloir
- Les pics sortant du sols
I Fonctionnement des pièges
Pour les pièges, ils étaient tous constitués par des servomoteurs analogiques. Ces servomoteurs possèdent 3 entrées :
- 5v : reliée directement à la sortie 5V de l’Arduino
- GND : reliée à la masse de l’Arduino
- Signal : permet à la fois de demander au servomoteur de se placer à un angle précis et de renvoyer sa position
L’utilisation de servomoteurs nécessite d’utiliser une classe spéciale « Servo » pour la programmation de l’Arduino (plus d’informations ici).
II Repérer les intrus
Le principe est que l’utilisateur qui commande les pièges puisse suivre la progression des intrus dans la maison.
Ainsi chaque piège aura un capteur et une LED associée (la diode s’allumera si le capteur voie un intrus). Comme cela, l’utilisateur pourra déclencher ses pièges au meilleur moment.
Pour repérer les intrus, nous utilisons des capteurs de distance infrarouges. Ceux-ci possèdent 2 pattes 5V et masse ainsi qu’une patte signal qui renvoie une valeur permettant de déterminer la distance entre le capteur et l’obstacle repéré. Nous avons codé cela de façon très simple. Nous avons placé nos capteurs et déterminé pour chacun d’eux une valeur limite au delà de laquelle on considérait que l’intrus était en vue. Les diodes elles s’allumaient simplement lorsque leur capteur respectif renvoyait un signal dépassant cette valeur limite.
III Activation manuelle des pièges
Lorsque l’utilisateur voie une diode qui s’allume, cela lui annonce qu’un intrus se situe à bonne portée du piège activé par le bouton juste en dessous. Il y a cependant deux exceptions :
- La diode verte en haut à gauche annonce lorsque la porte est fermée ou non
- La diode orange et le bouton noir à gauche commande la partie automatique
Nous utilisons le circuit suivant pour chaque bouton (la LED est juste là pour des tests intermédiaires).
Lorsque l’utilisateur appuie sur le bouton, cela déclenche une séquence de mouvement du servomoteur associé au piège. Pour le piège de la porte, cela allume en plus la DEL verte si celle-ci est fermée.
IV Mode automatique
Lorsque l’utilisateur appuie sur le bouton noir, cela active ou désactive le mode automatique. La diode orange juste au dessus est allumée si le mode automatique est activée.
A ce moment là, les boutons d’activation manuelle des pièges ne fonctionnent plus. Les pièges s’activeront si un intrus se place devant le capteur associé au piège. Il est important de noter que la porte restera fermée en mode automatique dès que quelqu’un se sera placé une fois devant son capteur.
V Problèmes rencontrés
Nous avons eu des problèmes dans la réalisation du mode automatique, le bouton étant certainement faussé, nous avons opté au dernier moment pour un simple fil conducteur pour établir (ou non) la liaison assurée précédemment par le bouton poussoir. De même, le piège des pics fonctionnait mal à cause des frottements entre les pics et les trous par lesquels ils passaient. Du coup, l’ascenseur faisait monter les pics mais ceux-ci restaient bloqués et ne redescendaient pas tout seul.
Mais le plus problématique était qu’au départ, lorsqu’on a voulu relié tous nos composants à l’Arduino, le programme qui fonctionnait parfaitement pour chaque piège individuellement ne marchait plus pour tous les pièges. Ceci étant du au fait que presque la totalité des pattes de l’Arduino étaient réquisitionnées pour ce montage. Nous avons donc coupé le programme en deux afin de séparer notre circuit sur 2 Arduinos différents. Il fallait alors que l’Arduino qui gérait le mode automatique avertisse l’autre lorsque ce mode était activé. ceci a été réalisé en reliant deux entrées/sorties de ces Arduinos et en demandant à celui qui gérait l’automatique d’envoyer l’information au deuxième.
Voici un schéma plus général sur les liaisons des deux Arduinos :
Bonjour, je travaille pour un fablab dans les deux-sèvres et je trouve votre projet très intéressant. Il est ludique et fait appel à différentes petites choses que je voudrais recréer sur notre fablab.
Vous serez t’il possible de nous partager des informations plus complètes ainsi que des codes ?
Vous en remerciant d’avance . Cordialement