comptage d'objets par minute ( aide )

bonjour à tous (et meilleurs voeux)
je souhaiterai faire un petit appareil (à usage multiple) mais pour le moment je parlerai du 1er usage.
il sagit de faire un comptage sur une durée d'une minute (calcul de cadence d'une conditionneuse peinture)
materiel dispo ,une arduino-mega, un capteur IR Sharp 2y0a02, et d'un ecran tactile.
mon probleme est au niveau du timer ,car je ne vois pas comment faire !

  • lancement d'une minuterie ,le capteur comptabilise le nombre de boites et ceci sur une durée d'une minute .
    pouvez-vous m'aider ? merci à l'avance
    William

Bonjour,

je pense que pour pouvoir t'aider il faut un peu plus de précision. En effet les contraintes vont être très différentes si ton flux de boites est d'environ 10 par minutes (dans ce cas le timer n'a pas besoin d'une grande précision) ou de 10 par secondes (et là c'est pas la même affaire)

Serge

tout d'abord merci d'avoir répondu.

les cadences de boites varient de 10 à 40 boites minute ,suivant le type de boite (donnée constructeur) je ne veux pas un truc d'enfer ,seulement quelque chose de relativement fiable ,car actuelement pour vérification c'est un chrono et on compte les boites ,attention c'est la methode barbare,nous avons un systeme informatique (réseau) qui calcule le TRS des machines dans 3 unités ,mais actuelement des soucis de comptage,
je tenais à faire ce petit accessoire pour me marrer et montrer que leur systeme n'etait pas fiable.

Attention ce que je vais dire est à prendre avec des pincettes car mes connaissances en électroniques sont très parcellaires mais je ne suis pas sur que le capteur Sharp 2y0a02 soit un bon choix pour ce genre de mesure.
Je n'ai pas trouvé d'info (mais je n'ai pas cherché bcp) sur la taille du spot de mesure dans ton cas il faut qu'il soit assez précis si tu veux compter 2 boites en contact (ou en quasi contact).
Si la mesure effectué se fait sur une zone de l'ordre de l'écartement de l'émetteur et du récepteur (qq cm) il n'est pas sur que la variation de distance détecter soit suffisante pour détecter 2 boites en contact . Sinon pour la mise en ?uvre de ce capteur cf http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1230387822/6

Serge

franchement ça va aller ,car il y a suffisament d'espace entre 2 boites ,car le soucis actuel ce trouve sur le format 0,5l , diam 99 ,il y a 2 pas (130mm et 260 mm) donc suffisament de place entre 2

Est ce que le comptage commence au milieu d'un flux de boites ou est ce que la première boite initialise le comptage ?

Un truc du style :

long oldtime=0;
int boite=0;

void setup(){
    Serial.begin(9600);
    attachInterrupt(0,comptage,RISING);  // capteur sur digital pin 2
}

void loop(){}
  

void comptage(){ 
  
oldtime = millis();

if (time<=oldtime+1000000){
  if (digitalRead(0){
    boite++;
    Serial.println(boite);
  }
}

salut JF
ne vous prenez pas la tete non plus : ) pardonne moi si je suis directe,mais j'ai un reproche à faire ,à chaque fois que je pose une question sur un forum français , on me répond par des questions , ce qui n'est pas le cas sur des forums internationales ,bref ,(tel le sketch à magdane en pack de 6 de 12 avec des etiquettes qui collent avec de la colle ???) la conditionneuse est de couleur verte et en inox : ) : )
si ça peut servir ,(je plaisante mais , ça me tanne ) je préfère que l'on ne me réponde pas en fait .
pardonne moi JF ,mais j'hesite à chaque fois de poser des questions sur ce forum à cause de ça ( j'ai une boule à l'estomac)
encore pardon .
pour te répondre le start comptage demarre par bouton(ou autre ) en mettant le capteur entre 2 boites

merci quand mème (tu dois dire ,ce mec est un peu aigris : ) )
amicalement le ptit suisse : )
william

Comme Zener57 indique qu'il s'agit d'un montage "pour se marrer", je pense qu'on peut imposer des conditions d'utilisation particulières, notamment pour le démarrage et la calibration.

Le plus simple pour ton code serait d'utiliser les interruptions : avec un ampli-op monté en comparateur à hystérésis, tu connectes le capteur au comparateur que tu règles sur place avec deux potentiomètres. Le comparateur sort un signal tout ou rien que tu peux mettre sur une patte en interruption externe de ton Arduino : il y a alors plus qu'à écrire une petite fonction qui incrémente un compteur dans ton Arduino, et à utiliser la fonction delay() pour attendre la fin de la minute.

Tu peux aussi utiliser la bibliothèque MsTimer2 pour pouvoir appeler périodiquement (toutes les secondes ou plus) une fonction qui incrémente ton horloge.

C'est un projet simple : tu peux t'inspirer de ce que j'ai fait pour les odomètres de mon robot (au lieu de compter des paquets, je compte des secteurs blanc et noir sur une roue : l'électronique est la même). Il y a le plan du circuit et aucune soudure à faire, on s'en sort avec une plaquette d'essai et quelques fils. Le composant (ampli-op) en lui-même ne coûte que 2 euros.

[EDIT: merci de pas généraliser. Oui on pose des questions, mais c'est pour éviter de répondre à côté, en faisant croire qu'une réponse a déjà été donnée juste parce que les mots-clés sont les mêmes]

Je t'ai mis un bout de code avec ma question.... ;D

de plus pardonne moi car je n'avais pas vu ce morceau de code : ) :slight_smile:
mille excuses

Aucun soucis.

Ma question était plus pour savoir si c'est un comptage de production, ou de régularité de la cadence.

c'est plus pour une verif ,car comme je l'ai cité ,le chrono (start) et on compte le nombre de boites jusqu'à atteindre une minute (c'est une approximation ) car le systeme actuel (informatisé) anecdote ,un opérateur à conditionné 3500 boites le système a compté 1200 boites ,de quoi ce poser des questions ce qui implique un TRS en chute libre et des grincements de dents

les cadences de boites varient de 10 à 40 boites minute

Ce serait pas plutôt par seconde ?

ça correspondrait plus à 1200-3500 par minute.... :-?

non ,non ,je ne parlais en minutes , l'opérateur avait un ordre de fabrication de 3500 b avec une cadence standard de 30 b/mn et le systeme avait comptabilisé que 1200 (environ 1 b/3 ) donc fatalement son TRS n'était pas bon

Ah! ok ;D
Donc le code que je t'ai mis devrais suffire, il faut rajouter un bouton pour lancer le "chrono" . Par contre, je ne sais pas comment fonctionne ton capteur, il faudra peut-être adapter un peu.
Autrement tu pourrais utiliser un bête interrupteur pour faire le comptage des boites.

oui oui bien sure, je vais tester ton prog , comme je veux mettre un peu de fioriture : ) ( ecran tactile ) bouton radio pour lancer le compte à rebour ,au bout d'une minute ,nb de boites ) c'est ce que je recherche ,je vais tester ça ,et je te tiens au parfum ,
Cool sympa
@+

je te tiens au parfum

Peinture ou parfum.... ? ;D

AHHH AHHH AHHH
je te garanti ,que travailler dans ce domaine ,c'est pas chanel 5 ;D ;D ;D

la chimie attention

le parfum n'est pas le mème ,solvant , résine, amoniac etc. etc .. ;D ;D ;D
en bref ça poke grave ;D ;D

à Genève, suivant dans quel quartier tu te trouves, entre Givaudan et Firmenich, les odeurs on connait ::).

Tu vas utiliser quoi comme écran ? (encore une !@#$!#$!! de question ;D).

ah ouai , merde , j'y suis allé 2 fois a Genève ,bon c'est vrai il y a longtemps ,une fois très jeune ,et 2eme fois environ 25 ans ,j'avais trop kiffé , j'adore la haute savoie et la suisse (Genève pour sa propreté ,l'horloge en fleur ,le lac ,et les gens très cool et sympas ) et bien sure votre chocolat ,un pure bonheur ,mais je pense que ça a changé ,enfin , mon rève ,le festival de montreux (Claude Nobs, Deep purple ,que de souvenir)
enfin enfin
l'écran est un 4D system micro LCD 32032 P1T