Le SHARP GP2Y0A710K0F est un capteur de distance IR facile à utiliser avec une portée extra longue de 100 à 500 cm. Cette portée étendue en fait une bonne alternative aux capteurs de distance à ultrasons.
Dans ce tutoriel, vous apprendrez comment fonctionne le capteur et comment l’utiliser avec Arduino. J’ai inclus un schéma de câblage et un exemple de code pour que vous puissiez commencer à expérimenter avec votre capteur.
Si vous cherchez un capteur de distance plus abordable ou étanche, jetez un œil au HC-SR04 ou JSN-SR04T. Dans les articles ci-dessous, j’explique comment ces capteurs de distance/proximité fonctionnent et comment les utiliser avec Arduino.
Autres capteurs de distance/proximité :
- How to use an HC-SR04 Ultrasonic Distance Sensor with Arduino
- Waterproof JSN-SR04T Ultrasonic Distance Sensor with Arduino Tutorial
- How to use a SHARP GP2Y0A710K0F IR Distance Sensor with Arduino
- TOF10120 Distance Sensor with Arduino
- VL53L1X/TOF400C Distance Sensor with Arduino
- VL53L0X Distance Sensor with Arduino
Pièces requises

Capteur de distance GP2Y0A710K0F

Arduino Uno

Câble USB pour Arduino UNO

Jeu de fils Dupont

Plaque d’essai (breadboard)

Condensateur( ≥ 10 µF)
Makerguides is a participant in affiliate advertising programs designed to provide a means for sites to earn advertising fees by linking to Amazon, AliExpress, Elecrow, and other sites. As an Affiliate we may earn from qualifying purchases.
Comment fonctionne un capteur de distance IR ?
Un capteur de distance IR utilise un faisceau de lumière infrarouge qui se réfléchit sur un objet pour mesurer sa distance. La distance est calculée par triangulation du faisceau lumineux. Le capteur est composé d’une LED IR et d’un détecteur de lumière ou PSD (Position Sensing Device).
Lorsque le faisceau lumineux est réfléchi par un objet, le faisceau réfléchi atteint le détecteur de lumière et un « point optique » se forme sur le PSD.

Quand la position de l’objet change, l’angle du faisceau réfléchi et la position du point sur le PSD changent aussi. Voir les points A et B sur l’image ci-dessous.

Le capteur intègre un circuit de traitement du signal. Ce circuit traite la position du point optique sur le PSD pour déterminer la position (distance) de l’objet réfléchissant. Il fournit un signal analogique qui dépend de la position de l’objet devant le capteur.
Comment lire un capteur de distance IR ?
Les capteurs de distance IR fournissent un signal analogique qui varie selon la distance entre le capteur et un objet. D’après la fiche technique, la tension de sortie du SHARP GP2Y0A710K0F varie de 2,5 V quand un objet est à 100 cm à 1,4 V quand un objet est à 500 cm. Le graphique montre aussi pourquoi la plage de détection utile commence à 100 cm.
Notez que la tension de sortie pour un objet à 30 cm est la même que pour un objet à 160 cm. La plage de détection utile commence donc après le pic, vers 100 cm ou 2,5 V.

Le graphique montre aussi l’inconvénient de ces capteurs : la réponse est non linéaire. En d’autres termes, un grand changement de tension de sortie ne correspond pas toujours à un grand changement de distance. Pour déterminer la distance entre le capteur et un objet, il faut trouver une fonction qui convertit la tension de sortie en valeur de distance.
Si vous tracez la tension de sortie en fonction de l’inverse de la distance, vous obtenez une relation majoritairement linéaire. Pour des distances > 100 cm, vous obtenez la courbe suivante.

Calcul de la distance
D’après les données de la fiche technique SHARP, vous pouvez calculer la fonction linéaire :
y = 137500x + 1125
Avec y égal à la tension de sortie en mV et x égal à 1/distance en cm.
Cela donne la formule suivante pour la distance entre le capteur et un objet :
distance (cm) = 1 / ((output_voltage_mV – 1125) / 137500)
C’est la fonction utilisée dans la bibliothèque SharpIR , que nous utiliserons plus tard. Notez que cette fonction est basée uniquement sur les données de la fiche technique SHARP. Les caractéristiques de sortie du capteur peuvent varier légèrement d’un capteur à l’autre, ce qui peut entraîner des mesures imprécises.
Spécifications du GP2Y0A710K0F
| Tension de fonctionnement | 4,5 à 5,5 V |
| Courant de fonctionnement | 30 mA |
| Plage de mesure | 100 à 550 cm |
| Type de sortie | Analogique |
| Dimensions | 58 x 17,6 x 22,5 mm |
| Trou de fixation | 4,2 mm |
| Coût | Check price |
Pour plus d’informations, vous pouvez consulter la fiche technique ici.
Connexion du capteur IR GP2Y0A710K0F à Arduino
Le schéma de câblage ci-dessous montre comment connecter le capteur de distance IR GP2Y0A710K0F à un Arduino. Notez bien : les couleurs des fils ne sont pas intuitives !

Ces types de capteurs de distance ont tendance à être un peu bruyants, il est donc recommandé d’ajouter un condensateur entre Vcc et GND. La fiche technique suggère un condensateur de 10 µF ou plus. Connectez la patte positive du condensateur au fil Vcc et la patte négative au fil GND (voir photo). Les condensateurs sont souvent marqués d’une bande indiquant la patte négative. La patte positive est souvent plus longue que la négative.
Connexions GP2Y0A710K0F
| GP2Y0A710K0F | Arduino |
|---|---|
| 1 (Rouge) | GND |
| 2 (Noir) | 5V |
| 3 (Jaune) | 5V |
| 4 (Vert) | A0 |
| 5 (Bleu) | GND |
Si votre capteur a des fils de couleurs différentes, vérifiez bien le brochage ci-dessous. La broche Vo est connectée à l’entrée analogique de l’Arduino (A0).

Le connecteur du capteur n’est pas marqué, l’ordre des broches correspond au capteur avec le logo vers le haut.
Maintenant que vous avez câblé le capteur, il est temps de regarder un exemple de code.
Installation de la bibliothèque SharpIR pour Arduino
La bibliothèque SharpIR écrite par Guillaume Rico et Thibaut Mauon facilite grandement l’utilisation des capteurs IR SHARP. Elle inclut les formules nécessaires pour convertir la tension de sortie mesurée en distance en centimètres. Actuellement, la bibliothèque supporte les capteurs suivants : GP2Y0A02YK0F, GP2Y0A21YK0F, GP2Y0A710K0F et GP2YA41SK0F. La dernière version de la bibliothèque peut être téléchargée ici sur GitHub ou cliquez sur le bouton ci-dessous.
Vous pouvez installer la bibliothèque en allant dans Sketch > Include Library > Add .ZIP Library dans l’IDE Arduino.

L’auteur de la bibliothèque a remarqué que les mesures du capteur peuvent fluctuer assez fortement. La bibliothèque résout ce problème en prenant plusieurs mesures consécutives, en éliminant les valeurs aberrantes, puis en calculant la moyenne pour obtenir une lecture de distance plus stable. Actuellement, la bibliothèque calcule la moyenne de 25 mesures, ce qui prend environ 53 ms.
Exemple de code pour le capteur de distance IR SHARP GP2Y0A710K0F avec Arduino
Le code d’exemple ci-dessous peut être utilisé avec le capteur GP2Y0A710K0F et affiche la distance mesurée en centimètres dans le moniteur série.
Vous pouvez copier le code en cliquant sur le bouton en haut à droite du champ de code.
/*SHARP GP2Y0A710K0F IR distance sensor with
Arduino and SharpIR library example code.
More info: https://www.makerguides.com */
// Include the library:
#include "SharpIR.h"
// Define model and input pin:
#define IRPin A0
#define model 100500
// Variable to store the distance
int distance_cm;
/* Model :
GP2Y0A02YK0F --> 20150
GP2Y0A21YK0F --> 1080
GP2Y0A710K0F --> 100500
GP2YA41SK0F --> 430
*/
// Create a new instance of the SharpIR class
SharpIR mySensor = SharpIR(IRPin, model);
void setup() {
// Serial communication at a baud rate of 9600
Serial.begin(9600);
}
void loop() {
// Get a distance measurement and store it as distance_cm
distance_cm = mySensor.distance();
// Print the measured distance to the serial monitor
Serial.print("Mean distance: ");
Serial.print(distance_cm);
Serial.println(" cm");
delay(1000);
}
Notez que nous avons nommé le capteur mySensor dans cet exemple. Si vous souhaitez utiliser plusieurs capteurs de distance IR, vous pouvez créer un autre objet capteur avec un nom différent : SharpIR mySensor2 = SharpIR(IRPin2, model); Notez que dans ce cas, vous devez aussi utiliser une broche d’entrée différente pour le second capteur.
Lorsque la tension de sortie est inférieure à 1,4 V ou supérieure à 3,3 V, vous verrez « Mean distance: 0 cm » dans le moniteur série.
Conclusion
Dans cet article, je vous ai montré comment fonctionne le capteur de distance IR SHARP GP2Y0A710K0F et comment l’utiliser avec Arduino. J’espère que vous l’avez trouvé utile et instructif. Si c’est le cas, n’hésitez pas à le partager avec un ami qui aime aussi l’électronique !
N’hésitez pas à poser vos questions dans la section des commentaires.

