D'accord j'ai bien tout relu ^^
et j'ai déjà fait ça pour un peu organiser le travail.
//Robot.ino
#include "Arduino.h"
#include "Robot.h"
void setup()
{
Serial.begin(9600);
}
void loop()
{
if (Serial.available() > 0)
{
char ch = Serial.read();
switch(ch) {
case 'a':
tibias();
debout();
break;
case'b':
for(int i =0; i <7; i++)
{
avancer();
}
case'c':
for(int i =0; i <4; i++)
{
tourner_droite();
}
break;
case'd':
for(int i =0; i <4; i++)
{
tourner_gauche();
}
break;
}
}
}
#include "Arduino.h"
#include "Robot.h"
void Protocole(double Numservo, double mouvement, double temps)
{
String avancer = "#";
avancer.concat(String(Numservo,DEC));
avancer.concat("P");
avancer.concat(String(mouvement,DEC));
avancer.concat("T");
avancer.concat(String(temps,DEC));
Serial.println(avancer);
}
void Move(double x, double y, double z)
{
//debout equivaut a (0,0,20) en coordonnée ...)
}
/**************Demarche*****************/
void debout()
{
for(int i=16 ; i<=28; i ++)
{
Move(i,1500,1000);
}
}
void avancer()
{
/***********************ARR_DROITE******************************/
Move(17,2000,50);
delay(Temps2);
Move(16,1700,Temps);
delay(Temps2);
Move(17,1500,Temps);
delay(Temps3);
Move(16,1300,Temps3);
/***********************AV_DROITE******************************/
//Move(19,1400,Temps);
delay(Temps2);
Move(20,2000,50);
delay(Temps2);
Move(19,1700,Temps);
delay(Temps2);
Move(20,1500,Temps);
delay(Temps3);
Move(19,1500,Temps3);
/*************************ARR_GAUCHE****************************/
Move(23,2000,50);
delay(Temps2);
Move(22,1200,Temps);
delay(Temps2);
Move(23,1500,Temps);
delay(Temps3);
Move(22,1700,Temps3);
/***********************AV_GAUCHE******************************/
//Move(25,1600,Temps);
delay(Temps2);
Move(26,2000,50);
delay(Temps2);
Move(25,1300,Temps);
delay(Temps2);
Move(26,1500,Temps);
delay(Temps3);
Move(25,1500,Temps3);
}
void tourner_droite()
{
/*************************ARR_GAUCHE****************************/
Move(23,2000,50);
delay(Temps2);
Move(22,1100,Temps);
delay(Temps2);
Move(23,1500,Temps);
delay(Temps3);
Move(22,1500,Temps3);
/***********************AV_GAUCHE******************************/
//Move(25,1600,Temps);
delay(Temps2);
Move(26,2000,50);
delay(Temps2);
Move(25,1100,Temps);
delay(Temps2);
Move(26,1500,Temps);
delay(Temps3);
Move(25,1500,Temps3);
/***********************AV_DROITE******************************/
//Move(19,1400,Temps);
delay(Temps2);
Move(20,2000,50);
delay(Temps2);
Move(19,1100,Temps);
delay(Temps2);
Move(20,1500,Temps);
delay(Temps3);
Move(19,1500,Temps3);
/***********************ARR_DROITE******************************/
Move(17,2000,50);
delay(Temps2);
Move(16,1100,Temps);
delay(Temps2);
Move(17,1500,Temps);
delay(Temps3);
Move(16,1500,Temps3);
}
void tourner_gauche()
{
/***********************ARR_DROITE******************************/
Move(17,2000,50);
delay(Temps2);
Move(16,1850,Temps);
delay(Temps2);
Move(17,1500,Temps);
delay(Temps3);
Move(16,1500,Temps3);
/***********************AV_DROITE******************************/
//Move(19,1400,Temps);
delay(Temps2);
Move(20,2000,50);
delay(Temps2);
Move(19,1850,Temps);
delay(Temps2);
Move(20,1500,Temps);
delay(Temps3);
Move(19,1500,Temps3);
/*************************ARR_GAUCHE****************************/
Move(23,2000,50);
delay(Temps2);
Move(22,1850,Temps);
delay(Temps2);
Move(23,1500,Temps);
delay(Temps3);
Move(22,1500,Temps3);
/***********************AV_GAUCHE******************************/
//Move(25,1600,Temps);
delay(Temps2);
Move(26,2000,50);
delay(Temps2);
Move(25,1850,Temps);
delay(Temps2);
Move(26,1500,Temps);
delay(Temps3);
Move(25,1500,Temps3);
}
void tibias()
{
Move(18,1470,Temps);
Move(21,1470,Temps);
Move(24,1470,Temps);
Move(27,1470,Temps);
}
#include "Arduino.h"
/*****Mesure********* (mm)*/
const int coax=41;
const int feemur=53;
const int tibiat=98;
/*******PLAN********* Point de départ du robot (mm)*/
const int X_distance_patte =120;
const int Y_distance_patte =80; //centre vers l'extrémité des pattes
const int Z_distane_patte =20; //Offset fixe hauteur
/*******RAPIDE*******/
const int Temps=50;
const int Temps2=100;
const int Temps3=400;
/*******LENT********
int Temps=500;
int Temps2=1000;
int Temps3=2000;
/********************FONCTION**************************/
void Protocole(double Numservo, double mouvement, double temps);
void Move(double x, double y, double z);
void debout();
void avancer();
void tourner_droite();
void tourner_gauche();
void tibias();