Skyduino:~#
Articles
arduino, programmation, test

[Test] Capteur de distance Sharp GP2Y0A21YK0F

Salut à tous !

aujourd’hui je vais vous présenter le GP2Y0A21YK0F, un capteur de distance infrarouge construit par sharp.

Les capteurs infrarouge de sharp sont de petit capteur de distance infrarouge, allant de 10 à 80 cm pour ce modèle et vendu pour un prix inférieur à 10€ chez mon fournisseur.

Comme vous pouvez le voir il sont relativement petit (4cm de long pour 2 cm de haut environ).
L’avantage de c’est capteurs c’est qu’ils embarquent toute l’électronique nécessaire à leur fonctionnement.
De ce faite un simple interface 3 fils suffit pour les faire marcher ! (GND, VCC, OUT)

Il n’y a pas grand chose à dire sur ces capteurs si ce n’est qu’ils font bien leur bouleau !
Toute les infos technique sous détaillé dans le datasheet fourni par sharp (qui en plus est vraiment agréable à lire).

Mais ce serait dommage d’arrêté ce test à ce point !
C’est pourquoi j’ai sortit une grosse règle, mon arduino, et un déclencheur à main pour appareil photo.

Le but de tout ce bouzin !?
Regarder si le graphique de réponse IR fourni par sharp est réaliste ou complétement inventé.

Pour éviter tout risques j’ai suivis les conseils du datasheet :
Le capteur est fixé sur un support lesté et perpendiculaire à la règle,
l’obstacle est constitué d’une carton avec par dessus une feuille blanche pour optimisé la réfection lumineuse,
j’ai aussi pris soin que la lumière sont en contre jours et ne se reflète pas sur la feuille.

Pour généré le graphique j’ai fait un petit sktech arduino sortant les info sur le port série au format csv.

void setup(){
  Serial.begin(9600);
  Serial.println("Sharp Ir Test");
  pinMode(2, INPUT);
  digitalWrite(2, HIGH);
  attachInterrupt(0, getV, FALLING);
}

void loop(){

}

int index = 0;
int value = 0;

void getV(){
  value = analogRead(A0);
  Serial.print(index);
  Serial.print(',');
  Serial.println(value);
  index++;
}

Le déclencheur est un bouton pour appareil photo bricolé avec un anti rebonds.

Les résultats :
Voici le graphique de réponse supposé par sharp :

Et voici MON graphique :

Comme vous pouvez le voir les deux sont très similaire sharp ne nous a pas menti, on remarquera 3-4 point raté surement dus à une mauvaise manipulation.

Pour ceux qui voudrait le fichier tableur le voici :
result-sharp-IR.xls
(Ps: je trouve cela scandaleux que wordpress.com n’autorise QUE les fichiers µsoft office ! (excepté les .ODT (texte))

Conclusion :
Ce sont des capteurs petit et puissant, avec un câblage facile et qui ne demande quasiment aucun code.
Idéal pour un robot ou une prise de distance avec une carte arduino !

Discussion

19 réflexions sur “[Test] Capteur de distance Sharp GP2Y0A21YK0F

  1. Je viens de recevoir mon capteur mais je me demande si ce branchement fonctionne sans cramer l’arduino:
    fil rouge(+)= sur 3.3 V
    fil noir(-)=sur GND (?? direct sans aucune résistance ?)
    fil blanc(signal)=sur pinAnalog

    Publié par Fabien | 25 juillet 2012, 13 h 15 min
  2. ok mais en faite j’avais un doute sur le noir et GND sans résistance parce que moi j’ai l’habitude de mettre des résistance de 10k sur les capteur de luminosité, température et bouton

    Publié par Fabien | 26 juillet 2012, 9 h 04 min
  3. ok merci.
    Super site, super admin !! 😄

    Publié par Fabien | 27 juillet 2012, 12 h 24 min
  4. Salut,
    merci pour ce petit programme, il m’a permis de faire le mien.
    Il y a cependant une petite erreur, dans la loop, il faut appeler getV sinon rien ne se passe !
    J’aurais aussi voulu savoir à quoi sert exactement les ligne suivantes :
    pinMode(2, INPUT);
    digitalWrite(2, HIGH);
    attachInterrupt(0, getV, FALLING);

    Merci.
    A+.

    Publié par Sam | 31 mars 2013, 18 h 11 min
    • Manifestement tu n’as pas compris le principe de fonctionnement du code …

      Je cite :
      « Le déclencheur est un bouton pour appareil photo bricolé avec un anti rebonds. »

      pinMode(2, INPUT); // Place la broche D2 en entrée
      digitalWrite(2, HIGH); // Active la résistance de pull-up de la broche D2
      attachInterrupt(0, getV, FALLING); // Active l’interruption 0 (sur la broche D2) pour appeler la fonction getV() quand le signal sur la broche D2 passe de HIGH à LOW.

      Publié par skywodd | 31 mars 2013, 18 h 26 min
  5. comment introduire getV dans la fonction loop? merci en avance

    Publié par Mahi | 3 avril 2013, 12 h 43 min
  6. Bonsoir, auriez vous des kit de fixation a me conseiller adapter pour ces capteurs?

    Publié par Bertrand | 17 février 2014, 21 h 54 min
  7. Super ! merci pour cette belle présentation qui donne envie :-))
    Peut-on intégrer ce capteur derrière une plaque dépolie ou autre, pour le « cacher » un peu ?

    Publié par Mat | 1 mai 2014, 19 h 00 min
  8. Bonjour merci pour ce test, pour mon projet de terminale SI j’aurais besoin de ce capteur mais serais-t’il compatible avec une carte ECIO 40 ? merci d’avance

    Publié par TORNIER | 2 mars 2016, 14 h 43 min

Rétroliens/Pings

  1. Pingback: [Test/tuto] Capteur HC-SR04 | Skyduino - Le DIY à la française - 11 juin 2014

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

Skyduino devient Carnet du Maker

Le site Carnet du Maker remplace désormais le blog Skyduino pour tout ce qui touche à l'Arduino, l'informatique et au DIY.