Robotique-Projet
Bonjour et bienvenu sur le forum ROBOTIQUE-PROJET

Merci de nous rejoindre, pour avoir accès aux forum en entier,

il suffis juste de s'inscrire sa prends 2 minutes, et bien sur de faire sa

présentation, au plaisir de se croisé sur le forum.

Hésité pas a passez me voir sur ma chaîne Twitch pour plus de contenue https://www.twitch.tv/azary_darkbest
Robotique-Projet
Bonjour et bienvenu sur le forum ROBOTIQUE-PROJET

Merci de nous rejoindre, pour avoir accès aux forum en entier,

il suffis juste de s'inscrire sa prends 2 minutes, et bien sur de faire sa

présentation, au plaisir de se croisé sur le forum.

Hésité pas a passez me voir sur ma chaîne Twitch pour plus de contenue https://www.twitch.tv/azary_darkbest
Robotique-Projet

Forum sur la Robotique & Informatique & Programmation

REJOIGNEZ MA CHAÎNE TWITCH NE MANQUEZ RIEN DE MES GAMME PLAYER
AFIN DE ME SOUTENIR POUR L'AFFILIATION.


Nos partenaires



Rejoignez Notre Discord Les amies.

Vous me retrouverez sur le pseudo ๖̶̶̶ۣۣۜζ͜͡Dark Best

Le deal à ne pas rater :
Coffret dresseur d’élite ETB Pokémon EV06 Mascarade Crépusculaire
56.90 €
Voir le deal

Vous n'êtes pas connecté. Connectez-vous ou enregistrez-vous

Voir le sujet précédent Voir le sujet suivant Aller en bas  Message [Page 1 sur 1]

1Robot : Arduino ROMEO + 4WD Empty Robot : Arduino ROMEO + 4WD Lun 13 Mai - 23:00

Dark Best

Dark Best
Fondateur
Fondateur
Donc voici plus de détails le tuto que je vais vous posté, est les détails sur le matériels, library et scripts.
Si
vous souhaitez vous lancer dans ce type de projet, sachez que
l'utilisation du langage de base arduino est relativement simple. Il
suffit d'un peu de réflexion et une bonne dose de patience

Donc partons d'un robot de base comme le miens ( pour le moment ) qui avance et évite les obstacles.

Pour le matériels voici les caractéristiques :
-Arduino romeo ( j'utilise une ancienne version de la carte mais la base reste la même )
http://www.dfrobot.com/index.php?route=product/product&filter_name=romeo&product_id=656
J'ai préféré la carte Roméo car elle intégré de base un controlleur de moteur ( une prise de tête en moins lol )

-Châssis 4WD DFrobot fournit avec 4 moteurs et un support 6 piles
http://www.dfrobot.com/index.php?route=product/product&filter_name=4wd&product_id=97
Je
ne donnerais pas d'information supplémentaires au sujet du châssis
sachant qu'il existe une multitude de ressource à son sujet, sachez
juste qu'il est livré en kit à monter et souder donc prévoyez un bon
moment de calme pour le montage 

-2X capteurs infra-rouges
http://www.dfrobot.com/index.php?route=product/product&path=36_55&product_id=114

Une
fois le châssis monté, carte fixée, reliez l'alimentation générale et
les moteurs aux borniers ( motor power IN et motor 1, 2 DC ) en
respectant les polarités ( GND=- / M_win=  ) pour ce type de montage
l'alimentation du châssis suffira à alimenter la carte, mais par la
suite, il vous faudra une alimentation à part ( dans ce cas, pensez a
retiré le jumper "power in sélection jumper" ).
Ensuite, reliez les
capteurs infra-rouge aux I/O digital 2 et 3 ( Evitez les I/O digitale 0
et 1 qui servent pour la communication de la carte )

Voilà vous avez votre robot il ne manque plus qu'a lui dire quoi faire,
voici le script de base permettant au robot d'éviter les murs et
obstacles après c'est à vous de le modifié suivant les capteurs et autre
que vous ajouterez...

Code:
/*****declaration moteur*****/
int E1 = 5;     //moteur 1 controle de vitesse
int E2 = 6;     //moteur 2 controle de vitesse
int M1 = 4;    //moteur 1 controle de direction
int M2 = 7;    //moteur 2 controle de direction
int moveMotor = 0;
/**********/

/*****declaration capteurs IRs*****/
const int Infrared_left = 2;     //Sensor IR gauche
const int Infrared_right = 3;     //Sensor IR droite
int Infrared_left_state = 0; //declaration de variable
int Infrared_right_state = 0; //declaration de variable
/**********/

void stopper(void)                    //Stop
{
  digitalWrite(E1,LOW);
  digitalWrite(E2,LOW);    
}  
void advance(char b)          //le robot avance
{  
  analogWrite (E1,b);  
  digitalWrite(M1,HIGH);
  analogWrite (E2,b);  
  digitalWrite(M2,HIGH);
}
void back_off (char b)        //le robot recule
{
  analogWrite (E1,b);  
  digitalWrite(M1,LOW);
  analogWrite (E2,b);  
  digitalWrite(M2,LOW);
}
void turn_L (char a)             //Tourne a gauche
{
  analogWrite (E1,a);
  digitalWrite(M1,HIGH);
  analogWrite (E2,a);
  digitalWrite(M2,LOW);
}
void turn_R (char a)             //Tourne a droite
{
  analogWrite (E1,a);
  digitalWrite(M1,LOW);
  analogWrite (E2,a);
  digitalWrite(M2,HIGH);
}
void setup(void)
{
  //console serial facultative
  int i;
  for(i=6;i<=9;i++)
    pinMode(i, OUTPUT);
  Serial.begin(9600);  
  
  
  // Initialisation des pins en input
  pinMode(Infrared_left, INPUT);
  pinMode(Infrared_right, INPUT);
  
}

void loop(void)
{
  // Lecture de l'états des IR
  Infrared_left_state = digitalRead(Infrared_left);
  Infrared_right_state = digitalRead(Infrared_right);

  // Si le gauche detecte quelque chose le robot tourne a droite
  if (Infrared_left_state == LOW) {    
    turn_R(255);
  }  
  else {
    stopper();
  }

  // Si le droite detecte quelque chose le robot tourne a gauche
  if (Infrared_right_state == LOW) {    
    turn_L(255);
  }
  else {
    stopper();
  }

  //si les 2 capteurs IRs detecte en même temps le robot recule puis tourne
  if (Infrared_left_state == LOW && Infrared_right_state == LOW) {
    back_off(255);
    delay(2000);
    turn_L(255);
    delay(2000);
  }
  else {
    stopper();
  }

  //sinon le robot avance
  if (Infrared_left_state == HIGH && Infrared_right_state == HIGH) {    
    advance(255);
  }
  else {
    stopper();

  }
}

https://www.youtube.com/c/DarkBest

Voir le sujet précédent Voir le sujet suivant Revenir en haut  Message [Page 1 sur 1]

Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum