Aller au contenu


Stéphanie Jenny

Inscrit(e) (le) 15 juin 2019
Déconnecté Dernière activité juil. 05 2019 02:25
-----

Messages que j'ai postés

Dans le sujet : Débutant en programmation arduino et moteur NEMA

04 juillet 2019 - 07:47

Bonjour merci de votre réponse oui je sais faire tourner un moteur pas a pas en continue j'arrive aussi a les piloter avec un joystick mais je ne sais pas comment faire pour que l'arduino face deux chose en même temps pouvez m'aider svp merci


Dans le sujet : Débutant en programmation arduino et moteur NEMA

04 juillet 2019 - 06:55

Merci pour votre réponse j'essaie d'apprendre a coder au fur et a mesure de mes projets car pour moi c'est  complexe tout çà mais merci pour votre aide 


Dans le sujet : Débutant en programmation arduino et moteur NEMA

04 juillet 2019 - 05:16

Merci pour réponse  mais comment faire pour qu'il tourne de facon continue quel sont les changements du code que je dois faire merci a vous pour vos réponse


Dans le sujet : Débutant en programmation arduino et moteur NEMA

04 juillet 2019 - 04:04

Bonjour à toute la communauté je vient vers vous car j'ai un problème concernant un projet.

 

je souhaite faire fonctionner un moteur nema 23 avec un capteur à ultrason  voici le code que j'ai utilisée

 

 
# include <Stepper.h>
 
 
const int echoPin = 7;
const int triggerPin = 6;
 
#define motorPin1 8
#define motorPin2 9
#define motorPin3 11
#define motorPin4 10
int distanceAvant;
 
float intervalle;
 
const int stepsPerRevolution = 20000;
Stepper myStepper(stepsPerRevolution,  10, 11);
 
void setup() {
  // put your setup code here, to run once:
 Serial.begin(9600);
  pinMode(echoPin, INPUT);
  pinMode(triggerPin, OUTPUT);
  myStepper.setSpeed (2000);
 
}
 
void mesurerDistanceAvant()
 
{
  
   digitalWrite(triggerPin, LOW);
  delayMicroseconds(2);
  digitalWrite(triggerPin, HIGH); //Envoie d'une onde sonore
  delayMicroseconds(5);
  digitalWrite(triggerPin, LOW);
  intervalle = pulseIn(echoPin, HIGH); //Réception de l'écho
  intervalle = intervalle/5.8/10; //Conversion de la différence de temps entre l'envoie de l'onde sonore et la réception de l'écho en distance (cm)
  Serial.println("Distance avant:");
  Serial.println(intervalle);
  distanceAvant = intervalle; //Arrondi
  
  
  
  
  
  }
 
void modeUltrason()
 
{
    mesurerDistanceAvant();
 
  
  if(distanceAvant > 10) //Si la distance avant est de moins de 25cm
  {
    Serial.println("démarrage moteur");
    Serial.println();
    Serial.println("avance");
myStepper.step(stepsPerRevolution);
 
delayMicroseconds (5);}
else (distanceAvant < 10);//Si la distance avant est de plus de 25cm
 {
   Serial.println("Arret des moteurs");
    Serial.println();
    digitalWrite(8,LOW);
 digitalWrite(10,LOW);
 digitalWrite(9,LOW);
 digitalWrite(11,LOW); 
delay(500);
 }
}
void loop() {
  // put your main code here, to run repeatedly:
  modeUltrason();
  mesurerDistanceAvant();
}
 
 
le problème c'est que lorsque le capteur détecte qu'il faut tourner le moteur tourne mais pas de façon continue il tourne puis s’arrête , puis tourne , puis s’arrête etc
 
j'ai essayé de changer les delay mais rien y fais il marque un pause entre chaque tour pouvez vous me dire ce qu'il ne va pas dans mon code merci pour vos réponses.

Dans le sujet : Débutant en programmation arduino et moteur NEMA

28 juin 2019 - 10:41

Bonsoir je reviens vers vous car après réflexion je me demande si il est possible de se servir du bouton du joystick pour que lorsque on appui une fois le moteur avance de x pas et lorsque on re appuie le moteur recule pour revenir à sa position merci pour vos réponses.