El SHARP GP2Y0A710K0F es un sensor de distancia IR fácil de usar con un rango extra largo de 100 a 500 cm. Este rango extra largo lo convierte en una buena alternativa a los sensores de distancia ultrasónicos.
En este tutorial, aprenderás cómo funciona el sensor y cómo usarlo con Arduino. He incluido un diagrama de conexiones y un código de ejemplo para que puedas empezar a experimentar con tu sensor.
Si buscas un sensor de distancia más económico o impermeable, echa un vistazo al HC-SR04 o JSN-SR04T. En los artículos siguientes explico cómo funcionan estos sensores de distancia/proximidad y cómo usarlos con Arduino.
Otros sensores de distancia/proximidad:
- 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
Componentes necesarios

Sensor de distancia GP2Y0A710K0F

Arduino Uno

Cable USB para Arduino UNO

Juego de cables Dupont

Protoboard

Condensador( ≥ 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.
¿Cómo funciona un sensor de distancia IR?
Un sensor de distancia IR usa un haz de luz infrarroja que se refleja en un objeto para medir su distancia. La distancia se calcula mediante triangulación del haz de luz. El sensor consta de un LED IR y un detector de luz o PSD (Dispositivo de Detección de Posición).
Cuando el haz de luz se refleja en un objeto, el haz reflejado llega al detector de luz y se forma un ‘punto óptico’ en el PSD.

Cuando la posición del objeto cambia, también cambia el ángulo del haz reflejado y la posición del punto en el PSD. Observa el punto A y el punto B en la imagen siguiente.

El sensor tiene un circuito de procesamiento de señal incorporado. Este circuito procesa la posición del punto óptico en el PSD para determinar la posición (distancia) del objeto reflectante. Emite una señal analógica que depende de la posición del objeto frente al sensor.
¿Cómo leer un sensor de distancia IR?
Los sensores de distancia IR emiten una señal analógica que varía según la distancia entre el sensor y un objeto. Según la hoja de datos, el voltaje de salida del SHARP GP2Y0A710K0F varía de 2.5 V cuando un objeto está a 100 cm, a 1.4 V cuando está a 500 cm. El gráfico también muestra por qué el rango útil de detección comienza en 100 cm.
Observa que el voltaje de salida para un objeto a 30 cm es igual al voltaje para un objeto a 160 cm. Por lo tanto, el rango útil de detección comienza después del pico, aproximadamente a 100 cm o 2.5 V.

El gráfico también muestra la desventaja de estos sensores: la respuesta es no lineal. En otras palabras, un gran cambio en el voltaje de salida no siempre corresponde a un gran cambio en la distancia. Para determinar la distancia entre el sensor y un objeto, necesitas encontrar una función que convierta el voltaje de salida en un valor de distancia.
Si representas el voltaje de salida frente al inverso de la distancia, obtienes una relación mayormente lineal. Para distancias > 100 cm obtienes la siguiente curva.

Cálculo de distancia
Basado en los datos de la hoja de datos de SHARP, puedes calcular la función lineal:
y = 137500x + 1125
Con y igual al voltaje de salida en mV y x igual a 1/distancia en cm.
Esto resulta en la siguiente fórmula para la distancia entre el sensor y un objeto:
distancia (cm) = 1 / ((voltaje_salida_mV – 1125) / 137500)
Esta es la función que se usa en la librería SharpIR , que usaremos más adelante. Ten en cuenta que esta función se basa solo en datos de la hoja de datos de SHARP. Las características de salida del sensor pueden variar ligeramente entre sensores, por lo que podrías obtener lecturas inexactas.
Especificaciones del GP2Y0A710K0F
| Voltaje de funcionamiento | 4.5 a 5.5 V |
| Corriente de funcionamiento | 30 mA |
| Rango de medición | 100 a 550 cm |
| Tipo de salida | Analógica |
| Dimensiones | 58 x 17.6 x 22.5 mm |
| Orificio de montaje | 4.2 mm |
| Precio | Check price |
Para más información puedes consultar la hoja de datos aquí.
Conexión del sensor IR GP2Y0A710K0F a Arduino
El diagrama de conexiones a continuación muestra cómo conectar el sensor de distancia IR GP2Y0A710K0F a un Arduino. Ten en cuenta: ¡los colores de los cables no son intuitivos!

Este tipo de sensores de distancia tienden a ser un poco ruidosos, por lo que se recomienda añadir un condensador entre Vcc y GND. La hoja de datos sugiere un condensador de 10 µF o más. Conecta la pata positiva del condensador al cable Vcc y la pata negativa al cable GND (ver imagen). Los condensadores suelen tener una franja que indica la pata negativa. La pata positiva suele ser más larga que la negativa.
Conexiones del GP2Y0A710K0F
| GP2Y0A710K0F | Arduino |
|---|---|
| 1 (Rojo) | GND |
| 2 (Negro) | 5V |
| 3 (Amarillo) | 5V |
| 4 (Verde) | A0 |
| 5 (Azul) | GND |
Si tu sensor tiene cables de colores diferentes, asegúrate de revisar el pinout a continuación. El pin Vo está conectado a la entrada analógica del Arduino (A0).

El conector del sensor no está marcado, el orden de los pines corresponde al sensor con el logo hacia arriba.
Ahora que has conectado el sensor, es momento de ver un código de ejemplo.
Instalación de la librería SharpIR para Arduino
La librería SharpIR escrita por Guillaume Rico y Thibaut Mauon facilita mucho el trabajo con sensores IR SHARP. Incluye las fórmulas necesarias para convertir el voltaje de salida medido en una distancia en centímetros. Actualmente, la librería soporta los siguientes sensores: GP2Y0A02YK0F, GP2Y0A21YK0F, GP2Y0A710K0F y GP2YA41SK0F. La última versión de la librería se puede descargar aquí en GitHub o haz clic en el botón de abajo.
Puedes instalar la librería yendo a Sketch > Include Library > Add .ZIP Library en el IDE de Arduino.

El autor de la librería notó que las lecturas del sensor pueden fluctuar bastante. La librería soluciona este problema tomando múltiples lecturas seguidas, descartando valores atípicos y calculando la media para obtener una lectura de distancia más estable. Actualmente, la librería toma la media de 25 lecturas, lo que tarda aproximadamente 53 ms.
Código de ejemplo para el sensor de distancia IR SHARP GP2Y0A710K0F con Arduino
El código de ejemplo a continuación puede usarse con el sensor GP2Y0A710K0F y muestra la distancia medida en centímetros en el monitor serie.
Puedes copiar el código haciendo clic en el botón en la esquina superior derecha del campo de código.
/*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);
}
Ten en cuenta que hemos llamado al sensor mySensor en este ejemplo. Si quieres usar varios sensores de distancia IR, puedes crear otro objeto sensor con un nombre diferente: SharpIR mySensor2 = SharpIR(IRPin2, model); Ten en cuenta que en ese caso también debes usar un pin de entrada diferente para el segundo sensor.
Cuando el voltaje de salida esté por debajo de 1.4 V o por encima de 3.3 V, verás “Mean distance: 0 cm” en el monitor serie.
Conclusión
En este artículo te he mostrado cómo funciona el sensor de distancia IR SHARP GP2Y0A710K0F y cómo usarlo con Arduino. Espero que te haya resultado útil e informativo. Si es así, ¡compártelo con un amigo que también le guste la electrónica!
No dudes en dejar cualquier pregunta en la sección de comentarios.

