








je prefere notifié que j'ai fait ca a l'arrache( mal de crane


qu'en pensez vous?
cordialement
rbot99
Posté 20 juin 2012 - 10:28
dsl de mon absence sur mon sujet pour vous reconpencer (
) :
[...]
qu'en pensez vous?
Mon site internet : http://ferdinandpiette.com/
Posté 20 juin 2012 - 10:37
pour les roue je compte les laissé comme ceci,pour la roue folle je vais la surélever au besoin (un grand merci a black templar sans lequelle j'aurai fait une belle conner**)Google Sketchup, ça se voit tout de suite
Sinon moi j'aurais centré les roues.
Posté 21 juin 2012 - 06:10
et pout le logiciel c'est évidament google sketchup (j'essaye blender mais je n'y arrive pas!!)
Mon site internet : http://ferdinandpiette.com/
Posté 21 juin 2012 - 06:24
J'aime ce logiciel
Sauf quand il plante...
![]()
Sinon il y a des versions étudiantes (si l'école a plus d'un certain nombre de licence).
Posté 21 juin 2012 - 07:13
Oulah alors là j'en ai des pas mal à raconter... Dont les 3 annulés qui ont planter solidworks supprimant toutes mes avancées... Et surtout sur le modèle numérique du PPE : pièces qui changent de taille (des vis faites avec la toolbox), des contraintes qui disparaissent, des côtes qui étaient complètement fausses, des cercles non coaxiaux alors qu'ils étaient côtés de la même manière... Et encore j'en passe !toi aussi tu as eu le fameux crash en plein TP, celui qui t'oblige à tout recommencer en un minimum de temps alors que t'avais enfin réussi?
Posté 23 juin 2012 - 11:03
#include <Servo.h> #include <Ultrasonic.h> #define TRIGGER_PIN 12 #define ECHO_PIN 13 Ultrasonic ultrasonic(TRIGGER_PIN, ECHO_PIN); #define AVANT 1 #define ARRIERE 0 #define GAUCHE 2 #define DROITE 3 #define SERVOG 1 #define SERVOD 0 #define UPDDG 3 #define UPDDD 4 #define UPDDA 10 #define VMAX 5 Servo servog; Servo servod; int vLdr = 5; int getNeutral(int s) { if(s == SERVOG) return 86; else return 84; } void handleS(int s, int speed) { //Vitesse : // 0 -> 0; 1 -> 1; 2 -> 3; 3 -> 8; 4 -> 10; v => 5 -> 30 int tab[6] = {0,1,3,8,10,30}; int pos = getNeutral(s); int acc; if (speed < 0) acc = - tab[abs(speed)]; else acc = tab[speed]; if(s == SERVOG) servog.write(pos += acc); else servod.write(pos -= acc); } void move(int direction) { int m1 = 0, m2 = 0; switch(direction) { case DROITE: m1 = 1; m2 = -1; break; case GAUCHE: m1 = -1; m2 = 1; break; case AVANT: m1 = 1; m2 = 1; break; case ARRIERE: m1 = -1; m2 = -1; break; } handleS(SERVOG, m1*VMAX); handleS(SERVOD, m2*VMAX); } void setup() { pinMode(UPDDG, INPUT); pinMode(UPDDD, INPUT); pinMode(UPDDA, INPUT); Serial.begin(9600); servog.attach(10); servod.attach(9); move(AVANT); } void loop() { float cmMsec, inMsec; long microsec = ultrasonic.timing(); cmMsec = ultrasonic.convert(microsec, Ultrasonic::CM); inMsec = ultrasonic.convert(microsec, Ultrasonic::IN); Serial.print("MS: "); Serial.print(microsec); Serial.print(", CM: "); Serial.print(cmMsec); Serial.print(", IN: "); Serial.println(inMsec); delay(1000); if(microsec <= 360) { handleS(SERVOG, 0); handleS(SERVOD, VMAX); delay(1500); }else { handleS(SERVOG, VMAX); handleS(SERVOD, VMAX); } if(UPDDD, LOW) { move(ARRIERE); delay(300); move(DROITE); delay(900); }else if(UPDDA, LOW) { handleS(SERVOG, 0); handleS(SERVOD, VMAX); } else { handleS(SERVOG, VMAX); handleS(SERVOD, VMAX); } if(UPDDG, LOW) { move(ARRIERE); delay(300); move(GAUCHE); delay(900); } else if(UPDDA, LOW) { handleS(SERVOG, 0); handleS(SERVOD, VMAX); } else { handleS(SERVOG, VMAX); handleS(SERVOD, VMAX); } }et voila!!
Posté 24 juin 2012 - 01:03
#include <Servo.h> #include <Ultrasonic.h> #define TRIGGER_PIN 12 #define ECHO_PIN 13 Ultrasonic ultrasonic(TRIGGER_PIN, ECHO_PIN); #define AVANT 1 #define ARRIERE 0 #define GAUCHE 2 #define DROITE 3 #define SERVOG 1 #define SERVOD 0 #define UPDDG 3 #define UPDDD 4 #define UPDDA 10 #define VMAX 5 Servo servog; Servo servod; int vLdr = 5; int getNeutral(int s) { if(s == SERVOG) return 86; else return 84; } void handleS(int s, int speed) { //Vitesse : // 0 -> 0; 1 -> 1; 2 -> 3; 3 -> 8; 4 -> 10; v => 5 -> 30 int tab[6] = {0,1,3,8,10,30}; int pos = getNeutral(s); int acc; if (speed < 0) acc = - tab[abs(speed)]; else acc = tab[speed]; if(s == SERVOG) servog.write(pos += acc); else servod.write(pos -= acc); } void move(int direction) { int m1 = 0, m2 = 0; switch(direction) { case DROITE: m1 = 1; m2 = -1; break; case GAUCHE: m1 = -1; m2 = 1; break; case AVANT: m1 = 1; m2 = 1; break; case ARRIERE: m1 = -1; m2 = -1; break; } handleS(SERVOG, m1*VMAX); handleS(SERVOD, m2*VMAX); } void setup() { pinMode(UPDDG, INPUT); pinMode(UPDDD, INPUT); pinMode(UPDDA, INPUT); Serial.begin(9600); servog.attach(10); servod.attach(9); move(AVANT); } void loop() { float cmMsec, inMsec; long microsec = ultrasonic.timing(); cmMsec = ultrasonic.convert(microsec, Ultrasonic::CM); inMsec = ultrasonic.convert(microsec, Ultrasonic::IN); Serial.print("MS: "); Serial.print(microsec); Serial.print(", CM: "); Serial.print(cmMsec); Serial.print(", IN: "); Serial.println(inMsec); delay(1000); if(microsec <= 360) { handleS(SERVOG, 0); handleS(SERVOD, VMAX); delay(1500); }else { handleS(SERVOG, VMAX); handleS(SERVOD, VMAX); } if(UPDDD, HIGH) { move(ARRIERE); delay(300); move(DROITE); delay(900); }else if(UPDDA, HIGH) { handleS(SERVOG, 0); handleS(SERVOD, VMAX); } else { handleS(SERVOG, VMAX); handleS(SERVOD, VMAX); } if(UPDDG, HIGH) { move(ARRIERE); delay(300); move(GAUCHE); delay(900); } else if(UPDDA, HIGH) { handleS(SERVOG, 0); handleS(SERVOD, VMAX); } else { handleS(SERVOG, VMAX); handleS(SERVOD, VMAX); } }
Posté 24 juin 2012 - 03:09
... et il restera apparemment encore un souci que je n'ai pas encore trouvé.long microsec = ultrasonic.Timing();
Serial.print("MS: ");
Serial.print(microsec);
Serial.print(", CM: ");
Serial.print(ultrasonic.Ranging(CM));
Serial.print(", IN: ");
Serial.println(ultrasonic.Ranging(INC));
delay(1000);
Posté 24 juin 2012 - 03:11
Je crois que tu devrais déjà remplacer les lignes correspondantes par ça :
... et il restera apparemment encore un souci que je n'ai pas encore trouvé.
(j'espère qu'on a bien la même version de la lib ultrasonic).
Posté 24 juin 2012 - 06:17
merci de vos réponses,j'ai peut être trouvé le probleme:Ce n'est pas parce qu'un code compile qu'il fonctionne, loiiiiiinnnnnnnn de la !
0 members, 1 guests, 0 anonymous users