Aller au contenu

GO Print

r le millavois

Membres
  • Compteur de contenus

    16
  • Inscrit(e) le

  • Dernière visite

Information

  • Imprimantes
    alfawise U20

Visiteurs récents du profil

457 visualisations du profil

Récompenses de r le millavois

Rookie

Rookie (2/14)

  • First Post
  • Collaborator
  • Conversation Starter
  • Week One Done
  • One Month Later

Badges récents

0

Réputation sur la communauté

  1. merci beaucoup pour votre aide j'essaierais d'utiliser ce code pour mon travail et je vous recontacte encore merci à tout les deux
  2. j'ai essayé de rajouter int rpmcount = 0; dans la void loop pour déclarer rpmcount sauf que les erreurs s'enchaines
  3. donc le code qu'il m'a donné devrais fonctionner? le logiciel d'Arduino me dit que rpmcount n'est pas déclarée
  4. donc y aurait il un code simple qui donne la vitesse en RPM en quelques lignes avec mon capteur connecté au pin 2.
  5. excusez moi mais je suis vraiment débutant dans ce domaine et je ne comprend toujours pas comment je doit brancher mon capteur
  6. donc je dois brancher mon capteur au pin 12 c'est ca?
  7. merci pour ces précisions. donc en théorie si je téléverse ce programme ca me donne la vitesse angulaire en tr/minute? /* Fichier : test_RPM Version : 0 Dernière modification : 13/03/2021 Auteur : r le millavois Description : vitesse angulaire Connexion(s) / branchement: VCC->+5v GND->GND(0v) D0->D2 de l'Arduino*/ int ledPin = 13; // IR LED connected to digital pin 13 int statusPin = 12; // LED connected to digital pin 12 volatile byte rpmcount; volatile int status; unsigned int rpm; unsigned long timeold; void rpm_fun() { //Each rotation, this interrupt function is run twice, so take that into consideration for //calculating RPM //Update count rpmcount++; //Toggle status LED if (status == LOW) { status = HIGH; } else { status = LOW; } digitalWrite(statusPin, status); } void setup() { Serial.begin(9600); //Interrupt 0 is digital pin 2, so that is where the IR detector is connected //Triggers on FALLING (change from HIGH to LOW) attachInterrupt(0, rpm_fun, FALLING); //Turn on IR LED pinMode(ledPin, OUTPUT); digitalWrite(ledPin, HIGH); //Use statusPin to flash along with interrupts pinMode(statusPin, OUTPUT); rpmcount = 0; rpm = 0; timeold = 0; status = LOW; } void loop() { //Update RPM every second delay(1000); //Don't process interrupts during calculations detachInterrupt(0); //Note that this would be 60*1000/(millis() - timeold)*rpmcount if the interrupt //happened once per revolution instead of twice. Other multiples could be used //for multi-bladed propellers or fans rpm = 30*1000/(millis() - timeold)*rpmcount; timeold = millis(); rpmcount = 0; //Write it out to serial port Serial.println(rpm,DEC); //Restart the interrupt processing attachInterrupt(0, rpm_fun, FALLING); }
  8. non je viens de commencer le codage mais ce n'est pas le même capteur, fonctionne t'il de la même manière. je ne comprend pas la fonction "timeold", peut tu m'éclairer?
  9. je te remercie de ta réponse rapide. j'ai une Arduino UNO branchement: VCC->+5v GND->GND(0v) D0->D2 de l'Arduino j'ai joins une datasheet que j'ai trouvée sur mon capteur j'ai écrit ce code, mais il ne fonctionne pas, aurait tu une idée? int a=0; int tempo=0; void setup() { pinMode(2,INPUT); Serial.begin(9600); } void loop() { if (digitalRead(2)==1) { a=a+1; } if(tempo>=1000) { tempo=0; a=0; } Serial.print("a="); Serial.print(a); Serial.println(" tr"); Serial.print("tempo="); Serial.print(tempo); Serial.println("ms"); Serial.println(" "); delay(100); tempo=tempo+100; } dattasheetmodule.pdf
  10. Bonjour à tous je suis en 1ère STI2D, j'ai un projet à faire, je doit calculer la vitesse linéaire d'une trottinette. Pour le faire j'ai un capteur "MH-Sensor-Series" or je n'ai pas réussi de code Arduino pour cela. Pouvez vous m'aider? Merci d'avance
×
×
  • Créer...