Aller au contenu


Photo
- - - - -

Problème librarie URM37 Arduino


  • Veuillez vous connecter pour répondre
46 réponses à ce sujet

#21 seb03000

seb03000

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 192 messages
  • Gender:Male
  • Location:Loins dérrière toi.
  • Interests:La Robotique , plus l'informatique

Posté 18 mars 2012 - 11:21

Oui tu inverse tes broche comme la dit microrupteurman2 , et tu compile ton code , et après t’appuie sur reset

#22 FiringFox

FiringFox

    Nouveau membre

  • Membres
  • 53 messages

Posté 18 mars 2012 - 11:23

Aucun effet :/

#23 seb03000

seb03000

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 192 messages
  • Gender:Male
  • Location:Loins dérrière toi.
  • Interests:La Robotique , plus l'informatique

Posté 18 mars 2012 - 11:24

Montre nous ton code dans ça totalité , et si possible prend une photo de tes branchement , et montre nous ça.

#24 FiringFox

FiringFox

    Nouveau membre

  • Membres
  • 53 messages

Posté 19 mars 2012 - 07:55

La photo (trop grande pour le fofo) : http://www.imagup.com/data/1146805529.html

Le code n'est pas de moi, je voulais m'assurer que l'erreur ne venait pas du code alors j'en ai pris un qui fonctionnait pour d'autres. La variable capteur je l'ai rajoutée pour tester les effets en y branchant la borne 7 ou NC de l'URM37, mas ça n'a rien fait :
#include "URMSerial.h"
// La mesure que nous prenons "The measurement we're taking"
// 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

int capteur = 7;

URMSerial urm;
void setup() {
Serial.begin(9600); // cette ligne parametre le baut pour permetre l'arduino de communiquer avec le pc
pinMode(capteur, OUTPUT);
digitalWrite(capteur, HIGH);
urm.begin(15,14,9600); // celle ci parametre les borne RX, TX,et le baud de communiquation entre le URM37 et la carte arduino
Serial.println("URM37 Library by Miles Burton - Distance. Version 2.0"); //heu sa c'est juste pour la frime <img src='http://www.robot-maker.com/forum/public/style_emoticons/<#EMO_DIR#>/wink.gif' class='bbc_emoticon' alt=';)' /> ( affiche le texte qui est entre guillemet dans la fenetre de communication )
}
void loop()
{
Serial.print("Measurement: ");//affiche le texte qui est entre guillemet
Serial.println(getMeasurement(DISTANCE)); // affiche la valeur que renvoi la fonction "getmesurement" un peu plus bas
Serial.print("Temperature:");
Serial.println(getMeasurement(TEMPERATURE)/10.0);
delay(1000);
}
int value; // This value will be populated
int getMeasurement(int mode)// la fameuse fonction
{
// Request a distance reading from the URM37
switch(urm.requestMeasurementOrTimeout(mode, value)) // Find out the type of request
{
case DISTANCE: // Double check the reading we recieve is of DISTANCE type
// Serial.println(value); // Fetch the distance in centimeters from the URM37
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;
}
return -1;

}


Merci beaucoup !

#25 seb03000

seb03000

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 192 messages
  • Gender:Male
  • Location:Loins dérrière toi.
  • Interests:La Robotique , plus l'informatique

Posté 19 mars 2012 - 11:01

Ok , aisé de déclaré et de brancher tes pins comme se si.

borne 7 de ta carte mega <=> rx de ton capteur
borne6 de ta carte mega <=> TX de ton capteur

le morceaux de cade a remplacé dans la parti void setup() {

urm.begin(6,7,9600); // celle ci parametre les borne RX, TX,et le baud de communiquation entre le URM37 et la carte


#26 FiringFox

FiringFox

    Nouveau membre

  • Membres
  • 53 messages

Posté 19 mars 2012 - 06:11

Aucun changement :/

#27 julkien

julkien

    Pilier du forum

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

Posté 19 mars 2012 - 09:52

Aucun changement :/



j'aime revoir mes traduction de morceau code ressortir d'entre les morts! :) pourtant si critiqué au debut !

bon tu as bien reussi a inclure la lib ?

maintenant on se penche sur l'integration de la lib et le code

  • telecharger la lib a cette adresse
  • extaire les fichiers dans C:\Users\julkien\Desktop\arduino\libraries\URMSerial (heu le soft arduino est directement sur mon bureau :) )
  • lancé arduino.exe
  • coller le code du 2eme poste dans la zone de text
  • clic sur sketch / import library/ URMSerial
  • clic sur Image IPB
  • une fois compiler et envoyer sur la carte cliqué sur Image IPB
une fenetre va s'ouvrir


Image IPB



#28 FiringFox

FiringFox

    Nouveau membre

  • Membres
  • 53 messages

Posté 19 mars 2012 - 10:09

La librairie doit être incluse vu que le compilateur ne m'a pas donné d'erreur ! Par contre chez moi c'est URM37, et non URMSerial... ?

#29 microrupteurman2

microrupteurman2

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 2 029 messages
  • Gender:Male
  • Location:33
  • Interests:Tout

Posté 19 mars 2012 - 10:16

Au pire, tu peut utilisé le capteur US comme un capteur Basic, via la pin comp/trig, il faut lui envoyé une impulsion de 10µs passer la pin en input et lire la durée de retour de l'impulsion.
Il y a un tuto sur le site de la SMART (tu trouvera un lien dans les signature de astondb8 et jbot)
 
 
 

#30 julkien

julkien

    Pilier du forum

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

Posté 19 mars 2012 - 10:24

J'obtiens ceci :
Image IPB

J'ai cherché pendant 4h mais je n'ai aucune solution :(

Merci beaucoup !


il y a un truc qui me choque: c:\program files (x86)\arduino-1.0\libraries\URM37/URMSerial.h

il y a un slash plutot qu'un antishash apres urm37

c'est pou ça que je te demandais si tu as bien fais la manip

sinon c'est le meme capteur donc si tu reprend tu devrais y arrivé

la lib n'est pas inclus par default alors verifie le bien

#31 FiringFox

FiringFox

    Nouveau membre

  • Membres
  • 53 messages

Posté 19 mars 2012 - 10:31

Microrpteurman2 m'avais conseillé de changer d'IDE et ça a réussi, alors là pour la librairie je sais pas ^^
J'irai voir sur le site de SMART mais ma journée a été dure alors ce soir pas le courage ! Merci beaucoup je vous donne les résultats aussitôt que possible, et peut-être un tuto sur la technique sur SMART car vu comme j'en aurais ch**r :P

Merci !

#32 FiringFox

FiringFox

    Nouveau membre

  • Membres
  • 53 messages

Posté 20 mars 2012 - 07:44

Salut,

Je suis donc allé faire un tour sur le site SMART et je me suis inspiré du code trouvé dans une librairie, pour écrire cela :
#include "Ultrasonic.h"
#include "Wire.h"

void setup()
{
  Serial.begin(9600);
  int compTrig(7);
  int NC(6);
  pinMode(NC, OUTPUT);
  digitalWrite(NC, HIGH);
  pinMode(compTrig, OUTPUT);
}

int compTrig=6;
int duration;
int distance;

void loop()
{
  digitalWrite(compTrig, LOW);
  delayMicroseconds(2);
  digitalWrite(compTrig, HIGH);
  delayMicroseconds(10);
  digitalWrite(compTrig, LOW);
  pinMode(compTrig, INPUT);
  duration = pulseIn(compTrig, HIGH);
  distance = duration/58;
  Serial.println(distance);
}

La broche compTrig et branchée sur la broche comp / trig, mais je pense que vous vous en doutiez.

Malheureusement, je n'obtiens toujours que des 0 dans mon monitor, je trouve ça assez frustrant :/

#33 seb03000

seb03000

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 192 messages
  • Gender:Male
  • Location:Loins dérrière toi.
  • Interests:La Robotique , plus l'informatique

Posté 20 mars 2012 - 08:11

Ton serial monitor et bien sur 9600 baud , comme sur l'image que je te montre.

Image IPB

#34 FiringFox

FiringFox

    Nouveau membre

  • Membres
  • 53 messages

Posté 20 mars 2012 - 08:43

Oui

#35 julkien

julkien

    Pilier du forum

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

Posté 20 mars 2012 - 08:56

tu as bien suivit cette conversation?

#36 FiringFox

FiringFox

    Nouveau membre

  • Membres
  • 53 messages

Posté 20 mars 2012 - 09:08

Yep, c'est même par là que j'ai commencé :P Je vais uploader des photos d'un peu tout pour que tout soit visible !

Merci !

#37 FiringFox

FiringFox

    Nouveau membre

  • Membres
  • 53 messages

Posté 20 mars 2012 - 09:14

Voici les branchements utilisés pour la méthode sans RX et TX, avec le dernier code cité:
Image IPB
Image IPB
Image IPB
Image IPB

Merci !

#38 julkien

julkien

    Pilier du forum

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

Posté 20 mars 2012 - 10:43

pourquoi tu n'utilises pas les borne tx/rx?

#39 microrupteurman2

microrupteurman2

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 2 029 messages
  • Gender:Male
  • Location:33
  • Interests:Tout

Posté 20 mars 2012 - 10:45

Parce que comme ca marche pas en seriel, on test une autre facon.
 
 
 

#40 FiringFox

FiringFox

    Nouveau membre

  • Membres
  • 53 messages

Posté 20 mars 2012 - 10:47

Par contre vu que même cette façon échoue, là je sais vraiment pas quoi faire ^^




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

0 members, 0 guests, 0 anonymous users