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 :
LEGO Icons 10331 – Le martin-pêcheur
35 €
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]

J_W

J_W
Membre
Membre
bonjour,

Voila je vais me lancer dans mon premier projet, un bras robotisé. Pour info c'est ma 
première expérience dans ce domaine.

Le projet,( il ne sert a rien mais c'est pour le Fun) le but c'est que le bras va prendre un 
stylo dans un godet et écrire le mot ARDUINO. Pour me familiariser a l'utilisation 
des codes j'ai fait un petit exercice qui permet de piloter 2 servos.

Ce que fait les lignes de codes:

Au démarrage je force mes servos en position 0
ensuite le servo3 fait un déplacement de 90°
reste en position
Le servo9 fait un deplacement de 180°
retour au depart les servo3 et servo9 reviennent en position 0



Code:
// mouvement de 2 servos décallés de 15ms et retour en simultané 
#include <Servo.h> 
 
Servo servo3;   
Servo servo9;                 
 
int pos = 0;    
 
void setup() 

  servo3.attach(3); 
  servo9.attach(9); 

 
void loop()
{
for(pos = 90; pos > 1; pos -=1)        //retour des servo a la position zero  
  {                                
    servo3.write(pos);
    servo9.write(pos);
    delay(6);                          // delay du retour 6ms
  } 
  for(pos = 0; pos < 90; pos += 1)   
  {                                   
    servo3.write(pos);               
    delay(15); 
  
  } 
  for(pos = 0; pos < 180; pos += 1)   
  {                                   
    servo9.write(pos);               
    delay(15); 
    
  } 
}



C'est tout pour le moment.


J'attend mes 6 miniservos, je vous mettrai au fur a mesure des photos de mon avancement dans
la réalisation mecanique. Ensuite je me lancerai dans les codes.

Dark Best

Dark Best
Fondateur
Fondateur
ok, dis moi tu compte piloté ton bras , ou luis mettre un capteur pour qui puisse ramasser un objet ,

ou simplement mettre un code pure , afin qui suivie une trajectoire donner suivent les variable que tu

lui implantera dans son programme ???

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

J_W

J_W
Membre
Membre
Je vais faire un code pure pour le moment, sinon ensuite pourquoi pas lui mettre des capteurs et lui mettre plusieurs fonctions...mais là il faudra attendre un peu...
Tu es le bienvenue pour des conseilles...

J_W

J_W
Membre
Membre
J'aimerai mettre un Bouton poussoir pour démarrer et arreter le programme, mais je n'arrive pas a situer ou je doit mettre mes lignes de code.

Dark Best

Dark Best
Fondateur
Fondateur
Salut voici un exemple de code que je tes fait pour allumer une led et l’éteindre avec un bouton poussoir, je tes mis les définition.


Code:
const int bouton = 2; //le bouton est connecté à la broche 2 de la carte Adruino
const int led = 13; //la LED à la broche 13

int etatBouton; //variable qui enregistre l'état du bouton


void setup()
{
  pinMode(led, OUTPUT); //la led est une sortie
  pinMode(bouton, INPUT); //le bouton est une entrée
  etatBouton = HIGH; //on initialise l'état du bouton comme "relaché"
}

void loop()
{
  etatBouton = digitalRead(bouton); //Rappel : bouton = 2
 
  if(etatBouton == HIGH) //test si le bouton a un niveau logique HAUT
  {
      digitalWrite(led,LOW); //la LED reste éteinte
  }
  else  //test si le bouton a un niveau logique différent de HAUT (donc BAS)
  {
      digitalWrite(led,HIGH); //le bouton est appuyé, la LED est allumée
 
delay(9000);
}
}

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

J_W

J_W
Membre
Membre
Voila ma petite création, il y a encore quelque truc a améliorer sutout au niveau de la pince !

Dark Best

Dark Best
Fondateur
Fondateur
A j'adore jolie beau travaille , ton bras na pas de perturbation, son comportement et très stable.

Niveau programmation alors tu a fait comment ???

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

J_W

J_W
Membre
Membre
voila le Code:

Code:
// Bras_Robot
// by Joe_white
//exemple d'utlisation de servomoteur


#include <Servo.h>
 
Servo epaule;
Servo coude;
Servo poignet;
Servo doigt;

const int BP= 2;
const int ledv = 11;
const int ledr = 3;
int pos = 0;
int pas = 1;
int pasep =5;
int Te  = 20;  

 
void setup(void)
{
  pinMode(BP,INPUT_PULLUP);
  pinMode(ledv, OUTPUT);
  pinMode(ledr, OUTPUT);
  epaule.attach(10);
  coude.attach(5);
  poignet.attach(6);
  doigt.attach(9);
    
}
 
 
void loop(void)

{
  start();
  while(1)
  {
epaule180();
  
coude4();
  
doigt40();
  
coude40();
  
epaule0();
  
coude4();
  
doigt90();
  
coude40();
  
epaule90();
  
coude4();
  
doigt40();
  
coude40();
  
epaule180();
  
coude4();
  
doigt90();

coude40();
  
epaule0();
  
coude4();
  
doigt40();
  
coude40();
  
epaule90();
  
coude4();
  
doigt90();
  
coude40();

}
}

//-------------------------
  void epaule90(void)
  {
  for(pos = 0; pos<90; pos+=pasep)    
   {                              
   epaule.write(pos);              
   delay(Te);
 }
  }
//------------------------
void coude40(void)
{
     for(pos = 50 ; pos <= 120; pos+=1)    
poignet.write(pos);

  for(pos = 5; pos <= 80; pos +=1)
  coude.write(pos);
  delay(800);  
 
      
  
}
//-------------------------
  void coude4(void)
  {
        
  
 poignet.write(50);
 
    for(pos = 80; pos>=5 ; pos-=5)
   {
  coude.write(pos);
 delay(60);
  
  
}
  }
//------------------------
  void doigt90(void)
  {
  for(pos = 40; pos <90; pos+=pas)    
   {                              
 doigt.write(pos);              
   delay(20);
 }
  }
//----------------------
 void doigt40(void)
  {
  for(pos = 90; pos>=40; pos-=pas)    
   {                              
 doigt.write(pos);              
   delay(5);
 }
  }
//------------------------
 void epaule0(void)
  {
  for(pos = 180; pos>=0; pos-=pasep)    
   {                              
   epaule.write(pos);              
   delay(Te);
 }
  }
//------------------------
  void epaule180(void)
{
  for(pos = 90; pos < 180; pos += pasep)  
  {                                  
    epaule.write(pos);              
    delay(Te);                      
  }
}
//Start

void start (void)
{
 while( digitalRead(BP) == HIGH)      
 {
 }
delay(500);
 digitalWrite(ledv, HIGH);
delay(500);
digitalWrite(ledr,HIGH);
    delay(1000);          
    }
    

Contenu sponsorisé


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