Conversion binaire en vitesse

bonjour je veux obtenir la vitesse d'une roue de vélo avec un capteur à effet hall et 3 aimants placés sur la roue, j'utilise également une carte sd pour enregistrer les données.
dans le moniteur série j'obtient une suite de 0 1 donc du binaire et j'aimerais avoir la vitesse.

il faut que j'introduise une base de temps avce millis() il me semble
et je sais que v = r w avec r le rayon de la roue , w la rotation

je ne sais pas du tout comment coder. Pouvez vous m'aidez svp?

Hello, tu n'as pas posté au bon endroit :pleading_face:
Attendons le passage de la patrouille.

Voilà, voilà (pin pon) !

On trouve pas mal de projets de ce genre sur Internet : en voici un.

Il utilise un seul aimant, toi avec 3 aimants tu devras diviser la vitesse par 3.
Tu peux l'étudier et l'adapter à ton besoin.

La vitesse étant étant la circonférence de ta roue(ou portion de ta roue) par le temps mesuré pour faire une révolution, il faut effectivement que tu mesure le temps écoulé entre deux 1.
Il faut donc remplacer tes 1 par le temps passé depuis le précédent 1.
Tu pourra alors calculer facilement ta vitesse.

Pour le coder, le plus simple serait d'essayer de mesurer le temps entre deux actions, par exemple en utilisant un bouton, pour que tu comprennes l'utilisation de la fonction millis.
Si tu as des questions ou des incompréhension, n'hésite pas à nous les exposer :slight_smile:

Il y a plusieurs algorithme possible, on peut mesurer le temps entre deux "top".

Mais comme il y a 3 aimants sur la roue, un tour, c'est 3 tops.

Et si les aimants ne sont pas repartis équitablement sur la roue, pour une même vitesse, le temps entre 2 tops ne sera pas forcément identique.

Un autre algorithme serait par exemple de compter pendant un temps définit (et toujours le même) le nombres de top (le nombre de passages d'aimants devant le capteur).

Tu définit une boucle d'interruption, et chaque fois qu'aimant passe devant le capteur, tu effectue la boucle d'interruption où tu aditionne les tops (N=N+1), puis tu revient a la boucle principale.

Quand le temps T=10 s est passé, tu recupére N=nombre de tops compté pendant 10s et tu calcule la vitesse en km/h.

Si sur la roue, il y a 3 aimants, 1 tour = 3 tops

Admettons que la circonférence de la roue soit de C=2m, qu'il y ait A=3 aimants sur ta roue, et qu'au bout de T=10s tu ais compté N tops =10
Alors la vitesse serait =
N/A/Tx3600xC/1000 = 10/3/10x3600x2/1000=24km/h

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.