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

De Les Fabriques du Ponant
Aller à : navigation, rechercher
(Liste des composants)
(Etapes)
 
(13 révisions intermédiaires par un autre utilisateur non affichées)
Ligne 1 : Ligne 1 :
==Photo de l'équipe==
+
==L'équipe==
 +
 
 +
'' Ajouter photo de l'équipe ''
 +
 
 +
 
 +
* BOUSRIH Rym
 +
* OUMAADI Oumaima
 +
* SOOPRAYEN PILLE Laëtitia
 +
* SPINDLER Thomas
 +
* VAZQUEZ BARBA Paola del Pilar
  
 
==Que fait ce projet ? ==
 
==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.
 
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==
 
==Liste des composants==
Ligne 8 : Ligne 20 :
 
* 1 carte microcontrôleur Arduino nano [[Fichier:Carte-microcontroleur-arduino-nano-65250.jpg|50px|vignette|centré]]
 
* 1 carte microcontrôleur Arduino nano [[Fichier:Carte-microcontroleur-arduino-nano-65250.jpg|50px|vignette|centré]]
 
* 1 Servo moteur SG92R [[Fichier:Servo moteur SG92R.jpg|50px||vignette|centré]]
 
* 1 Servo moteur SG92R [[Fichier:Servo moteur SG92R.jpg|50px||vignette|centré]]
* 4 Capteurs infrarouges TCRT50000 [[Fichier:Capteur infrarouge TCRT5000.jpg|50px||vignette|centré]]
+
* 2 Capteurs infrarouges TCRT50000 [[Fichier:Capteur infrarouge TCRT5000.jpg|50px||vignette|centré]]
 
* 1 led rouge [[Fichier:LED rouge.jpg|50px||vignette|centré]]
 
* 1 led rouge [[Fichier:LED rouge.jpg|50px||vignette|centré]]
 
* 2 Rouleaux de papier toilette vide[[Fichier:PQ vide.jpg|50px|vignette|centré]]
 
* 2 Rouleaux de papier toilette vide[[Fichier:PQ vide.jpg|50px|vignette|centré]]
Ligne 15 : Ligne 27 :
 
* Un bac transparent de maximum 6 cm (un bac plus large pourrait compromettre la détection des poissons)  
 
* 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
 +
* Des câbles dupont
  
 
==Etapes==
 
==Etapes==
  
# Faire imprimer les poissons sur imprimante 3D des fichiers ...  
+
# Lancer l'impressions des poissons sur imprimante 3D des fichiers ...  
 
# Réaliser le filet de pêche (si il est pas déjà fait)  
 
# Réaliser le filet de pêche (si il est pas déjà fait)  
# Réaliser l'arbre moteur et le cylindre d'enroulement du filet à l'aide des rouleaux de papier toilette vide
+
[[Fichier:Filet.jpg|vignette]]
# Réaliser le câblage
+
# Faire l'arbre moteur et le cylindre d'enroulement du filet à l'aide des rouleaux de papier toilette vide
#
+
[[Fichier:Bois partie.jpg|vignette]]
 +
# 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
 +
[[Fichier:ARDUINO.jpg|vignette]]
 +
# Téléverser le code Arduino
 +
# Pêcher !
  
 
==Montage==
 
==Montage==
  
Photo + Câblage Arduino
+
''Photo + Câblage Arduino''
  
==Code==
+
// Remonter un filet de pêche lorsqu'un poisson est détecté avec led de signalement.  
<pre>
 
// Remonter un filet de pêche lorsqu'un poisson est détecté, avec led de signalement.  
 
  
 
#include <Servo.h>
 
#include <Servo.h>
Ligne 36 : Ligne 53 :
 
Servo monservo;                                    // crée l’objet pour contrôler le servomoteur
 
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_Servo = 9;                        // Le capteur est attaché à la broche 9
const int Broche_Capteur = 3;                       // Le capteur est attaché à la broche 3
+
const int Broche_Capteur1 = 3;                     // Le capteur est attaché à la broche 3
 +
const int Broche_Capteur2 = 4;                      // Le capteur est attaché à la broche 4
 
const int Broche_Led = 2;                          // Broche 2 connecté à la Led
 
const int Broche_Led = 2;                          // Broche 2 connecté à la Led
 +
const int Broche_Button = 7;
  
 
void setup()
 
void setup()
Ligne 43 : Ligne 62 :
 
   monservo.attach(Broche_Servo);                    // Attache le servo à la broche spécifiée
 
   monservo.attach(Broche_Servo);                    // Attache le servo à la broche spécifiée
 
   monservo.write(1);                                // positionne le servomoteur à 0°
 
   monservo.write(1);                                // positionne le servomoteur à 0°
   pinMode(Broche_Capteur, INPUT);                  // Met Broche_Capteur en INPUT
+
   pinMode(Broche_Capteur1, INPUT);                  // Met Broche_Capteur en INPUT
 +
  pinMode(Broche_Capteur2, INPUT);
 
   pinMode(Broche_Led, OUTPUT);                      // Met Broche_led en OUTPUT
 
   pinMode(Broche_Led, OUTPUT);                      // Met Broche_led en OUTPUT
 +
  pinMode(Broche_Button, INPUT);
 
    
 
    
 
}
 
}
Ligne 51 : Ligne 72 :
 
void loop()
 
void loop()
 
{
 
{
   boolean valeur = digitalRead(Broche_Capteur);     // On lit la valeur du capteur
+
   boolean valeur1 = digitalRead(Broche_Capteur1);  // On lit la valeur du capteur1
   if(valeur == LOW)                                 // Si la valeur est HIGH
+
  boolean valeur2 = digitalRead(Broche_Capteur2);   // On lit la valeur du capteur2
 +
  boolean etatBouton = digitalRead(Broche_Button);
 +
   if (valeur1 == LOW || valeur2 == LOW)               // Si la valeur est HIGH
 
   {  
 
   {  
 
     monservo.write(1);                              // Ré-initialisation
 
     monservo.write(1);                              // Ré-initialisation
 
     digitalWrite(Broche_Led, HIGH);                // Allumer la Led
 
     digitalWrite(Broche_Led, HIGH);                // Allumer la Led
 
     monservo.write(150);                            // Le Servo réalise un angle de 180°, le filet monte  
 
     monservo.write(150);                            // Le Servo réalise un angle de 180°, le filet monte  
     delay(5000);                                    // Délais avant que le filet re-descende
+
                                                    //Remonté du filet
     monservo.write(1);                             // Retour à la position initiale
+
     if (etatBouton==HIGH)                           // test si bouton appuyé
 +
     {
 +
    monservo.write(1);
 +
    }
 +
    delay(100); //petite attente
 
   }
 
   }
 +
 
   else                                              // Sinon
 
   else                                              // Sinon
 
   {
 
   {
Ligne 68 : Ligne 96 :
 
// Ajouter un switch ON/OFF ?  
 
// Ajouter un switch ON/OFF ?  
 
// Ajouter un bouton de réinitialisation du filet ?  
 
// Ajouter un bouton de réinitialisation du filet ?  
// Envoyer un message sur une application quand le poisson est pêché ?  
+
// Envoyer un message sur une application quand le poisson est pêché ?
 
 
</pre>
 
  
 
==Catégories==
 
==Catégories==
  
 
[[Catégorie:Enib2020]]
 
[[Catégorie:Enib2020]]

Version actuelle datée du 28 janvier 2020 à 14:10

L'équipe

Ajouter photo de l'équipe


  • BOUSRIH Rym
  • OUMAADI Oumaima
  • SOOPRAYEN PILLE Laëtitia
  • SPINDLER Thomas
  • VAZQUEZ BARBA Paola del Pilar

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
    Carte-microcontroleur-arduino-nano-65250.jpg
  • 1 Servo moteur SG92R
    Servo moteur SG92R.jpg
  • 2 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
  • Des câbles dupont

Etapes

  1. Lancer l'impressions des poissons sur imprimante 3D des fichiers ...
  2. Réaliser le filet de pêche (si il est pas déjà fait)
Erreur lors de la création de la miniature : Fichier avec des dimensions supérieures à 12,5 MP
  1. Faire l'arbre moteur et le cylindre d'enroulement du filet à l'aide des rouleaux de papier toilette vide
Erreur lors de la création de la miniature : Fichier avec des dimensions supérieures à 12,5 MP
  1. Découper et monter les structures en bois à l'aide des fichiers ...svg à découper au laser puis y insérer les cylindres
  2. Fixer le moteur à l'arbre moteur puis fixer le filet entre le cylindre d'enroulement et l'extrémité du bac à poisson puis.
  3. Intégrer le câblage et le montage à la structure
Erreur lors de la création de la miniature : Fichier avec des dimensions supérieures à 12,5 MP
  1. Téléverser le code Arduino
  2. Pêcher !

Montage

Photo + Câblage Arduino

// Remonter un filet de pêche lorsqu'un poisson est détecté avec led de signalement.

  1. 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_Capteur1 = 3; // Le capteur est attaché à la broche 3 const int Broche_Capteur2 = 4; // Le capteur est attaché à la broche 4 const int Broche_Led = 2; // Broche 2 connecté à la Led const int Broche_Button = 7;

void setup() {

 monservo.attach(Broche_Servo);                    // Attache le servo à la broche spécifiée
 monservo.write(1);                                // positionne le servomoteur à 0°
 pinMode(Broche_Capteur1, INPUT);                   // Met Broche_Capteur en INPUT
 pinMode(Broche_Capteur2, INPUT);
 pinMode(Broche_Led, OUTPUT);                      // Met Broche_led en OUTPUT
 pinMode(Broche_Button, INPUT);
 

}


void loop() {

 boolean valeur1 = digitalRead(Broche_Capteur1);   // On lit la valeur du capteur1
 boolean valeur2 = digitalRead(Broche_Capteur2);   // On lit la valeur du capteur2
 boolean etatBouton = digitalRead(Broche_Button);
 if (valeur1 == LOW || valeur2 == 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 
                                                   //Remonté du filet 
   if (etatBouton==HIGH)                           // test si bouton appuyé
   {
    monservo.write(1);
   }
    delay(100); //petite attente
 }
 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