Aller au contenu


seb03000

Inscrit(e) (le) 22 juil. 2011
Déconnecté Dernière activité juil. 30 2021 12:46
*****

#56765 robby 1

Posté par seb03000 - 23 juin 2013 - 11:33

je pence qu'il faut que tu télécharge la librairie URM , car j'ai testé son programme est il se compile bien , sans aucun message d’erreurs

Voici un liens pour télécharger la librairie du capteur ICI


#56393 hack de mon RobotSapien ( seb03000 )

Posté par seb03000 - 29 mai 2013 - 07:19

Je c'est pas si je suis dans le bon poste ( si ce n'est pas le cas faite en sorte de le déplacé , merci ).





Image IPB

Depuis près de 2 ans j'avais acheté un RobotSapien

d'occasion , mais je n'avais pas la télécommande qui aller avec.

Donc je me suis dis , il devrais avoir un système de hacke qui me permettrai de lui faire des

mouvements a partir d'une carte Arduino , j'ai parcouru pas mal de page sur le net , j'ai récolté

pas mal d'information.

Il s'avère que mon hackage fonctionne , de plus je viens de finir sa programmation

( un début très concret, je dois dire ).

Donc je vous mes des photos ( pour vous donnez la preuve que c'est bien mon robot )

est un petit tuto qui vas avec , est bien sur la programmation que j'ai réalisé.


Matériel acheté pour se hacke:

Carte Arduino Uno Rev 3 ICI

Log shield pour Arduino sur carte SD avec horloge RTC et zone de prototypage à pastilles carrées ICI
Le shield pour Arduino sur carte SD n'est pas obligatoire, vous pouvais faire le hack sans ce shield

Une pile carré de 9V ICI

Est des file pour la soudure ou la connexion



Voila la photo:

Image IPB





Alors commençons.

Image IPB

Image IPB

Image IPB

Image IPB

  • Dévisser les 4 vis à l'arrière du Robosapien (2 au niveau des épaules, 2 au niveau des hanches) pour accéder au PCB
  • Repérer le connecteur de la tête situé en haut du PCB (photo ci-dessus)
  • Retirer les différentes nappes de fils du PCB afin de pouvoir démonter ce dernier
  • Repérer le fils noir et blanc sur le « head connector ». Le noir correspond au GND, et le blanc au signal infrarouge (IR-OUT)
  • Retourner le PCB et souder un fil noir au point de soudure
    correspondant au GND puis un fil blanc à celui correspondant au signal
    infrarouge , ( ou dénudé le file noir et le blanc , puis réunissé lé comme je les fait )
  • Souder le « nouveau » fil blanc a la patte centrale d'un petit toggle switch 3-Pin
    puis ajouter un autre fil blanc à l'une des deux autres pattes. Cette
    manipulation permettra de switcher le Robosapien en mode télécommande ou
    Arduino.
  • Percer un trou quelque part sur le robot pour y placer le switch comme sur la photo si dessous.
    J'ai personnellement choisi l'arrière à côté du transducteur (voir photo
    ci-dessous)
  • Remonter le tout !
Image IPB
Image IPB
Image IPB

Image IPB

Le petit code sur lequel nous allons nous baser pour simuler les
données normalement envoyées par la télécommande.
Arduino permet donc de simuler la télécommande et communiquer en série
avec le robot. Avant de mettre le tout sous tension, il est important de
positionner le switch en mode manuel avant d'allumer le robot. Une fois ce dernier allumé, il convient alors de mettre le switch sur la position Arduino. Puis, branchez le fil blanc sur le PIN 3 de la carte, le fil noir sur le GND
puis optionnellement une LED sur le pin 13 ou une autre pin que vous voulez. Il faut ensuite uploader le
code ci-dessous sur la carte.

/*
 * écrire des codes IR Robosapien
 * écrire des données codées comme décrit ici:
 */
int led = 9; //LED bleu De la carte RTC sur pin 9
int LedControl = 13; 	// Afficher lorsque le contrôle est sur on
const int irPin = 3;
const int tsDelay = 833; // selon les l'estimations

enum roboCommand {
  // un très petit sous-ensemble de commandes
  turnRight = 0x80,
  rightArmUp = 0x81,
  rightArmOut = 0x82,
  tiltBodyRight = 0x83,
  rightArmDown = 0x84,
  rightArmIn = 0x85,
  walkForward = 0x86,
  walkBackward = 0x87,
  turnLeft = 0x88,
  leftArmUp = 0x89,
  leftArmOut = 0x8A,
  tiltBodyLeft = 0x8B,
  leftArmDown = 0x8C,
  leftArmIn = 0x8D,
  stopMoving = 0x8E,
  RSWakeUp = 0xB1,

  
  // Bruitage
  whistle = 0xCA,
  roar = 0xCE,
  RSRightHandStrike = 0xC0,
  RSRightHandSweep = 0xC1,
  burp = 0xC2,
  RSRightHandStrike2 = 0xC3,
  RSHigh5 = 0xC4, 
  RSFart = 0xC7,
  RSLeftHandStrike = 0xC8,
  RSLeftHandSweep = 0xC9,
};


void setup()
{
   pinMode(irPin, OUTPUT);
   digitalWrite(irPin, HIGH);
   pinMode(LedControl,OUTPUT);
   pinMode(led,OUTPUT);
  Serial.begin(9600);
  Serial.println("RobSapien Start");   
}

void delayTs(unsigned int slices) {
  delayMicroseconds(tsDelay * slices); 
}

void writeCommand(int cmd) //  type 'int' non 'robo Command' d'un environnement Arduino
{
  
  digitalWrite(irPin, LOW);
  delayTs(8);
    
  for(char b = 7; b>=0; b--) {
    digitalWrite(irPin, HIGH);
    delayTs( (cmd & 1<<<img src='http://www.robot-maker.com/forum/public/style_emoticons/default/cool.gif' class='bbc_emoticon' alt='B)' />/>/>/>/>/>/> ? 4 : 1 );
    digitalWrite(irPin, LOW);
    delayTs(1);        
  } 
  
  digitalWrite(irPin, HIGH);
  digitalWrite(LedControl,HIGH);
  digitalWrite(led,HIGH);
}


void loop()
{

   //Fonction du bras gauche 

   writeCommand(leftArmUp); // Lève le bras gauche
   delay(5000);
   
   writeCommand(rightArmUp);//Lève le bras droit
   delay(5000);

   writeCommand(leftArmOut); // Tourne l'avants bras gauche
   delay(2000);
   
   writeCommand(rightArmOut);//Tourne l'avants bras droit
   delay(2000);

   writeCommand(leftArmDown);//tir son bras gauche verre le bas 
   delay(5000);
   
   writeCommand(rightArmDown);//tir son bras droit verre le bas
   delay(5000);

   writeCommand(leftArmIn);//Ramène son bras gauche verre les hanche 
   delay(2000);
   
   writeCommand(rightArmIn);//Ramène son bras droit verre les hanche
   delay(2000);

   writeCommand(tiltBodyLeft);//Le corp du robot ce balance sur la gauche 
   delay(5000);

  writeCommand(turnLeft);//Le robot bouge en cercle pour aller sur sa gauche
  delay(5000);
 
   writeCommand(turnRight);//Le robot bouge en cercle pour aller sur sa droite
   delay(5000); 

   writeCommand(RSLeftHandStrike);//mouvement du bras gauche posture qui fait montré une chose
   delay(5000);

   writeCommand(RSLeftHandSweep);//mouvement du bras gauche posture qui ramase une chose
   delay(5000);

   writeCommand(tiltBodyRight);//Le corp du robot ce balance sur la droite
   delay(5000);

   writeCommand(RSRightHandSweep);//mouvement du bras droit se balance et se penche
   delay(5000);

   writeCommand(RSHigh5);//mouvement des du bras droit qui salut
   delay(5000);



   //Fonction stop

   writeCommand(stopMoving);//RoboSapiens en mode stop ou repos 
   delay(3000);




   // fonction du corp

   writeCommand(walkBackward);//Le robot bouge est recule est fait divers mouvement 
   delay(6000);

   writeCommand(walkForward);//Le robot bouge est avance est fait divers mouvement 
   delay(6000);


   //Fonction aléatoire 

   writeCommand(whistle);//RoboSapiens movement des bras aléatoire plus bruitage 
   delay(5000);


   writeCommand(roar);//RoboSapiens movement des bras aléatoire plus bruitage ( même    chose )
   delay(5000);

   writeCommand(burp);//RoboSapiens movement des genoux plus bruitage ( même chose )
   delay(5000);

   writeCommand(RSWakeUp);//RoboSapiens movement des deux bras plus bruitage ( même    chose )
   delay(5000);

   writeCommand(RSRightHandStrike);//RoboSapiens movement du bras droit plus hanche ( même chose )
   delay(5000);

   writeCommand(RSRightHandStrike2);//mouvement des deux bras 
   delay(5000);

   writeCommand(RSFart);//mouvement des de bras mode posture qui attend
   delay(5000);
  
}

Voila le code complet ^^
Moi
perso j'ai couper le son de la voix du robot , car sa me prenais la
tête , du coup je vais voir si cela est possible a lui rajouté une voix différente
pour chaque mouvement.
Voila les amies fin du tuto.


  • Tuc aime ceci


#56279 petit projet du weekend ^^

Posté par seb03000 - 21 mai 2013 - 10:54

oui en effet on ne peut pas lire l'image , donc si tu a mis l'image sur ton bureau de ton pc, ( clique sur utiliser l'éditeur complet )

clique sur cette icône Capture.PNG qui se trouve en bas a gauche, vas chercher ton image sur ton bureau de ton PC,

puis appuis sur entré , est en bas a droite , il y a marquer ( ajouter dans le message ).


#56276 petit projet du weekend ^^

Posté par seb03000 - 21 mai 2013 - 10:15

A , jolie stephane83

Continue comme ça , c'est cool de voir des petit projet comme sa avancer , ( c'est tous se que j'aime )

Tu pourrai illustrait ton projet avec une vidéo comme tu la fait plus haut ^^ , est aussi , en mettent des

photos du montage au fur est a mesure, ainsi que le code , on pourra voir ton évolution comme ça.

En tous cas, merci pour cette belle vidéo ( continue ton projet )


#56206 microcontroleur

Posté par seb03000 - 17 mai 2013 - 04:00

Non le datasheet c'est sa fiche , sa notice quoi , si tu la pas , cherche le sur le net avec le numéro de référence sur ton µprocesseu


#56201 microcontroleur

Posté par seb03000 - 17 mai 2013 - 12:41

Oui le ( GND ) est la masse où = la terre.

Sur ton µprocesseur on le voie très très mal sur la photo donc peut pas t'aidai , ta pas le datasheet de ton µprocesseu , car sa dois être marqué


#56180 microcontroleur

Posté par seb03000 - 16 mai 2013 - 06:56

A je voie , donc le cinquième file , c'est une masse ( les deux files noir son bien une masse ) donc a brancher sur du GND

PS: les deux autre photo on voie très mal , ( comme tu la dis plus haut )


#56157 microcontroleur

Posté par seb03000 - 15 mai 2013 - 09:45

Bonjour seb2d2.

8 pattes au total dans un µcontroleur


Aurais tu des photo ^^ de ton µcontroleur a 8 broche ???

Si oui peut tu la mettre, merci.

Sinon voici ce que j'ai pu trouvais , sur la composition des files USB:

Mon lien

Mon lien

Mon lien

Mon lien

Et je pense que tu dois avoir 4 files , est non 5 files , mais vérifie encore une fois pour être sûre.

@Cordialement


#56128 projet robot xbee

Posté par seb03000 - 15 mai 2013 - 08:39

Bonjour toinou.

Dis , je ne voie pas la déclaration de l'xbee dans ton code , sans doute la causse de se problème.


#56001 RS 630 (robot tondeur)

Posté par seb03000 - 08 mai 2013 - 11:14

Ok mais il est ou ton lien , non car on ne le voie pas ????


#53094 Mon projet

Posté par seb03000 - 24 janvier 2013 - 10:47

En liaison sans fil je voie le fameux XBee ( bien sûr y an a d'autre ) , voici un lien pour toi http://www.pobot.org/Reseau-sans-fil-XBee.html

Tu la sandoutes consulté.


#53070 Robot detecteur d'obstacle sur Servo

Posté par seb03000 - 23 janvier 2013 - 05:29

Une batterie LiPo de 7,4V 2200mAh serra amplement suffisante , enfin c'est mon avis.

Si tu veux en acheter une , voici le lien




@Cordialement.





#53059 Robot detecteur d'obstacle sur Servo

Posté par seb03000 - 22 janvier 2013 - 08:59

Je pance que sa doie venir de ton allimantation qui n'est pas assez forte


#52152 2 mot: A l'aide

Posté par seb03000 - 14 décembre 2012 - 08:50

Et si tu m'été ton code , ainsi que le plan de ton montage , et les branchements que tu a fait , cela serra sans doute plus facile pour que l'on t'aide.


#52107 Problème sur robot a chenille

Posté par seb03000 - 11 décembre 2012 - 11:32

Question toute bête , quel et la source d'alimentation utilisé pour ton concept ??? l
l
Quel son les moteurs utilisé pour ton robot chenille ^^ ??? l
l
.....................................................................................................................................................................................l

Désolé si je n'est pas suivi ton projet , donc je vais sans doute cité des questions qui on déjà été sans doute posé laure de tes poste.

Quel carte Arduino utilise tu ???

Utilise tu une carte shield pour tes moteurs et tes modules ???