Système de comptage entrée / Sortie d'une Ruche

Bonjour,

Je suis en Terminal STI2D ont viens d'attaquer le projet "Télégestion d'une ruche".
Je recherche une solution de comptabilisation des entrées/sorties pour les abeilles d'une ruche que je dois mesurer et mémoriser par intervalle de 10 minutes. Affichage du solde et envoi d'un signal d'alerte si le solde, en fin de journée, est supérieur à 3000 (mortalité excessive lors des périodes de traitement des cultures) ou si le solde, toutes les 10 minutes, dépasse 500 (Risque d'essaimage).

J'avais penser à me procurer une carte arduino uno pour y incrémenter un capteur capteur photo-électrique à fourche : http://www.conrad.fr/ce/fr/product/179999/Capteur-photo-electrique-a-fourche-EE-SX1041.

Je doit vous avouer que je suis vraiment novice en la matière que sa soit au niveau du langage de programmation que les montages de circuit électrique. :s

Tout conseil sera bon à prendre. :slight_smile: Merci.

Hello,

Je ne vois pas bien comment tu vas mesurer les entrées sorties d'abeilles avec ce type de capteur.

  • Si la ruche ressemble à une ruche "standard" plusieurs abeilles peuvent entrer et sortir à un même moment. A moins de poser un paquet de capteurs tels que celui-là, tu ne vas pas comptabiliser grand chose.

  • D'autre part, ce type de capteur détecte la présence de quelque chose entre les fourches, mais pas le sens du déplacement Il faudrait deux capteurs de ce type pour déterminer le sens dans lequel le passage s'effectue.

Trouver un moyen de de détecter le passage des abeilles sur une grande longueur est donc le premier problème. Déterminer le sens de ce passage est le second.

Une double rangée de capteurs infrarouges est peut-être une piste de réflexion. (Il faut aussi trouver un système qui ne perturbe pas le comportement des abeilles)
Un comptage vidéo est peut-être une option à explorer.
Et il existe certainement quantité d'autres pistes de réflexion.

Dans tous les cas, c'est un joli projet et la conception sera intéressante à suivre.

Bonne continuation !

Coyotte

bonjour,
une recherche sur le forum te donnera plus d'info.
il y a plusieurs sujets sur les ruches avec des pro des abeilles

sujet deja traité, avec un systeme complet,
a toi de rechercher

Bonjour,

je travaille sur le même sujet que toi mais pas pour le même niveau d'études (moi c'est 3° année de retraite :wink: )
je te donne quelques pistes à instruire
comme dit "coyotte" il ne suffit pas de compter il faut aussi déterminer le sens de passage donc mini 2 fourches optiques
sur une ruche, lors des fortes miellées, on peut arriver a 700 E/S par minute donc il faut multiplier les "portes" (je pense faire une maquette avec 16 portes)
les abeilles sont assez rapides dans un passage étroit (environ 0.1s pour passer les 2 fourches) donc il faut compter très très vite
les abeilles n'ont pas une forme bien régulière (antennes, pattes, ...) donc la détection dans une fourche n'est pas un simple 0 ou 1 donc filtrage, seuil, ...

pour ce qui est du cahier des charges :

iSpiRk:
Affichage du solde et envoi d'un signal d'alerte si le solde, en fin de journée, est supérieur à 3000 (mortalité excessive lors des périodes de traitement des cultures) ou si le solde, toutes les 10 minutes, dépasse 500 (Risque d'essaimage).

je ne pense pas qu'une différence E/S de 500 en 10 minutes puisse être l'image unique d'un essaimage, lors des miellées le temps d'aller retour d'une butineuse dépend de la distance à parcourir (plusieurs km), lors des périodes très chaudes les abeilles sont parfois obligées de sortir de la ruche pour réguler la température (elles se regroupent à l'extérieur "elles font la barbe")

je suivrais de près tes avancées sur le sujet
bonne réflexion .....

Mise à jour : J'ai reçu mes composant j'en suis aux testes unitaire de chacun je viens de finir de tester mon afficheur lcd 1602A maintenant je m'attaque aux capteurs infrarouge que je utilisent avec une platine grove sur l'arduino pour simuler une barrière ir. Un conseil ? :stuck_out_tongue:

Salut;

Pour la gestion du comptage.

Pense au système de gestion des flux utilisé par la DDE pour le comptage de fréquentation avant travaux.

A plus !!

Mise à jour: J'ai pas mal avancé sur l'infrarouge , j'arrive à simuler et détecter le comptage ou le décomptage lors d'un passage d'un objet devant le faisceau d'un couple et à l'afficher sur mon LCD , le problème c'est que la librairie IRremote.h nous oblige à définir l'émetteur sur D3 par conséquent je voudrais donc savoir comment chaque récepteur puisse dépendre de son émetteur qui lui est propre pour pouvoir décompter lorsque qu'un objet passe devant le couple 1 et décompter lorsque qu'il passe devant le couple 2.

Voici mon code :

// IR_Beam2

#include <LiquidCrystal.h> 

#include <IRremote.h> 

#define PIN_IR_A //>> Emetteur du 1er couple (??? problème ???)

#define PIN_IR_B 3 //  Emetteur du 2ème couple (OK)

#define PIN_IR_RCV_A 4 // le recepteur IR du 1er couple

#define PIN_IR_RCV_B 5 // le recepteur IR du 2ème couple

#define COUPURE 1

// pour que le faisceau soit coupé, il faut un objet
// opaque et assez étendu


IRsend irsend; // objet qui permet de générer le signal pulsé

int etat = 0;

int compte = 0;

LiquidCrystal lcd(12, 11, 9, 8, 7, 6);

void setup()
{
 
lcd.begin(16,2);
 
pinMode(PIN_IR_A , OUTPUT);
 
pinMode(PIN_IR_B , OUTPUT);
 
pinMode(PIN_IR_RCV_A, INPUT);
 
pinMode(PIN_IR_RCV_B, INPUT);  
  

 
 irsend.enableIROut(38); // crée une sortie modulée à 38 Khz 
 
 Serial.begin (19200);
}

void loop() {
 

irsend.mark(0); // envoi signal modulé de façon continue
       
 
etat = digitalRead(PIN_IR_RCV_A) ; // lecture
 
delay (5); // on fait une deuxième lecture
 
etat = etat * digitalRead(PIN_IR_RCV_A) ;

 if ( etat == COUPURE ) { // si les deux lectures voient une coupure      
    
             
          
     Serial.println( "Coupure !" ); // Si le moniteur affiche coupure 
     compte++;                        // alors on compte
     Serial.println( compte );      // Affiche le nombre d'entrée sur le moniteur
     lcd.setCursor(0,0);
     lcd.print(compte);              // Affiche le nombre d'entrée sur le LCD
       
      delay(1000);
     


   
  
 } else {
          
     Serial.println( "---------OK----------- !");    
      
     
       
 }
 irsend.space(0); // arret signal modulé 

delay(5);    
 
 irsend.mark(0);  // envoi signal modulé de façon continue
 
 etat = digitalRead(PIN_IR_RCV_B) ; // lecture
 
delay (5); // on fait une deuxième lecture
 
etat = etat * digitalRead(PIN_IR_RCV_B) ;

 if ( etat == COUPURE && Serial.println( "---------OK----------- !"))  { // si les deux lectures voient une coupure      
    
             
          
     Serial.println( "Coupure !" ); // Si le moniteur affiche coupure 
     compte--;                          // alors on décompte
     Serial.println( compte );      // Affiche le nombre de sortie sur le moniteur
     lcd.setCursor(0,0);
     lcd.print(compte);             // Affiche le nombre de sortie sur le LCD
       
      delay(1000);
 
} else {
     
     Serial.println( "---------OK----------- !");
 
 }
 
irsend.space(0); // arret signal modulé 

delay(5);    
    
}

iSpiRk:
Mise à jour: J'ai pas mal avancé sur l'infrarouge , j'arrive à simuler et détecter le comptage ou le décomptage lors d'un passage d'un objet devant le faisceau d'un couple et à l'afficher sur mon LCD , le problème c'est que la librairie IRremote.h nous oblige à définir l'émetteur sur D3

bonjour
Question :
Pourquoi utiliser la lib IRremote ?
2 diodes IR et 2 phototransistor IR utilisés en mode TOR feront bien mieux l'affaire

Parce que au début j'ai pris des capteur grove , du coup j'ai couper la connectique des capteur de sorte à pour voir le faire en TOR pour éviter ce problème mais je ne sais pas comment faire en suite.

iSpiRk:
Oui je sais bien mais j'ai pris des capteurs grove du coup j'ai couper la connectique des capteur de sorte à pour voir le faire en TOR pour éviter ce problème mais je ne sais pas comment faire en suite.

bon , photos exacte de ton "bidouillage" :sunglasses:
tes leds IR sont modulées ou en illumination constante ?

Modulées et ci-joint : Screenshot - b399a28b03d4a43ca0437224355deba5 - Gyazo
Screenshot - cf4b696ae58f31aefa30e104ad4c1c80 - Gyazo

C'est quand même pénible ces personnes qui ne veulent pas fairte l'effort de comprendre comment fonctionne le forum.

Il n'y a que DEUX messages épinglés, c'est si difficile de les lire ?

Heureux ?

Quand je vais sur un nouveau forum il ne me vient pas à l'idée d'envoyer un message sans consulter au préalable les règes de ce forum.
C'est simplement une question de respect des autres et de se dire que l'on vit en communauté et donc on n'est pas seul au Monde.