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 YouTube pour plus de contenue https://www.youtube.com/c/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 du moment : -48%
Xiaomi Redmi Airdots – Ecouteurs sans fils
Voir le deal
10.49 €

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]

1Mon premier Robot - Bras robotisé Empty Mon premier Robot - Bras robotisé le Ven 20 Fév - 13:45

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 ???


_________________
Ma chaîne YouTube: https://www.youtube.com/c/DarkBest
Ma chaîne Twitch : https://www.twitch.tv/darkbestplayer
✚ Tout mes live serons lancer au même moment en simultanément suivez moi. 
YouTube: https://www.youtube.com/watch?v=alEbwZ7AtTQ&feature=youtu.be
Twitch: https://www.twitch.tv/darkbestplayer
Mixer: https://mixer.com/seb1984
stream.me: https://www.stream.me/settings/stream https://www.smashcast.tv/studio/DarkBest03/live
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);
}
}


_________________
Ma chaîne YouTube: https://www.youtube.com/c/DarkBest
Ma chaîne Twitch : https://www.twitch.tv/darkbestplayer
✚ Tout mes live serons lancer au même moment en simultanément suivez moi. 
YouTube: https://www.youtube.com/watch?v=alEbwZ7AtTQ&feature=youtu.be
Twitch: https://www.twitch.tv/darkbestplayer
Mixer: https://mixer.com/seb1984
stream.me: https://www.stream.me/settings/stream https://www.smashcast.tv/studio/DarkBest03/live
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 ???


_________________
Ma chaîne YouTube: https://www.youtube.com/c/DarkBest
Ma chaîne Twitch : https://www.twitch.tv/darkbestplayer
✚ Tout mes live serons lancer au même moment en simultanément suivez moi. 
YouTube: https://www.youtube.com/watch?v=alEbwZ7AtTQ&feature=youtu.be
Twitch: https://www.twitch.tv/darkbestplayer
Mixer: https://mixer.com/seb1984
stream.me: https://www.stream.me/settings/stream https://www.smashcast.tv/studio/DarkBest03/live
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