problème avec le capteur sharp
#1
Posté 14 août 2011 - 02:14
J'ai un petit problème avec mon capteur infrarouge sharp , et je voulais savoir comment on c'est si le capteur fonctionne, ou ne fonctionne pas???
Aviez-vous des idées
#2
Posté 14 août 2011 - 02:30
il faut l'alimenter avec 5volts, et mesurer la sortie (est-ce que tu as un voltmètre chez toi? sinon tu peux utiliser les entrées analogiques d'un arduino par exemple.)
#3
Posté 14 août 2011 - 03:15
sinon tu peux utiliser les entrées analogiques d'un arduino par exemple
Peux-tu m’éclairer sur la pratique de ton astuce , merci
#4
Posté 14 août 2011 - 08:06
#5
Posté 14 août 2011 - 08:20
Comment ça??C'est a dire tu ne capte plus rien? Quand tu lis sur la pin avec le serial monitor de arduino tu as quoi?
De toute façon oui j'ai l’impression que le capteur ne fonctionne pas.
Voici mon code de mon robot
#include <Servo.h> int vitesse1 = 6; int vitesse2 = 5; int direction1 = 7; int direction2 = 4; int capteur = 0; // broche analogique utilisé pour connecter le capteur int val; // variable pour lire la valeur de la broche analogique Servo myservo;// créer un objet de servo pour contrôler un servomoteur void Moteur1(int valeur_vitesse, boolean sens_avant) { analogWrite(vitesse1,valeur_vitesse); //valeur_vitesse = 0 à l'arrêt, et 255 pour vitesse maximum if(sens_avant) { digitalWrite(direction1,HIGH); } else { digitalWrite(direction1,LOW); } } void Moteur2(int valeur_vitesse, boolean sens_avant) { analogWrite(vitesse2,valeur_vitesse); //valeur_vitesse = 0 à l'arrêt, et 255 pour vitesse maximum if(sens_avant) { digitalWrite(direction2,HIGH); } else { digitalWrite(direction2,LOW); } } void setup() { myservo.attach(2); // attache le servo sur la broche 2 à l'objet servo int i; for(i=4;i<=8;i++) pinMode(i, OUTPUT); //met les pin 4,5,6,7 en mode sortie } void loop() { val = analogRead(capteur); // lit la valeur du capteur (valeur comprise entre 0 et 115) val = map(val, 0, 115, 0, 300); // l'échelle pour l'utiliser avec le servo (valeur entre 0 et 300) myservo.write(val); // définit la position d'asservissement en fonction de la valeur à l'échelle delay(1000); // attend que le servo pour y arriver if (val <= 170) // si on est à moins de quelque cm d'un obstacle { Moteur1(0,true); //j’arrête le moteur 1 Moteur2(0,true); // j’arrête le moteur 2 delay(300); //j’attends quelque secondes Moteur1(255,true); //j'avance le moteur 1 a fond Moteur2(0,true); // j’arrête le moteur 2 delay(400); //j’attends quelque secondes Moteur1(255,true); //J'avance tout droit en mettant les 1 moteurs à fond Moteur2(255,false); //J'avance tout droit en mettant les 2 moteurs à fond } else { Moteur1(255,false); Moteur2(255,true); } }
édité: c'est fait Black Templar j'ai mis la balise
#6
Posté 14 août 2011 - 08:43
Si tu as plusieurs capteurs du même type, tu peux tester si le code que tu as ici marche sur l'un d'entre eux. Si c'est le cas, ça veut dire que ton capteur est effectivement cramé !
Sinon, n'oublie pas de mettre en page ton code source en l'encadrant par les balises [ code] et [ /code] !
++
Black Templar
Mon site internet : http://ferdinandpiette.com/
#7
Posté 14 août 2011 - 09:57
Sinon non , j'ai qu'un capteur , je ne vais pas pourvoir faire le teste que tu me proposes.
#8
Posté 14 août 2011 - 10:47
http://arduino.cc/en/Tutorial/AnalogReadSerial
Ca va permettre de voir ce que tu recois en decimal ou en hexa a toi de decider!
Comme ça tu verra si tu passe quelque chose devant si il ne recoit vraiment rien, moi j'ai d'abord fait ça pour comprendre vraiment les valeurs que j'obtenais!
#9
Posté 15 août 2011 - 12:36
Aux pire , j'ai un capteur de distance par ultrasons URM V3.2 , mais je ne c'est pas comment il fonctionne.
Donc je vais me mettre dessus et trouver comment il fonctionne
#10
Posté 15 août 2011 - 04:41
Dit moi si tu arrive a le faire fonctionner moi j'ai plus ou moins laissé tombé pour le moment, en meme temps c'est la premiere fois que j'utilise l'ultrason!
Par contre je te donne ce site, je ne sais pas si tu le connais : http://www.dfrobot.com/wiki/index.php?title=URM37_V3.2_Ultrasonic_Sensor_%28SKU:SEN0001%29
Ils expliquent pratiquement tout sur ce capteur, je voulais moi le mettre en Mode2 mais il faut pour ça re programmer l'EEPROM et la deja il faut une connexion RS232 mais je n'ai pas de câble pour, je me posais d'ailleurs la questions si il n'y avait pas moyen de passer par l'Arduino pour le faire mais je sais pas du tout!
#11
Posté 15 août 2011 - 10:27
Par contre je te donne ce site, je ne sais pas si tu le connais : http://www.dfrobot.c...8SKU:SEN0001%29
Oui je connais ce site , le souci c'est que c'est en anglais donc je vais me trouver un module qui traduit l'anglais en français.
#12
Posté 16 août 2011 - 12:15
Mais alors pour le connecter au pc et le reprogrammer je ne sais pas comment faire!
La connexion RS232 est la connexion par le port COM d'un pc
#13
Posté 16 août 2011 - 12:22
C'est ce que je vais faire.
#14
Posté 16 août 2011 - 12:44
#15
Posté 16 août 2011 - 01:05
#16
Posté 16 août 2011 - 01:11
Oui oui comme je disais plus haut je pensais bien qu'il y avais peut être moyen de passer par l'Arduino, et le branchement peut etre que ça j'avais bien vu sur la carte les branchement RX et TX!
Mais voila, si je fais ce branchement je fais quoi après?!
L'EEPROM n'est pas vide je suppose il y a bien une lecture de l'EEPROM et changer une valeur dedans pour avoir ce mode 2...
J'ai rien trouvé comme doc vraiment expliqué sur tout ça...
Edit : Si il y a bien cette partie qui en parle :
Mais je t'avoue n'avoir jamais programmer un EEPROM, alors c'est peut etre pour ça que je ne comprends pas!
#17
Posté 16 août 2011 - 01:28
#18
Posté 17 août 2011 - 09:50
#19
Posté 17 août 2011 - 01:15
0 utilisateur(s) li(sen)t ce sujet
0 members, 0 guests, 0 anonymous users