ENIB 2020 : Pêche automatique : Différence entre versions

De Les Fabriques du Ponant
Aller à : navigation, rechercher
(Etapes)
(Liste des composants)
Ligne 13 : Ligne 13 :
 
* 2 Planches de bois 3mm
 
* 2 Planches de bois 3mm
 
* Un filet de pêche (''Voir tutoriel : ...'')
 
* Un filet de pêche (''Voir tutoriel : ...'')
* Un bac transparent
+
* 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
 
* Vernis à ongle (de préférence transparent) ou peinture de protection
  

Version du 19 janvier 2020 à 17:32

Photo de l'équipe

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.

Liste des composants

  • 1 carte microcontrôleur Arduino nano
    Carte-microcontroleur-arduino-nano-65250.jpg
  • 1 Servo moteur SG92R
    Servo moteur SG92R.jpg
  • 4 Capteurs infrarouges TCRT50000
    Capteur infrarouge TCRT5000.jpg
  • 1 led rouge
    LED rouge.jpg
  • 2 Rouleaux de papier toilette vide
    PQ vide.jpg
  • 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

  1. Faire imprimer les poissons sur imprimante 3D des fichiers ...
  2. Réaliser le filet de pêche (si il est pas déjà fait)
  3. Réaliser l'arbre moteur et le cylindre d'enroulement du filet à l'aide des rouleaux de papier toilette vide
  4. Réaliser le câblage

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

Catégories