Aller au contenu


Photo
- - - - -

aide sur capteur ultrason URM37 V3.2


45 réponses à ce sujet

#21 Sani300

Sani300

    Habitué

  • Membres
  • PipPip
  • 150 messages
  • Gender:Male

Posté 22 août 2011 - 10:13

Mais sur l'Arduino UNO le RX et le TX est sur la 0 et la 1 donc je suppose qu'il faut changer dans le programme non?§

#22 julkien

julkien

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 032 messages
  • Gender:Male

Posté 22 août 2011 - 10:28

sur ce post les sorties sont deja reglé sur 6 et 7
donc ta rien a changer tout devrais fonctionné de cette maniere

moi aussi c'est une pseudo uno (DFRduino duemilanove)

#23 Astondb8

Astondb8

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 111 messages
  • Gender:Male
  • Location:Paris

Posté 22 août 2011 - 10:54

sur ce post les sorties sont deja reglé sur 6 et 7
donc ta rien a changer tout devrais fonctionné de cette maniere

moi aussi c'est une pseudo uno (DFRduino duemilanove)



Bonjour,

Voici aussi un lien avec 3 exemples differentes d'utilisation de ce capteur avec en plus un la lib URMSerial.h

http://www.botbuilder.co.uk/codeandprojects/bbsonar/index.html

Toutefois, si vous avez un code pour son utilisation en I2C (donc avec la Lib Wire.h je suis preneur...

Cdlt
Yves

 


#24 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

  • Membres
  • PipPipPipPipPip
  • 1 193 messages
  • Location:https://t.me/pump_upp

Posté 23 août 2011 - 01:04

Pas mal le tuto , je teste sa.
merci

#25 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

  • Membres
  • PipPipPipPipPip
  • 1 193 messages
  • Location:https://t.me/pump_upp

Posté 23 août 2011 - 01:05

..

#26 julkien

julkien

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 032 messages
  • Gender:Male

Posté 24 août 2011 - 05:47

moi j'ai se si ès-que c'est normale ??????


je sais pas si tu savais? mais tu as outils de capture sur seven (dans acessoire) car la c'est dur de lire t'a capture

tu ne t'es pas trompé dans le sens de connexion des borne 6 et 7 ?


moi j'avais un timeout quand le capteur ne fonctionné pas(faut contacte sur 6 et 7) et pour ressoudre j'ai du verifier un cable puis appuyer sur reset ( jusqu'a trouver la source du prob)


tu peux m'envoyer une photo de l'arriere de ton urm ( c'est peux etre les cavalier?!)

#27 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

  • Membres
  • PipPipPipPipPip
  • 1 193 messages
  • Location:https://t.me/pump_upp

Posté 24 août 2011 - 11:58

J'ai que du Timeout :s

C'est normale???

#28 Sani300

Sani300

    Habitué

  • Membres
  • PipPip
  • 150 messages
  • Gender:Male

Posté 24 août 2011 - 04:36

Moi aussi j'ai que du Timeout :s

#29 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

  • Membres
  • PipPipPipPipPip
  • 1 193 messages
  • Location:https://t.me/pump_upp

Posté 24 août 2011 - 04:45

..

#30 Sani300

Sani300

    Habitué

  • Membres
  • PipPip
  • 150 messages
  • Gender:Male

Posté 24 août 2011 - 04:50

Autant pour moi, non non c’était pas le cavalier c’était une soudure ^^ ! Il fonctionne parfaitement!
Merci de ton aide Julkien!

#31 julkien

julkien

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 032 messages
  • Gender:Male

Posté 24 août 2011 - 06:17

Autant pour moi, non non c’était pas le cavalier c’était une soudure ^^ ! Il fonctionne parfaitement!
Merci de ton aide Julkien!


Cool je me demandais si mes indication etais aussi mauvaises :D

seb re-verifie ton cablage a mon avis c'est le probleme
sinon tes cavaliers sont dans la bonne position

#32 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

  • Membres
  • PipPipPipPipPip
  • 1 193 messages
  • Location:https://t.me/pump_upp

Posté 24 août 2011 - 06:28

Oui mes cavaliers son bien dans la bonne position

#33 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

  • Membres
  • PipPipPipPipPip
  • 1 193 messages
  • Location:https://t.me/pump_upp

Posté 24 août 2011 - 06:41

bon et bien mon câblage et bon bizarre

#34 julkien

julkien

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 032 messages
  • Gender:Male

Posté 24 août 2011 - 08:58

bon et bien mon câblage et bon bizarre



tu as fais juste un copier/coller ?
tu a ajouter la lib ?

#35 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

  • Membres
  • PipPipPipPipPip
  • 1 193 messages
  • Location:https://t.me/pump_upp

Posté 24 août 2011 - 10:18

De ton code oui. Je les compilé avec mon code

#36 julkien

julkien

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 032 messages
  • Gender:Male

Posté 25 août 2011 - 06:10

] De ton code oui. Je les compilé avec mon code



on peux voir ton code avec le mien histoire de voir ?

#37 Astondb8

Astondb8

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 111 messages
  • Gender:Male
  • Location:Paris

Posté 25 août 2011 - 07:01

Bonjour

Juste une question, c'est bien une Uno que vous utilisez. Donc avec un seul et unique port serie.
Si je ne me trompe pas, c'est donc le meme port que vous utilisez avec la liaison PC pour avoir votre affichage et celui sur lequel vous essayez de brancher votre capteur US.

Donc si c'est bien ça, c'est normal. A vérifier, mais soit vous devez débranchez votre PC pour que le capteur fonctionne, soit vous créez un port serie virtuel.

Mais de mémoire, il n'y a que la Mega qui comporte plusieurs ports serie. Donc sur une autre Boers c'est le meme port que celui qui est converti en USB.

Je verifie ça et vous le confirme.

Cdlt
Yves

 


#38 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

  • Membres
  • PipPipPipPipPip
  • 1 193 messages
  • Location:https://t.me/pump_upp

Posté 25 août 2011 - 08:13

voila mon code

#include <URMSerial.h>
#include <NewSoftSerial.h>
#include "URMSerial.h"
 

// déclaration de la mesure de distance
#define DISTANCE 1
// déclaration de la mesure de température
#define TEMPERATURE 2
// déclaration de variable d'erreur
#define ERROR 3
// déclaration de non lecture
#define NOTREADY 4
// déclaration de limite de temps
#define TIMEOUT 5
 
URMSerial urm; 
 
#include <Servo.h>
int vitesse1 = 6;
int vitesse2 = 5;
int direction1 = 7;
int direction2 = 4; 
Servo myservo; // créer un objet de servo pour contrôler un servomoteur
 
int potpin = 0; // broche analogique utilisé pour connecter le capteur
int val; // variable pour lire la valeur de la broche analogique
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()
{
Serial.begin(9600); 
urm.begin(6,7,9600); 

Serial.println("URM37 Library by Miles Burton - Distance. Version 2.0"); 
  
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()
{
Serial.print("Measurement: ");
Serial.println(getMeasurement(DISTANCE)); 
Serial.print("Temperature:");
Serial.println(getMeasurement(TEMPERATURE)/10.0);
delay(1000);
}
int value; 
int getMeasurement(int mode)
{
// Demander une distance de lecture de la URM37
switch(urm.requestMeasurementOrTimeout(mode, value)) 
{
case DISTANCE: 
// Serial.println (valeur); 
return value;
break;
case TEMPERATURE:
return value;
break;
case ERROR:
Serial.println("Error");
break;
case NOTREADY:
Serial.println("Not Ready");
break;
case TIMEOUT:
Serial.println("Timeout");
break;

}  
  
 
val = analogRead(potpin); // 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(100); // attend que le servo pour y arriver
if (val >= 255) // 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’attende quelque seconde
Moteur1(0,true); //j’arrête le moteur 1
Moteur2(0,true); // j’arrête le moteur 2
delay(500); //la valeur à mettre reste à définir en fonction de la vitesse du robot 
Moteur1(255,true); //J'avance tout droit en mettant les 2 moteurs à fond
Moteur2(255,false); //J'avance tout droit en mettant les 2 moteurs à fond
 
}
else
{
Moteur1(255,false);
Moteur2(255,true); 
}
  
}


#39 Astondb8

Astondb8

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 111 messages
  • Gender:Male
  • Location:Paris

Posté 25 août 2011 - 08:51

Ben a en croire la doc, c'est la même chose...

http://www.arduino.cc/en/Main/ArduinoBoardDuemilanove

Serial: 0 (RX) and 1 (TX). Used to receive (RX) and transmit (TX) TTL serial data. These pins are connected to the corresponding pins of the FTDI USB-to-TTL Serial chip.


Je ne vois qu'un seul et unique pour série...

Seules les Méga en ont plusieurs
http://arduino.cc/en/Main/ArduinoBoardMega2560

Serial: 0 (RX) and 1 (TX); Serial 1: 19 (RX) and 18 (TX); Serial 2: 17 (RX) and 16 (TX); Serial 3: 15 (RX) and 14 (TX). Used to receive (RX) and transmit (TX) TTL serial data. Pins 0 and 1 are also connected to the corresponding pins of the ATmega8U2 USB-to-TTL Serial chip.


Mais à vérifier que c'est bien lié à ton probleme.

dlt
Yves

 


#40 julkien

julkien

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 032 messages
  • Gender:Male

Posté 25 août 2011 - 09:53

Ben a en croire la doc, c'est la même chose...

http://www.arduino.c...oardDuemilanove



Je ne vois qu'un seul et unique pour série...

Seules les Méga en ont plusieurs
http://arduino.cc/en...noBoardMega2560



Mais à vérifier que c'est bien lié à ton probleme.

dlt
Yves


et pourtant moi elle est connecter sur les borne 6 et 7, et pour ajouté un point a cette enigme on posséde tout les 2 la meme carte
c'est un peu comme si on emulé un port serie non ?
enfin moi ca marche !



Répondre à ce sujet



  


0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users