Comptage avec Arduino

Bonjour à tous :),

J'ai besoin de vous pour me guider sur un petit projet.

Je dois faire du comptage sur un signal TTL. Pour l'instant je ne connais pas l'amplitude de mon signal TTL. Surement 0-5V. L'utilisateur doit être capable de fixer le [u]temps de comptage[/u]. Et la [u]durée d'acquisition totale[/u].

Le temps de comptage peut-être fixé à 1ms, 1sec ou 1 min par exemple. Il compte sur ce temps puis stocke (sur carte SD par exemple) le nombre de coups. Il répète cette opération sur une durée d'acquisition totale de 10heures, 1jour par exemple.

J'ai des questions :

1) L'arduino est-il capable de compter un TTL ? Quelle gamme de fréquence ? 2) Pour pouvoir entrer les deux paramètres (temps de comptage, durée d'acquisition totale), est t-il de créer une petite interface graphique sous Processing ou bien de faire ça sur un écran LCD ?

J'ai juste besoin de votre avis la-dessus, ce que vous auriez fait à ma place. Une piste ... :) Si vous avez des liens pour que je puisse démarrer, n'hésitez pas.

Merci d'avance. :) :)

Bonjour

  1. Pour le signal si tu ne le connect pas vaux mieux passer par un cmos 4050.
  2. oui il te faudra une interface LCD clavier pour changer les paramétres de comptage.
  3. dans ton programme tu devra faire une boucle de comptage de 1 a 1000 qui fera de 0.001 s a 1 secondes (valeur arduino en dessous de 0.001 une logique TTL s’impose)
  4. google et tom meilleur amis “arduino LCD” “arduino clavier” “arduino keyboard” “Arduino SD”.

cordialement

Salut , merci d'avoir pris le temps de répondre. :D

powerpack: 1) Pour le signal si tu ne le connect pas vaux mieux passer par un cmos 4050.

Le cmos 4050 c'est pour faire de l'interfaçage ? :roll_eyes: C'est à dire convertir des TTL élevés sur une valeur plus faible. ??

powerpack: 2) oui il te faudra une interface LCD clavier pour changer les paramétres de comptage.

Ok ok, je regarderai sur le net, il y a pas mal de chose la-dessus.

powerpack: 3) dans ton programme tu devra faire une boucle de comptage de 1 a 1000 qui fera de 0.001 s a 1 secondes (valeur arduino en dessous de 0.001 une logique TTL s'impose)

Je n'ai pas compris ça. Tu peux me réexpliquer stp ?

Merci.

Salut SamoLaw, si c'est "réellement" un signal TTL (dans les normes), cela sera en 5V. Donc aucun soucis pour "compter" directement avec l'Arduino. Par contre, si le signal n'est pas expressément TTL c'est une autre histoire. Il faudrait avoir une idée du type de signal car il peut être "exotique", et voir ce que l'on peut utiliser comme circuit d'adaptation.

Sinon, pour le comptage, il y a une méthode pas mal dans ce cas avec la gestion d'interruptions :

attachInterrupt(0, comptage, HIGH);

"comptage" étant appelé à chaque fois que le niveau logique est haut.

ekaki: Salut SamoLaw, si c'est "réellement" un signal TTL (dans les normes), cela sera en 5V. Donc aucun soucis pour "compter" directement avec l'Arduino. Par contre, si le signal n'est pas expressément TTL c'est une autre histoire. Il faudrait avoir une idée du type de signal car il peut être "exotique", et voir ce que l'on peut utiliser comme circuit d'adaptation.

Sinon, pour le comptage, il y a une méthode pas mal dans ce cas avec la gestion d'interruptions :

attachInterrupt(0, comptage, HIGH);

"comptage" étant appelé à chaque fois que le niveau logique est haut.

Salut,

Merci d'avoir répondu. :)

C'est un signal carré avec 3V d'amplitude.

Je vais regarder de ce côté , ok. :D

Je vous tiens au courant.

Un transistor pourrait très bien faire l'affaire aussi ! Et pour le paramétrage, d'après tes infos, il n'est pas forcement nécessaire d'utiliser un LCD, avec des encodeurs rotatifs l'utilisateur peut très bien configurer le système, tout dépend de la résolution dont tu as besoin.

B@tto: Un transistor pourrait très bien faire l'affaire aussi ! Et pour le paramétrage, d'après tes infos, il n'est pas forcement nécessaire d'utiliser un LCD, avec des encodeurs rotatifs l'utilisateur peut très bien configurer le système, tout dépend de la résolution dont tu as besoin.

Salut,

En faite, j'aimerai utiliser le LCD tout d'abord pour m'exercer dessus et puis ce qui serait vraiment bien, serait de faire un menu avec une icône "Acquisition", une icône "Lecture données".

Acquisition :

==> Deux "edit box" pour paramétrer le temps d'acquisition et la durée globale d'acquisition. ==> Une edit box pour éditer le nom du fichier dans lequel sera stocké nos données. ==> Un bouton pour lancer le comptage. ==> Un bouton pour annuler/arrêter.

Lecture données :

==> Sélectionner le fichier qui est stocké sur la micro-sd (stocker le nombre de coups dans un fichier .txt) pour l'afficher sur un graphe XY (nombre de coups en fonction du temps).

Au niveau de la gestion de la carte micro-SD et du LCD, il y a pas mal de chose sur le net qui pourront m'aider.

Là, pour l'instant, c'est la partie comptage qui m'intéresse.

:D:D

Salut

J'ai pu tester un bout de code pour le comptage, je le posterai ce soir ou demain. Le temps de bien le tester. :D

A + tard.