Aller au contenu


Photo
- - - - -

capteur Ultrasons URM 37


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

#1 mez_arduino

mez_arduino

    Nouveau membre

  • Membres
  • 2 messages

Posté 05 avril 2012 - 11:15

bonjour
en faite, je 'ai commencé à utiliser la carte Arduino pour faire l'acquisition des données de quelques signaux..
j'ai commencé par le capteur ultrasons, je lui est bien connecté à la carte arduino UNO, et j'ai mis le progrmme (que j'ai trouvé sur internet) suivant pour mesurer la distance


/* Ultrasound Sensor
*------------------
* URM V3.2 ultrasonic sensor TTL connection with Arduino
* Reads values (0-300) from an ultrasound sensor (3m sensor)
* and writes the values to the serialport.
* Pin12 (Arduino)-> Pin 1 VCC (URM V3.2)
* GND (Arduino) -> Pin 2 GND (URM V3.2)
* Pin11 (Arduino) -> Pin 7 (URM V3.2)
* Pin 2 (Arduino) -> Pin 9 (URM V3.2)
* Pin 3 (Arduino) -> Pin 8 (URM V3.2)
* www.yerobot.com programme modifie pour carte arduino duemilanove
* lecture distance sur module URM 37
* le 9/9/10
*/


#include <NewSoftSerial.h>
NewSoftSerial mySerial(2, 3); // creation d'un nouveau port de communication serie voies 2 et 3
int UREnable = 11; // Ultrasound enable pin
int URPower = 12; // Ultrasound power pin
int val = 0;
int USValue = 0;
int timecount = 0; // Echo counter
int ledPin = 13; // LED connected to digital pin 13
boolean flag=true;
uint8_t DMcmd[4] = { 0x22, 0x00, 0x00, 0x22}; //distance measure command

void setup() {
Serial.begin(9600); // Sets the baud rate to 9600
mySerial.begin(9600); // initialisation du port de com vers le capteur ultrason
// application du 5v sur les bornes 1 et 7 du module URM 37
pinMode(ledPin, OUTPUT); // Sets the digital pin as output
pinMode(UREnable, OUTPUT);
digitalWrite(UREnable, HIGH); // Set to High
pinMode(URPower, OUTPUT);
digitalWrite(URPower, HIGH); // Set to High

delay(200); //Give sensor some time to start up --Added By crystal from Singapo, Thanks Crystal.
}

void loop()
{

flag=true;
//Sending distance measure command : 0x22, 0x00, 0x00, 0x22 ;
//trame à envoyer au module URM 4 mots: code fonction,val_1,val_2,somme(code fonction + val_1+ val_2 )
// codage des fonctions 0x11 :lecture T°
// 0x22 :lecture de la distance ,il est possible d'utiliser un servo sur lequel est positionner le modul URM
// alors val_1 sera egal a l'angle de rotation du servo
// 0x33 : lecture de l'EEPROM
// 0x44 : ecriture de l'EEPROM
// pour plus d'information consulter le site www.yerobot.com

for(int i=0;i<4;i++)
{
mySerial.print(DMcmd[i],BYTE); //ecriture de 4 valeurs par communication serie vers la carte URM
}

delay(75); //delay for 75 ms

while(flag)
{
if(Serial.available()>0)
{
int header=mySerial.read(); //0x22 lecture de 4 valeurs venant de la communication vers la carte URM
int highbyte=mySerial.read();
int lowbyte=mySerial.read();
int sum=mySerial.read();//sum

if(highbyte==255)
{
USValue=65525; //if highbyte =255 , the reading is invalid.
}
else
{
USValue = highbyte*255+lowbyte;
}

Serial.print("Distance=");
Serial.println(USValue);

flag=false;
}

}
delay(50);
}

lorseque je compile, un erreur s'affiche
"
sketch_apr05a.cpp:19:27: error: NewSoftSerial.h: No such file or directory
sketch_apr05a:19: error: 'NewSoftSerial' does not name a type
sketch_apr05a.cpp: In function 'void setup()':
sketch_apr05a:31: error: 'mySerial' was not declared in this scope
sketch_apr05a.cpp: In function 'void loop()':
sketch_apr05a:57: error: 'mySerial' was not declared in this scope
sketch_apr05a:66: error: 'mySerial' was not declared in this scope "
celà signifie que que le port que j'ai crée, c'est comme ce n'est pas déclarer dans mon programme..
j'ai essayé longtemps de resoudre ce problème mais je n'ai pas pu :(
merci d'avance

#2 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

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

Posté 05 avril 2012 - 11:22

Bonjour mez_arduino.

Afin de pouvoir te donner un coup main , pourrai tu utilisé cette balisse Image IPB pour mettre ton code , merci

#3 mez_arduino

mez_arduino

    Nouveau membre

  • Membres
  • 2 messages

Posté 05 avril 2012 - 01:29

mercii, j'ai pas bien saisie ce que vous voulez dire :(

#4 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

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

Posté 05 avril 2012 - 01:35

Se logo Image IPB te permé de métre un code de dans ça donne se résulta , c'est ton cote

/* Ultrasound Sensor
*------------------
* URM V3.2 ultrasonic sensor TTL connection with Arduino
* Reads values (0-300) from an ultrasound sensor (3m sensor)
* and writes the values to the serialport.
* Pin12 (Arduino)-> Pin 1 VCC (URM V3.2)
* GND (Arduino) -> Pin 2 GND (URM V3.2)
* Pin11 (Arduino) -> Pin 7 (URM V3.2)
* Pin 2 (Arduino) -> Pin 9 (URM V3.2)
* Pin 3 (Arduino) -> Pin 8 (URM V3.2)
* www.yerobot.com programme modifie pour carte arduino duemilanove
* lecture distance sur module URM 37
* le 9/9/10
*/


#include <NewSoftSerial.h>
NewSoftSerial mySerial(2, 3); // creation d'un nouveau port de communication serie voies 2 et 3
int UREnable = 11; // Ultrasound enable pin
int URPower = 12; // Ultrasound power pin
int val = 0;
int USValue = 0;
int timecount = 0; // Echo counter
int ledPin = 13; // LED connected to digital pin 13
boolean flag=true;
uint8_t DMcmd[4] = { 0x22, 0x00, 0x00, 0x22}; //distance measure command

void setup() {
Serial.begin(9600); // Sets the baud rate to 9600
mySerial.begin(9600); // initialisation du port de com vers le capteur ultrason
// application du 5v sur les bornes 1 et 7 du module URM 37
pinMode(ledPin, OUTPUT); // Sets the digital pin as output
pinMode(UREnable, OUTPUT);
digitalWrite(UREnable, HIGH); // Set to High
pinMode(URPower, OUTPUT);
digitalWrite(URPower, HIGH); // Set to High

delay(200); //Give sensor some time to start up --Added By crystal from Singapo, Thanks Crystal.
}

void loop()
{

flag=true;
//Sending distance measure command : 0x22, 0x00, 0x00, 0x22 ;
//trame à envoyer au module URM 4 mots: code fonction,val_1,val_2,somme(code fonction + val_1+ val_2 )
// codage des fonctions 0x11 :lecture T°
// 0x22 :lecture de la distance ,il est possible d'utiliser un servo sur lequel est positionner le modul URM
// alors val_1 sera egal a l'angle de rotation du servo
// 0x33 : lecture de l'EEPROM
// 0x44 : ecriture de l'EEPROM
// pour plus d'information consulter le site www.yerobot.com

for(int i=0;i<4;i++)
{
mySerial.print(DMcmd[i],BYTE); //ecriture de 4 valeurs par communication serie vers la carte URM
}

delay(75); //delay for 75 ms

while(flag)
{
if(Serial.available()>0)
{
int header=mySerial.read(); //0x22 lecture de 4 valeurs venant de la communication vers la carte URM
int highbyte=mySerial.read();
int lowbyte=mySerial.read();
int sum=mySerial.read();//sum

if(highbyte==255)
{
USValue=65525; //if highbyte =255 , the reading is invalid.
}
else
{
USValue = highbyte*255+lowbyte;
}

Serial.print("Distance=");
Serial.println(USValue);

flag=false;
}

}
delay(50);
}

Tu voie ça fait plus propre.

#5 julkien

julkien

    Pilier du forum

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

Posté 05 avril 2012 - 03:14

bonjour
en faite, je 'ai commencé à utiliser la carte Arduino pour faire l'acquisition des données de quelques signaux..
j'ai commencé par le capteur ultrasons, je lui est bien connecté à la carte arduino UNO, et j'ai mis le progrmme (que j'ai trouvé sur internet) suivant pour mesurer la distance




hum...
essai de rechercher urm37 sur le forum il y a quelque discution sur ce sujet

J'avais fait une traduction d'un autre code il y a quelque temps

Slts

ps: il me semble que sur une arduino les pin 1et 2 servent a la com usb avec le pc. a verifier !

#6 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

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

Posté 05 avril 2012 - 04:19

Ton lien ne fonctionne pas comme il se doit , donc je luit mes le lien que tu voulez luis fournir içi

#7 julkien

julkien

    Pilier du forum

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

Posté 05 avril 2012 - 05:03

Ton lien ne fonctionne pas il se doit , donc je luit mes le lien que tu voulez luis fournir içi



merci ;)

#8 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

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

Posté 05 avril 2012 - 05:46

De rien julkien ;)




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

0 members, 0 guests, 0 anonymous users