Aller au contenu


merlin25

Inscrit(e) (le) 17 juin 2011
Déconnecté Dernière activité mars 07 2012 10:22
-----

Sujets que j'ai initiés

Roby version 2

05 juillet 2011 - 05:28

Voila j'ai pu réussir a effectuer le tutoriel Roby! et pour maîtriser d'avantage le code c++ j'ai l'idée de passer a la version deux!
La version deux est de virer les bloc de contact et de rajouter 3 capteur sharp sur le devant. 1 capteur en face et un autre a gauche et un autre a droite pour améliorer d'avantage la directions.
j'ai modifier le code pour installer deux autre capteur sharp, j'aurai aimer avoir l’avis des experts pour voir si j'ai fait des erreurs ou des conseils, étant donner que je suis pas un grand expert de la programmation en c++
Voici le code que j'ai modifier:
#include <Servo.h>
 
#define AVANT 1
#define ARRIERE 0
#define GAUCHE 2
#define DROITE 3
 
#define SERVOG 1
#define SERVOD 0
 
#define SHARPG 5  
#define SHARPD 3
 
#define SHARP 4
 
#define VMAX 5
 
Servo servog;
Servo servod;
 
int vLdr = 5;
 
int getNeutral(int s)
{
  if(s == SERVOG)
    return 86;
  else
    return 84;
}
 
 
void handleS(int s, int speed)
{
  //Vitesse :
  // 0 -> 0; 1 -> 1; 2 -> 3; 3 -> 8; 4 -> 10; v => 5 -> 30
  int tab[6] = {0,1,3,8,10,30};
  int pos = getNeutral(s);
 
  int acc;
  if (speed < 0)
    acc = - tab[abs(speed)];
  else
    acc = tab[speed];
   
  if(s == SERVOG)
      servog.write(pos += acc);
  else
      servod.write(pos -= acc);
}
 
 
void move(int direction)
{
  int m1 = 0, m2 = 0;
  switch(direction)
  {
    case DROITE: m1 = 1; m2 = -1; break;
    case GAUCHE: m1 = -1; m2 = 1; break;
    case AVANT: m1 = 1; m2 = 1; break;
    case ARRIERE: m1 = -1; m2 = -1; break;
  }
  handleS(SERVOG, m1*VMAX);
  handleS(SERVOD, m2*VMAX);  
}  
 

void sharp()
{
   int v =  analogRead(4);
      if (v >= 180)
      {
        move(ARRIERE);
        delay(300);
        move(DROITE);
        delay(900);
      }
      else if (v >= 100)
      {
        handleS(SERVOG, VMAX);
        handleS(SERVOD, 0);
        delay(1500);
      }
}
void sharpD()
{
   int v =  analogRead(3);
      if (v >= 90)
      {
        move(ARRIERE);
        delay(300);
        move(GAUCHE);
        delay(900);
      }
      else if (v >= 50)
      {
        handleS(SERVOD, VMAX);
        handleS(SERVOG, 0);
        delay(1500);
      }
}
void sharpG()
{
   int v =  analogRead(3);
      if (v >= 90)
      {
        move(ARRIERE);
        delay(300);
        move(DROITE);
        delay(900);
      }
      else if (v >= 50)
      {
        handleS(SERVOG, VMAX);
        handleS(SERVOD, 0);
        delay(1500);
      }
}
void setup()
{
  Serial.begin(9600);
  servog.attach(10);
  servod.attach(9);
  move(AVANT);
}
 
void loop()
{
     sharp();
     sharpD();
     sharpG();
     move(AVANT);
    delay(100);
}

Demande de l'aide pour la programmation en c++

18 juin 2011 - 05:39

Alors voila! je voudrait réaliser par moi même un véhicule autonome. je voudrait arriver a long termes a réaliser une tondeuse ou un aspirateur autonome! je pense être assez bien équiper (logiciel de CAO,....) et que j'ai pas mal de connaissance dans le domaine électrique électronique et mécanique.
Le seule problème pour l’accomplissement de telle projet c'est que je n'y connait rein en matière de la programmation en c++
Pour info j'utilise les carte arduinos je men suis acheter deux!

Si quelqu'un pouvait m'explique ou me donner accès a de bon tutoriel pour maîtriser la programmation en c++ uniquement au niveaux de la robotique!

Ou avoir acces au code source de tels projet! je vous en remercie

Encore une autre débutant mes pour la programmation en c++

17 juin 2011 - 03:19

PS: Je suis débutant en robotique et je cherche a réaliser se projet pour débuter: http://www.robotix.f...-1-46-roby.html

Et je pêche énormément au niveaux de la programmation en c++ avec le logiciel arduino
j'ai applique le programme de se tutoriel! et mon engin tourne en ronds, don j'ai envie de reprendre le programme a zéros et j'ai besoin d'aide vus que je n'y connait rien en langage c++ m
voici quelque question:

1° quelle est la meilleur programmation pour synchroniser les deux servomoteur? A t'il un servomoteur particulier pour se type d’application de robot mobile

2° Comment programmer et régler un ou plusieurs capteur Sharp pour pouvoir éviter les obstacles

probleme servomoteur

17 juin 2011 - 03:06

Voila j'ai un servomoteur de la marque dfrobot brancher sur une carte arduino uno. Il tourne de façons régulière et constant sens que se petit programme l'influence dans c'est mouvement.

voici le programme:

/ / Sweep
/ / Par BARRAGAN
# Include
Myservo Servo / / créer l'objet de servo pour contrôler un servomoteur
/ / Un maximum de huit objets servo peuvent être créés
POS int = 0; / / variable pour stocker la position du servo
void setup ()
{
myservo.attach (9); / / attache le servo sur la broche 9 à l'objet servo
}
void loop ()
{
pour (pos = 0; POS <180; pos + = 1) / / va de 0 degrés à 180 degrés
{/ / Pas de 1 degré
myservo.write (POS); / / servo dire d'aller à la position dans la variable «POS»
retard (15); / / attend 15ms pour le servo pour atteindre la position
}
pour (pos = 180; pos> = 1; POS-= 1) / / va de 180 degrés à 0 degrés
{
myservo.write (POS); / / servo dire d'aller à la position dans la variable «POS»
retard (15); / / attend 15ms pour le servo pour atteindre la position
}
}

Ensuite j'ai changer par un autre servomoteur, et se dernier applique bien le programme
Une petit précision, ce sont les mêmes servomoteur et j'ai rien modifier
Question:
Que ses t'il passer! si quelqu'un a déjà connus se problème! Merci

PS: Je suis débutant en robotique et je cherche a réaliser se projet pour débuter: http://www.robotix.fr/tutoriel-1-46-roby.html

presentation merlin

17 juin 2011 - 02:10

-Votre nom: Merlin

-Votre age: 25 ans

-La ville où vous résidez: AVALON

-Votre formation: BTS mai

-Votre travail: technicien de maintenance

-Vos passions:L'informatique, le cinémas

-Le robot ou les robots que vous possedez: Aucun

-Les concours robotique auxquels vous participez: AUCUN

-Qu'est ce que vous aimez dans la robotique.

-Qu'est ce que vous n'aimez pas.

-Le film que vous préférez.

-Le roman que vous préférez.

-Qu'est ce qu'il faudrait faire dans le domaine de la robotique.

-Comment voyez vous la robotique dans le futur.

-Divers, tout ce dont vous voulez nous faire partager de vos passion et de votre vie, uniquement si vous êtes bavard!