avis pour projet comptage entées/sorties d'abeilles

Bonjour à tous,
j’ai réalisé et mis en service la première phase de mon premier projet Arduino : une ruche pédagogique instrumentée et connectée au web visible ici http://ruche.dolomoise.free.fr
j’aurais besoins de vos avis et conseils pour la deuxième phase : le comptage des entrées/sorties des abeilles
Comme l’Arduino MEGA semble déjà bien occupé (mesures toutes les minutes, pluie et vent gérés par interruption, serveur web, …) j’ai imaginé d’utiliser un deuxième Arduino uniquement pour le comptage, j’ai opté pour un DUE pour sa rapidité (en théorie il peut y avoir 700 mouvements par minute mais pas forcement répartis sur toutes les entrées), les deux Arduino seront connectés par une liaison série matérielle, le DUE transmet les E/S toutes les minutes et le MEGA fait la somme sur 15mn pour les déverser sur MYSQL
Les capteurs seront des fourches infra-rouge optiques (HY860), il est prévu 16 trous d’entrées/sorties équipées de 2 fourches chacune pour détecter le sens de passage. l’alimentation des leds se fera en 4 séries de 8 sous 25mA 12v par contre je m’interroge sur l’acquisition des 32 photo-transisors : faut il intercaler un composant trigger ou le faire directement sur le DUE du fait que le passage d’une abeille n’est pas aussi franc qu’un autre obstacle … Si j’ai bien lu le seuil bas de l’Arduino est < 1/3 et le haut > 2/3 par rapport a sa tension de fonctionnement donc 1.1v et 2.2v pour le DUE, si j’intercale un inverseur trigger type 40106 est ce que j’améliore le système ???
autre interrogation : vu que les 700 E/S peuvent se répartir sur une dizaine de fourches (pas moyen de les dresser ces filles), faut il envisager de faire l’acquisition en assembleur par groupe (a condition d’avoir réparti judicieusement les fouches sur les ports) ou puis je rester sur des digitalRead ???
merci de me donner vos avis éclairés
j’aurais sans doutes, plein d’autres questions …

En ce qui concerne les triggers, je déporte généralement ce type de contrôle sur un composant externe plutôt que de le traiter sur l’Arduino ; les signaux de sortie sont francs, sans avoir la nécessité de concevoir du code supplémentaire pour gérer les niveaux et les délais éventuels. Forcément, il y a du câblage en plus…

Pour ce qui est de l’acquisition avec le digitalRead, un lien en ce qui concerne l’augmentation de la vitesse de lecture de ce type de port. On ne sait jamais…

Les fonctions digitalXXXX sont lentes parce que : 1) les fonctions font une série de test pour s'assurer que l'utilisateur n'a pas fait de bêtise. 2) surtout parce que les macros qui servent à transformer les références ATmel (Nom de port, indice dans le port) en liste Arduino (D0 à Dxx) utilisent PROGMEN.

digitalFast qui court-circuite les vérifications inutiles ne fait pas vraiment gagner en rapidité car le ralentissement est concentré dans PROGMEN.

La dernière version de l'IDE Wiring a supprimé le recourt à PROGMEN et a réécrit digitalWrite et digitalRead qui se nomment maintenant pinWrite et pinRead

68tjs: La dernière version de l'IDE Wiring a supprimé le recourt à PROGMEN et a réécrit digitalWrite et digitalRead qui se nomment maintenant pinWrite et pinRead

est elle compatible avec le DUE ??

en fait je pensais câbler les 16 fourches intérieur sur un port(x) pins 0 à 15 et les 16 fourches extérieures sur un port(y) pins 0 à 15 pour pouvoir les lire en une seule instruction et les comparer bit a bit pour détecter les passages mais je ne trouve pas dans la doc du DUE une suite de 16 pins disponibles (et cablés) dans les différents ports

standardUser: En ce qui concerne les triggers, je déporte généralement ce type de contrôle sur un composant externe plutôt que de le traiter sur l'Arduino ; les signaux de sortie sont francs, sans avoir la nécessité de concevoir du code supplémentaire pour gérer les niveaux et les délais éventuels. Forcément, il y a du câblage en plus...

en l'absence d'abeille je pense que mon photo-transistor sera bien saturé donc proche de 0v, mais quand une abeille passe devant je ne suis pas sur de le bloquer totalement donc je n'arriverais certainement pas a 3.3v (j'aurais par ex 2v) d’où ma question est ce qu'il vaut mieux mettre un inverseur trigger type 40106 ou cabler direct sur les entrées de l'Arduino sachant que je compte faire des acquisitions digitales et pas analog ?

j'ai trouvé cela, peut etre que tu l'as deja lu

http://www.david-romeuf.fr/Apiculture/ArticleSNACompteurAbeilles.pdf

Mais j'aurais des questions a propos des ruches en privée si cela te gene pas.

Bonjour,

Projet intéressant !

Pour ton problème de comptage, je ne sais pas si tu as vu cet article ?

Apparemment, il s’en sort avec un petit Teensy…

Je suis moi-même en cours de réalisation d’un système de surveillance de mes ruches. Mon système tourne depuis plusieurs semaines sur mon établi.
J’ai commencé la partie mesure du poids hier, après avoir reçu (enfin) le matériel, notamment le plateau sur lequel j’ai fixé la sonde de poids.

J’ai commencé un article sur mon site où je rassemble mes (maigres) connaissances.

Les données (fictives) sont visibles en ligne ici.

hazerty565: j'ai trouvé cela, peut etre que tu l'as deja lu http://www.david-romeuf.fr/Apiculture/ArticleSNACompteurAbeilles.pdf

oui c'est un des articles que j'ai consulté avant de me lancer dans ce nouveau projet

Mais j'aurais des questions a propos des ruches en privée si cela te gene pas.

non pas de gène, mais je débute en apiculture ...

tk5ep: Bonjour, Projet intéressant ! Pour ton problème de comptage, je ne sais pas si tu as vu cet article ? Apparemment, il s'en sort avec un petit Teensy...

oui j'ai lu aussi

Je suis moi-même en cours de réalisation d'un système de surveillance de mes ruches. Mon système tourne depuis plusieurs semaines sur mon établi. J'ai commencé la partie mesure du poids hier, après avoir reçu (enfin) le matériel, notamment le plateau sur lequel j'ai fixé la sonde de poids. J'ai commencé un article sur mon site où je rassemble mes (maigres) connaissances. Les données (fictives) sont visibles en ligne ici.

Étonnant nos projets se ressemblent comme deux goutes d'eau (mon instrum ici http://ruche.dolomoise.free.fr/instrum ) mais je suis moins perfectionniste que toi (j'ai raccourci le câble de la LC6E ;-))) et j'ai mis le HX711 dans une boite métallique au plus près), et sur certains sujets tu es plus en avance que moi (graphiques sur le site web) sur d'autres j'ai peut être un peu d'avance (utilisation de l'eeprom de la rtc pour sauvegarder certains paramètres) En plus nous avons pleins de points d’intérêts commun : La Corse (j'adore, j'y vais tous les 3 ans) , l'apiculture de loisir, la rando, les photos, ...

Effectivement, nos projets se ressemblent !

J'ai encore un peu de travail pour mettre au point la partie mesure poids que je commence, et l'économie d'énergie. Mon bazar sera alimenté par batterie et sur un rucher distant. Je vais devoir grapiller des mA partout où je peux !

Je sauvegarde quelques données sur l'eeprom de l'AVR. Je n'écris pas souvent et je souhaite dessouder l'eeprom de la RTC pour économiser quelques uA...

J'aurais quelques questions au sujet de la sonde LC6E et le HX711. En mail privé pour ne pas alourdir ton post.

Ma 1ère balance tourne depuis ce matin, et sans aucune précaution, je trouve le résultat encourageant ! Je vais cependant faire un circuit imprimé mieux blindé et avec un régulateur de tension faible bruit. J'ai aussi constaté qu'un simple flux d'air chaud fait varier la mesure, alors entre le plein soleil et les nuits d'hiver...

je reviens a mes interrogations :

68tjs: La dernière version de l'IDE Wiring a supprimé le recourt à PROGMEN et a réécrit digitalWrite et digitalRead qui se nomment maintenant pinWrite et pinRead

est elle compatible avec le DUE ??

en fait je pensais câbler les 16 fourches intérieur sur un port(x) pins 0 à 15 et les 16 fourches extérieures sur un port(y) pins 0 à 15 pour pouvoir les lire en une seule instruction et les comparer bit a bit pour détecter les passages mais je ne trouve pas dans la doc du DUE une suite de 16 pins disponibles (et cablés) dans les différents ports

en l'absence d'abeille je pense que mon photo-transistor sera bien saturé donc proche de 0v, mais quand une abeille passe devant je ne suis pas sur de le bloquer totalement donc je n'arriverais certainement pas a 3.3v (j'aurais par ex 2v) d’où ma question est ce qu'il vaut mieux mettre un inverseur trigger type 40106 ou cabler direct sur les entrées de l'Arduino sachant que je compte faire des acquisitions digitales et pas analog ?

Je ne connais ni le DUE, ni ton HY860 pour lequel je n'ai trouvé aucune doc...

Pour le DUE, il faudrait lire la doc du processeur et le schéma du DUE pour voir comment ont été utilisés les ports du processeur. Il n'y a peut-être effectivement pas de ports 16 bits. Après, s'il te faut 2 instructions pour lire 16 bits... Par ailleurs, je ne suis pas certain que de simples digitalread() ne soient pas suffisants...

Nos abeilles ne sont pas encore ultrasoniques !

Les spécialistes sue ce forum vont certainement pouvoir t'aider !

Pour ton photo-transistor, je n'ai pas trouvé de doc... Il faudrait connaitre le gain de l'ensemble pour savoir plus ou moins comment va réagir le tout. Mais le mieux est de faire un simple essai ? Si tu veux jouer la sécurité, tu peux mettre en forme.

A mon avis, tout se passera bien tant que le passage des abeilles devant les cellules sera bien "propre" à savoir une abeille à la fois et bien détachée de la suivante. Mais les jours de collecte, elles sont souvent collées les unes aux autres et le taux d'erreur sera alors important.. plus important que les quelques comptages ratés à cause du temps de traitement.

tk5ep je t'ai envoyé un MP