Go Down

Topic: Le capteur a effet hall (Read 145 times) previous topic - next topic

freemann77

Bonjour , je dois mesurer la vitesse d'une roue a l'aide d'une carte arduino .

j'ai obter pour le capteur a effet hall est ce un bon choix ?
J'ai commencer a le programmer et a chaque fois j'arrive avec des caratére bizzare sur le moniteur série , quand je rapproche aussi l'aimant le capteur s'en fou royalement.
Pourriez vous m'aidez s'il vous plait je galére vraiment et ai vraiment besoin de ce programme.

Artouste

Bonjour , je dois mesurer la vitesse d'une roue a l'aide d'une carte arduino .

j'ai obter pour le capteur a effet hall est ce un bon choix ?
J'ai commencer a le programmer et a chaque fois j'arrive avec des caratére bizzare sur le moniteur série , quand je rapproche aussi l'aimant le capteur s'en fou royalement.
Pourriez vous m'aidez s'il vous plait je galére vraiment et ai vraiment besoin de ce programme.
bonjour
reference du capteur ?
schema de cablage ?
programme ?

icare

#2
Mar 24, 2015, 11:49 am Last Edit: Mar 24, 2015, 11:50 am by icare
Bonjour,
Avec les éléments que tu donnes, il n'y que madame Irma qui peut répondre si elle n'a pas cassé la boule de cristal.
[edit] Artouste est bien plus indulgent  :smiley-twist:
2B OR NOT(2B) = FF
Arduino 1.0.5 + Notepad++ (sous Linux Fedora et/ou Windows)

freemann77

capteur : http://www.amazon.fr/Neuftech%C2%AE-qualit%C3%A9-magn%C3%A9tique-capteur-Arduino/dp/B00PIMROJA/ref=sr_1_1?ie=UTF8&qid=1427194656&sr=8-1&keywords=Capteur+%C3%A0+effet+Hall

programme:

int sensorPin= 2; // Pin reliée au capateur magnétique
 
int etat = 0; // etat Pin
 
int ancien_etat = 0; // ancien etat Pin
 
long chrono = 0; // valeur courante du chrono
 
long chrono_depart = 0; // valeur de départ du chrono
 
long duree_test = 15000; // test sur 15 secondes
 
int nb_chgt = 0; // nb de changement etat Pin
 
 
void setup () {
   
  Serial.begin (19200);
   
  pinMode(sensorPin,INPUT);
   
  Serial.println ("En cours de mesure ...");
   
  chrono_depart = millis();
}
 
void loop() {
   
  etat = digitalRead(sensorPin); 
 
  // est-ce qu'on peut encore continuer le test ?
   
  if (millis()- chrono_depart < duree_test) {
 
 // est-ce que l'etat de la Pin a changé ?
     
  if (etat != ancien_etat) {
       
      nb_chgt = nb_chgt + 1 ;
       
    // Serial.println("####################");
       
    // Serial.println  (nb_chgt);
               
      ancien_etat = etat;
       
     }
  } else {
     
 // On est arrive au bout du test, on affiche le resultat
 // petite ruse : il y a 4 changements d'état par tour
 // avec le type de montage de l'aimant choisi
 // en faisant un test sur 15 secondes le nb de chgt
 // a la meme valeur que le nombre de tours par minute
 
  Serial.print  ("Vitesse : ");
  Serial.print (nb_chgt);
  Serial.println (" trs/min");
   
   // on repart pour un autre test 
  delay(1000);
  Serial.println ("En cours de mesure ...");
  chrono_depart=millis();
  nb_chgt = 0;
   
  }
   
}


Et pour le branchement  un branchement en 5v l'autre sur le grd et un autre sur la pin qui se trouve dans le programme

B@tto

Salut,

Déjà sans trop me casser la tête je vois un problème, ça se situe au niveau de la réinitialisation de ton compteur ;)
Blog électronique : battomicro.wordpress.com
Photographie : www.interactive-celebration.fr
Fablab de Montpellier : www.labsud.org

68tjs

#5
Mar 24, 2015, 12:50 pm Last Edit: Mar 24, 2015, 12:52 pm by 68tjs
Bonjour,
Avec les éléments que tu donnes, il n'y que madame Irma qui peut répondre si elle n'a pas cassé la boule de cristal.
[edit] Artouste est bien plus indulgent  :smiley-twist:
Tu n'as pas compris :smiley-mr-green:  c'est la suite d'une précédente demande tout aussi claire :
Précédente demande
Peut-être qu'il suffit de multiplier les posts et la réponse tombera toute seule.

Une chose est sure il n'a toujours pas utilisé les balises code.


Go Up