[Aide] Voiture autonome

@barbudor : Merci pour ta réponse si rapide XD
à voir ton explication, ce n'est pas si dur que cela !! :wink:

Pour mon projet j'ai :

  • un moteur (pour avancer et reculer)
  • un servo-moteur (pour la direction)

donc je prends pour mon moteur : PWM, IN1, IN2 (avec IN1 != IN2, je pense qu'en programmant cette sécurité, on est sur de pas faire des bétises) -> 3broches

Par contre pour le servo-moteur, là c'est plus dur !! :fearful: :fearful:
Il possède 6 fils ! =( =(

sur ce site il explique que : http://nikkoevolution.fr/article/article_fiche.php?articleID=278

  • le fil rouge : +
  • le fil noir : -
    ceci ça va XD mais après ça ce corse :
  • le fil bleu : masse
  • le fil blanc : milieu de potentiomètre
  • le fil vert : borne de potard
  • le fil jaune : borne de potard

car sur ce servo, on a un retour du potard....

mais chez moi, les fils sont de couleurs différentes.... (dans l'ordre : blanc,gris,violet,bleu) :fearful: :fearful:
je pense qu'il va falloir démonter tout... :sweat_smile: :sweat_smile: =(

et ensuite je pense que je commanderai le servo via la platine TB6612 (avec le 2ème pont) :wink:

Pour info j'ai trouver un code correspondant à la platine TB6612 :

//motor A connected between A01 and A02
//motor B connected between B01 and B02

int STBY = 10; //standby

//Motor A
int PWMA = 3; //Speed control 
int AIN1 = 9; //Direction
int AIN2 = 8; //Direction

//Motor B
int PWMB = 5; //Speed control
int BIN1 = 11; //Direction
int BIN2 = 12; //Direction

void setup(){
  pinMode(STBY, OUTPUT);

  pinMode(PWMA, OUTPUT);
  pinMode(AIN1, OUTPUT);
  pinMode(AIN2, OUTPUT);

  pinMode(PWMB, OUTPUT);
  pinMode(BIN1, OUTPUT);
  pinMode(BIN2, OUTPUT);
}

void loop(){
  move(1, 255, 1); //motor 1, full speed, left
  move(2, 255, 1); //motor 2, full speed, left

  delay(1000); //go for 1 second
  stop(); //stop
  delay(250); //hold for 250ms until move again

  move(1, 128, 0); //motor 1, half speed, right
  move(2, 128, 0); //motor 2, half speed, right

  delay(1000);
  stop();
  delay(250);
}

void move(int motor, int speed, int direction){
//Move specific motor at speed and direction
//motor: 0 for B 1 for A
//speed: 0 is off, and 255 is full speed
//direction: 0 clockwise, 1 counter-clockwise

  digitalWrite(STBY, HIGH); //disable standby

  boolean inPin1 = LOW;
  boolean inPin2 = HIGH;

  if(direction == 1){
    inPin1 = HIGH;
    inPin2 = LOW;
  }

  if(motor == 1){
    digitalWrite(AIN1, inPin1);
    digitalWrite(AIN2, inPin2);
    analogWrite(PWMA, speed);
  }else{
    digitalWrite(BIN1, inPin1);
    digitalWrite(BIN2, inPin2);
    analogWrite(PWMB, speed);
  }
}

void stop(){
//enable standby  
  digitalWrite(STBY, LOW);
}

Voilà @plus :slight_smile: