Aller au contenu


Photo
- - - - -

Aide pour calcul distance gp2d120


3 réponses à ce sujet

#1 tiiteuf

tiiteuf

    Nouveau membre

  • Membres
  • 4 messages

Posté 10 novembre 2007 - 09:10

Bonjour,

J'aurai besoin d'un peu d'aide :( , voila je viens d'acheter un capteur telemetrique infrarouge sharp gp2d120. je l'ai connecté a un cubloc 280 sur une entré analogique.

Mon probléme ces que je n'arrive pas a trouvé de formule pour pouvoir convertir en cm la valeur trouvé par le capteur. :angry:

Si y'a une ame charitable pour m'eclairé un peu ;)

Merci

#2 Jan

Jan

    Webmaster

  • Membres
  • PipPipPipPipPip
  • 4 747 messages
  • Gender:Male
  • Location:Rhône Alpes

Posté 11 novembre 2007 - 10:01

Tu as un datasheet ici qui peut peut être aider ? : http://www.robotshop.ca/PDF/rbsha01_manual.pdf

#3 tiiteuf

tiiteuf

    Nouveau membre

  • Membres
  • 4 messages

Posté 11 novembre 2007 - 11:00

Tu as un datasheet ici qui peut peut être aider ? : http://www.robotshop.ca/PDF/rbsha01_manual.pdf



J'ai le datasheet, il me donne cette courbe

Image IPB

Mon capteur est relié sur une entré A/N 10 bits ce qui me donne une valeur allant de 80 à 600

Ce que je n'arrive pas a trouvé ces une formule qui me donne la distance a partir de la valeur que je lit sur mon entré A/N ;)

#4 PZaf

PZaf

    Habitué

  • Membres
  • PipPip
  • 249 messages
  • Location:Toulon

Posté 13 novembre 2007 - 01:48

Salut,

Il faut que tu crées une table de conversion.
Exemple avec une conversion 8 bits :

// rangeTable is a 128-entry table that converts the 8-bit A/D value
// to the corresponding range in cm.
//==============================================================
const unsigned char TableIR[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 80, 76, 72, 68, 65, 62, 59, 57, 54, 52, 50, 48, 47,
45, 44, 42, 41, 40, 38, 37, 36, 35, 34, 33, 33, 32, 31, 30, 30,
29, 28, 28, 27, 26, 26, 25, 25, 24, 24, 23, 23, 23, 22, 22, 21,
21, 21, 20, 20, 20, 19, 19, 19, 18, 18, 18, 18, 17, 17, 17, 17,
16, 16, 16, 16, 16, 15, 15, 15, 15, 15, 14, 14, 14, 14, 14, 14,
13, 13, 13, 13, 13, 13, 13, 12, 12, 12, 12, 12, 12, 12, 12, 11,
11, 11, 11, 11, 11, 11, 11, 11, 11, 10, 10, 10, 10, 10, 10, 10};


...
ADCON1=0;
ADCON0=0x81; // IR_av_D
DelayUs(50);
ADGO=1;
while(ADGO) continue;
Res_IR_av_D1=ADRESH;

distance=TableIR[Res_IR_av_D1];



Répondre à ce sujet



  


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

0 members, 0 guests, 0 anonymous users