Aller au contenu


horkets

Inscrit(e) (le) 15 août 2017
Déconnecté Dernière activité août 22 2017 02:12
-----

Messages que j'ai postés

Dans le sujet : moteur DC ne tourne pas lorsque servo "attaché"

20 août 2017 - 10:59

Salut, 

 

Après de nombreuses recherches et un post salvateur, il s'avère apparemment que le fait d'utiliser la librairie servo.h "condamne" les pin 9, 10 à fonctionner avec les servos sur une fréquence différente...

Il m'a donc suffit de changer la pin 9 (PWM moteur droit) à la pin 5 pour faire fonctionner les moteurs et le servo correctement.

 

:Koshechka_08:


Dans le sujet : moteur DC ne tourne pas lorsque servo "attaché"

17 août 2017 - 10:43

@path
@maximusk

les 4 piles sont branchées sur une des lignes verticale de la breadboard.
J'utilise cette ligne comme une sorte de multiprise pour alimenter et le servo et les moteurs dc (L298).

Je n'ai effectivement pas représenté l'USB. j'alimente l'arduino via le pc pour l'instant et j'ai relié la ligne du bas de la breadboard à l'arduino pin 5V et GND.
L'idée serait d'alimenter l'arduino avec un pile carrée lorsque tout fonctionnera correctement.

Dans le sujet : moteur DC ne tourne pas lorsque servo "attaché"

17 août 2017 - 10:34

@arobasseb
Oui, c'est toujours le M2

@maximusk
Effectivement c'est bien cela que je veux faire. Merci pour le conseil, je testerai cela dès que possible.
Concernant les piles en série et ou parallèle, tu as très probablement raison.
Désolé pour la confusion, mon niveau de connaissance en électricité n'est pas encore optimal. Je n'irais pas jusqu'à dire que comme les piles sont parallèles dans le boitier le branchement est parallèle, mais on en est pas loin... :D

Dans le sujet : moteur DC ne tourne pas lorsque servo "attaché"

17 août 2017 - 09:34

@telson
Je ne peux pas répondre à toutes tes questions maintenant car je suis au bureau, mais je peux déjà te dire que les piles sont des piles 1,5V ou 1,2V et qu'il y en a 4 en parallèle dans un boitier.
Ce qui est étrange, c'est que le problème se pose également même si le servo est alimenté par l'arduino (USB).

@maximusk
Pourrais-tu m'indiquer ce qui n'est pas idéal dans le code? De quelle façon pourrais-je l'optimiser?

Merci d'avance :)

Dans le sujet : moteur DC ne tourne pas lorsque servo "attaché"

16 août 2017 - 09:57

Et voici le code:

#include <Servo.h>

Servo neck;

// variable pour le pin connecté à la commande du servo
int pinNeck=10; 

void setup() {
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(8, OUTPUT);
  pinMode(9, OUTPUT);
  
  pinMode(pinNeck,OUTPUT);
  digitalWrite(pinNeck,LOW);
  neck.attach(pinNeck);
  
  Serial.begin(9600);
}

void loop() {
  avancer();
  scanner();
} 

void avancer(){
  
   /* rouler TOUT DROIT 
      gauche: avant
      droite: avant
   */
  //right wheel
  digitalWrite(8, HIGH);
  digitalWrite(7, LOW);
  analogWrite(9,150);

  //left wheel  
  digitalWrite(4, HIGH);
  digitalWrite(2, LOW);
  analogWrite(3,150);  
}

void tournerADroite(){

  /* tourner à DROITE 
      gauche: avant
      droite: arriere
  */
  //left wheel
  digitalWrite(4, HIGH);
  digitalWrite(2, LOW);
  analogWrite(3,150); 
  
  //right wheel
  digitalWrite(8, LOW);
  digitalWrite(7, HIGH);
  analogWrite(9,150); 

  delay(700);
}

void tournerAGauche(){

  /* tourner à GAUCHE
      gauche: avant
      droite: arriere
  */ 
  //left wheel
  digitalWrite(4, LOW);
  digitalWrite(2, HIGH);
  analogWrite(3,150); 
  
  //right wheel
  digitalWrite(8, HIGH);
  digitalWrite(7, LOW);
  analogWrite(9,150); 
  
  delay(700);
}

void scanner(){
  neck.write(76); //devant
  delay(500);
  neck.write(126);
  delay(500);
  neck.write(160); 
  delay(500);
  neck.write(76);  
  delay(500);
  neck.write(36);
  delay(500);
  neck.write(6);
  delay(500);
 }