Aller au contenu


Photo

ROBY AVEC UN SERVO TETE


  • Veuillez vous connecter pour répondre
6 réponses à ce sujet

#1 izgaghan

izgaghan

    Nouveau membre

  • Membres
  • 3 messages

Posté 25 janvier 2012 - 12:44

Bonjour je suis nouveau !
j'ai réaliser mon premier robot "roby" grâce au tuto de ROBOCOP que j'en remercie , pendant environ 3 semaines j'ai réaliser le châssis fait la programmation sachant que j'ai aucune connaissance avec le language c++.
je suis un père de famille avec 3 enfants en bas age et je viens de trouvé une nouvel passion !!!
Maintenant que mon roby est opérationnel je voudrai faire une modification en faite je voudrai y introduire un troisième servomoteur qui pivotera de droite a gauche avec le capteur infrarouge "sharp".
Si vous pouvez m'aidé dans ma programmation a fin de poursuivre dans mon projet car je bloc la ...

#2 seb03000

seb03000

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 1 193 messages
  • Gender:Male

Posté 25 janvier 2012 - 12:52

Bonsoir izgaghan , félicitation pour ton 1 "roby"

Pour t’aidai a mettre un troisième servomoteur avec capteur sharp sur ton roby , il nous

faudrait ton code , plus tous les branchement ( un petit schémas ) si cela et possible.

#3 izgaghan

izgaghan

    Nouveau membre

  • Membres
  • 3 messages

Posté 25 janvier 2012 - 12:03

#include <Servo.h>
#define AVANT 1
#define ARRIERE 0
#define GAUCHE 2
#define DROITE 3
#define SERVOG 1
#define SERVOD 0
#define UPDDG 3
#define UPDDD 4
#define VMAX 5
Servo servog;
Servo servod;
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 handleUPDD(int updd)

{
if(digitalRead(updd) == HIGH)
{
move(ARRIERE);
delay(500);

if (updd == UPDDG)
{
move(DROITE);
}
else
{
move(GAUCHE);
}
delay(800);
}
}
void setup()
{
pinMode(UPDDG, INPUT);
pinMode(UPDDD, INPUT);
servog.attach(10);
servod.attach(9);
move(AVANT);
}
void loop()
{
handleUPDD(UPDDG);
handleUPDD(UPDDD);
move(AVANT);
delay(15);
}




voila pour mon code
et pour le schemas le voila

Image IPB



voila je compte sur votre générositer pour m'aidé dans mon projet cordialement.

#4 seb03000

seb03000

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 1 193 messages
  • Gender:Male

Posté 25 janvier 2012 - 12:49

Bonjour izgaghan .

Voila tu prend ton servomoteur et tu le

Branche sur la pin 8 digitale de la carte Arduino.

Le plus du servomoteur tu le mes sur la pin 5v de ta carte Arduino.

Et la masse du servomoteur tu la mes sur une pin GND.

Le capteur sharp tu le branche sur la pin A0 analogique de la carte Arduino.

Le plus du capteur sharp tu le branche sur la pin 5V de la carte Arduino.

La masse du capteur sharp tu le branche sur une pin GND de ta carte Arduino


Voila tien moi informé .

#5 izgaghan

izgaghan

    Nouveau membre

  • Membres
  • 3 messages

Posté 25 janvier 2012 - 01:31

ok merçi je ferais sa ce soir je te tiend au couran et pour le code aussi ? ya rien qui change ?

#6 geek maxou

geek maxou

    Membre passionné

  • Membres
  • PipPipPip
  • 663 messages
  • Gender:Male
  • Location:Pas-de-Calais 62
  • Interests:Monde UNIX, Développement Web, Jeux Vidéo & tout se qui touche à l'électronique

Posté 10 mars 2012 - 10:58

salut le sujet est peut etre vieux mais je pourrai peut etre avoir une réponse quelle bout de code dois je ajouté pour que le servo fasse des rotations de 180° ?

A.R.M.I

Autonomous Robotics Mechanics Intelligent


#7 julkien

julkien

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 1 032 messages
  • Gender:Male

Posté 10 mars 2012 - 01:35

salut le sujet est peut etre vieux mais je pourrai peut etre avoir une réponse quelle bout de code dois je ajouté pour que le servo fasse des rotations de 180° ?



resalut
la tu voix il va falloir que tu t'y mets a programmer

commence par aller sur un bon tuto de C++

inspire toi du bout de code du roby

essai de comprendre le fonctionnement

et tu y arriveras comme un grand ;)

ps: on vas y arriver a te former, je ne desepere pas ;) n'hesite pas a revenir vers nous si tu ne comprends pas la synthaxe du code




1 utilisateur(s) li(sen)t ce sujet

0 members, 1 guests, 0 anonymous users