ENIB 2020 : Pêche automatique
Sommaire
L'équipe
Ajouter photo de l'équipe
BOUSRIH Rym, OUMAADI Oumaima, SOOPRAYEN PILLE Laëtitia et VASQUEZ BARBA Paola
Que fait ce projet ?
Lorsqu'un poisson est détecté grâce au capteur infrarouge, une led s'allume et le filet remonte ce qui permet de pêcher un ou plusieurs poisson. Une fois le filet relevé, la led s'éteint et le filet se remet en position de pêche.
Ajouter photo du projet terminé
Liste des composants
- 1 carte microcontrôleur Arduino nano
- 1 Servo moteur SG92R
- 4 Capteurs infrarouges TCRT50000
- 1 led rouge
- 2 Rouleaux de papier toilette vide
- 2 Planches de bois 3mm
- Un filet de pêche (Voir tutoriel : ...)
- Un bac transparent de maximum 6 cm (un bac plus large pourrait compromettre la détection des poissons)
- Vernis à ongle (de préférence transparent) ou peinture de protection
Etapes
- Lancer l'impressions des poissons sur imprimante 3D des fichiers ...
- Réaliser le filet de pêche (si il est pas déjà fait)
- Faire l'arbre moteur et le cylindre d'enroulement du filet à l'aide des rouleaux de papier toilette vide
- Découper et monter les structures en bois à l'aide des fichiers ...svg à découper au laser puis y insérer les cylindres
- Fixer le moteur à l'arbre moteur puis fixer le filet entre le cylindre d'enroulement et l'extrémité du bac à poisson puis.
- Intégrer le câblage et le montage à la structure
- Téléverser le code Arduino
- Pêcher !
Montage
Photo + Câblage Arduino
Code
// Remonter un filet de pêche lorsqu'un poisson est détecté, avec led de signalement. #include <Servo.h> Servo monservo; // crée l’objet pour contrôler le servomoteur const int Broche_Servo = 9; // Le capteur est attaché à la broche 9 const int Broche_Capteur = 3; // Le capteur est attaché à la broche 3 const int Broche_Led = 2; // Broche 2 connecté à la Led void setup() { monservo.attach(Broche_Servo); // Attache le servo à la broche spécifiée monservo.write(1); // positionne le servomoteur à 0° pinMode(Broche_Capteur, INPUT); // Met Broche_Capteur en INPUT pinMode(Broche_Led, OUTPUT); // Met Broche_led en OUTPUT } void loop() { boolean valeur = digitalRead(Broche_Capteur); // On lit la valeur du capteur if(valeur == LOW) // Si la valeur est HIGH { monservo.write(1); // Ré-initialisation digitalWrite(Broche_Led, HIGH); // Allumer la Led monservo.write(150); // Le Servo réalise un angle de 180°, le filet monte delay(5000); // Délais avant que le filet re-descende monservo.write(1); // Retour à la position initiale } else // Sinon { digitalWrite(Broche_Led, LOW); // Eteindre la Led } } // Ajouter un switch ON/OFF ? // Ajouter un bouton de réinitialisation du filet ? // Envoyer un message sur une application quand le poisson est pêché ?