Aller au contenu


Pilote

Inscrit(e) (le) 26 juin 2011
Déconnecté Dernière activité juin 28 2012 09:25
-----

Sujets que j'ai initiés

Recherche robot-makers de Loire-Atlantique

24 mars 2012 - 10:47

Salut à tous,

j'aimerai assez rencontrer d'autres créateurs, bricoleurs, bidouilleurs, artistes, passionnés par la robotique utile ou pas...
Pour les nantais (et les autres aussi ;) ) , je travaille aux Machines de l'Ile, et il est probable que je puisse assez facilement trouver un local où l'on pourrait se retrouver

Voilà, si le coeur vous en dit!

@+
Pilote

1er robot 2 roues

21 février 2012 - 12:16

Bonjour,

pour un premier essai, j'ai construit ce petit robot, basé sur une carte romeo...

Image IPB

le capteur US est monté sur un servo pour balayage
le tout (mesure de distance et commande servo) est geré par ce morceau de code , testé et opérationnel :

#include "URMSerial.h"   
#include "Servo.h"  
URMSerial urm;   
Servo myservo; //objet servo controle un servo  
int pos = 0;    // variable to store the servo position
int distance;  
  
void setup() {   
    Serial.begin(9600); // initialisation de la connexion Arduino / PC  
    urm.begin(9,10,9600); // initialisation du capteur sur les pattes 9 et 10 à la vitesse 9600  
myservo.attach(11);
}  
  
void loop()   
{  
   // mise à jour de la distance  
   urm.requestMeasurementOrTimeout(1, distance);  
   // on en fait ce qu'on veut, l'afficher par exemple  
   Serial.print("Distance : ");  
   Serial.println(distance);  
   delay(50);   

  for(pos = 0; pos < 180; pos += 1)  // goes from 0 degrees to 180 degrees 
  {                                  // in steps of 1 degree 
    myservo.write(pos);              // tell servo to go to position in variable 'pos' 
    delay(15);                       // waits 15ms for the servo to reach the position 
  } 
  for(pos = 180; pos>=1; pos-=1)     // goes from 180 degrees to 0 degrees 
  {                                
    myservo.write(pos);              // tell servo to go to position in variable 'pos' 
    delay(15);                       // waits 15ms for the servo to reach the position 
  } 
} 

ensuite les 2 moteurs sont gérés par ce code, aussi testé et opérationnel

//Standard PWM DC control

int E1 = 5;     //M1 Speed Control
int E2 = 6;     //M2 Speed Control
int M1 = 4;    //M1 Direction Control
int M2 = 7;    //M1 Direction Control

///For previous Romeo, please use these pins.
//int E1 = 6;     //M1 Speed Control
//int E2 = 9;     //M2 Speed Control
//int M1 = 7;    //M1 Direction Control
//int M2 = 8;    //M1 Direction Control


void stop(void)                    //Stop
        {
          digitalWrite(E1,LOW);   
          digitalWrite(E2,LOW);      
        }   
void advance(char a,char <img src='http://www.robot-maker.com/forum/public/style_emoticons/<#EMO_DIR#>/cool.gif' class='bbc_emoticon' alt='B)' />          //Move forward
        {
          analogWrite (E1,a);      //PWM Speed Control
          digitalWrite(M1,HIGH);    
          analogWrite (E2,<img src='http://www.robot-maker.com/forum/public/style_emoticons/<#EMO_DIR#>/cool.gif' class='bbc_emoticon' alt='B)' />;    
          digitalWrite(M2,HIGH);
        }  
void back_off (char a,char <img src='http://www.robot-maker.com/forum/public/style_emoticons/<#EMO_DIR#>/cool.gif' class='bbc_emoticon' alt='B)' />          //Move backward
        {
          analogWrite (E1,a);
          digitalWrite(M1,LOW);   
          analogWrite (E2,<img src='http://www.robot-maker.com/forum/public/style_emoticons/<#EMO_DIR#>/cool.gif' class='bbc_emoticon' alt='B)' />;    
          digitalWrite(M2,LOW);
}
void turn_L (char a,char <img src='http://www.robot-maker.com/forum/public/style_emoticons/<#EMO_DIR#>/cool.gif' class='bbc_emoticon' alt='B)' />             //Turn Left
        {
          analogWrite (E1,a);
          digitalWrite(M1,LOW);    
          analogWrite (E2,<img src='http://www.robot-maker.com/forum/public/style_emoticons/<#EMO_DIR#>/cool.gif' class='bbc_emoticon' alt='B)' />;    
          digitalWrite(M2,HIGH);
        }
void turn_R (char a,char <img src='http://www.robot-maker.com/forum/public/style_emoticons/<#EMO_DIR#>/cool.gif' class='bbc_emoticon' alt='B)' />             //Turn Right
        {
          analogWrite (E1,a);
          digitalWrite(M1,HIGH);    
          analogWrite (E2,<img src='http://www.robot-maker.com/forum/public/style_emoticons/<#EMO_DIR#>/cool.gif' class='bbc_emoticon' alt='B)' />;    
          digitalWrite(M2,LOW);
        }
void setup(void) 
{ 
    int i;
    for(i=4;i<=7;i++)
    pinMode(i, OUTPUT);  
    Serial.begin(9600);      //Set Baud Rate
} 
void loop(void) 
{ 
     char val = Serial.read();
     if(val!=-1)
       {
          switch(val)
           {
             case '2'://Move Forward
                     advance (100,100);   //move forward in max speed
                     break;
             case '1'://Move Backward
                     back_off (100,100);   //move back in max speed
                     break;
             case '3'://Turn Left
                     turn_L (50,50);
                     break;       
             case '4'://Turn Right
                     turn_R (50,50);
                     break;          
            }     
          delay(500); 
       }
      else stop();  
}


maintenant, j'aimerai me servir des distances lues par le capteur pour gerer les moteurs...
et là, je bute!

pouvez-vous m'aider?

en vous remerciant

@+

montage pour leds RGB et MAX7219

21 décembre 2011 - 12:37

Bonjour,

Quelqu'un aurait-il essayé de mettre un jeux de lumière sur son robot avec ces composants?
Max7219 et leds RGB
Merci d'avance pour votre aide

@+

Batterie Lifepo4

30 novembre 2011 - 09:51

Bonjour,

J'utilise déjà ce type de batterie lifepo4 en 48V, pour un vélo électrique "home made" à ma grande satisfaction...mais j'ai le chargeur 48V dédié à la batterie
Où trouver un chargeur pour un pack composé d'éléments de chez Maximus Racing...cela conditionne un achat chez eux et pourtant, je n'ai trouvé aucun lien sur leur site

Merci pour votre réponse

@+

Robot king size

10 octobre 2011 - 10:54

Bonjour à tous,

Pour un projet artistique, nous construisons un robot motorisé par 2 moteurs CC 24V-42 W de fauteuil roulant avec réducteurs débrayables, alimentés par 2 batteries 12V de voiture et susceptible de déplacer plus ou moins 200 kilos

J'ai donc investi dans une DFRduino 2009 pour brancher une future batterie de capteurs en tout genre (distance, chocs, IR etc, suivant besoin)
Pour l'instant, j'aimerai contrôler, à distance, le chassis motorisé...
Pour le contrôle des moteurs, je pensais pouvoir utiliser ce module Mon lien étant donné que mes moteurs ne dépassent pas les 2A

Par contre, pour le contrôle à distance, que me faudrait-il pour utiliser une radiocommande de modelisme ?
un module Xbee et le Shield Extension IO V5 pour Arduino vous semblent-il appropriés ?

on utilisera sans doute une futaba 4 voies 2.4 Ghz
la partie radiocommande servira surtout à déplacer le robot pour mise en poste

j'aimerai éventuellement une confirmation que nous faisons le bon choix de matos...
pour la mise en oeuvre, nous comptons passer l'hiver à mettre tout çà en route pour un spectacle au printemps
cela vous semble-t-il jouable?

Désolé de ne pas pouvoir nous étendre de trop sur le projet...la surprise compte beaucoup
Merci d'avance pour vos réponses
@+
Pilote

P.S. Nous avons déjà posté ce message sur le forum arduino français, n'y voyez pas autre chose qu'une demande de renseignements rapides compte tenu des délais imposés