Der SHARP GP2Y0A710K0F ist ein einfach zu verwendender IR-Abstandssensor mit einer extra langen Reichweite von 100 – 500 cm. Diese extra lange Reichweite macht ihn zu einer guten Alternative zu Ultraschall-Abstandssensoren.
In diesem Tutorial lernst du, wie der Sensor funktioniert und wie du ihn mit Arduino verwendest. Ich habe ein Schaltbild und Beispielcode beigefügt, damit du direkt mit deinem Sensor experimentieren kannst.
Wenn du nach einem günstigeren oder wasserdichten Abstandssensor suchst, schau dir den HC-SR04 oder JSN-SR04T an. In den untenstehenden Artikeln erkläre ich, wie diese Abstand-/Nähe-Sensoren funktionieren und wie du sie mit Arduino nutzen kannst.
Weitere Abstand-/Nähe-Sensoren:
- 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
Benötigte Teile

GP2Y0A710K0F Abstandssensor

Arduino Uno

USB-Kabel für Arduino UNO

Dupont-Kabelsatz

Breadboard

Kondensator( ≥ 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.
Wie funktioniert ein IR-Abstandssensor?
Ein IR-Abstandssensor nutzt einen Infrarotlichtstrahl, der von einem Objekt reflektiert wird, um dessen Entfernung zu messen. Die Entfernung wird durch Triangulation des Lichtstrahls berechnet. Der Sensor besteht aus einer IR-LED und einem Lichtsensor oder PSD (Position Sensing Device).
Wenn der Lichtstrahl von einem Objekt reflektiert wird, erreicht der reflektierte Strahl den Lichtsensor und ein „optischer Fleck“ bildet sich auf dem PSD.

Wenn sich die Position des Objekts ändert, ändern sich auch der Winkel des reflektierten Strahls und die Position des Flecks auf dem PSD. Siehe Punkt A und Punkt B im Bild unten.

Der Sensor verfügt über eine eingebaute Signalverarbeitungsschaltung. Diese verarbeitet die Position des optischen Flecks auf dem PSD, um die Position (Entfernung) des reflektierenden Objekts zu bestimmen. Er gibt ein analoges Signal aus, das von der Position des Objekts vor dem Sensor abhängt.
Wie liest man einen IR-Abstandssensor aus?
IR-Abstandssensoren geben ein analoges Signal aus, das sich je nach Abstand zwischen Sensor und Objekt ändert. Aus dem Datenblatt geht hervor, dass die Ausgangsspannung des SHARP GP2Y0A710K0F von 2,5 V bei 100 cm Abstand bis 1,4 V bei 500 cm Abstand reicht. Das Diagramm zeigt auch, warum der nutzbare Messbereich bei 100 cm beginnt.
Beachte, dass die Ausgangsspannung für ein Objekt in 30 cm Entfernung gleich der Ausgangsspannung für ein Objekt in 160 cm Entfernung ist. Der nutzbare Messbereich beginnt daher nach dem Maximum bei etwa 100 cm oder 2,5 V.

Das Diagramm zeigt auch den Nachteil dieser Sensoren: die Reaktion ist nicht linear. Mit anderen Worten, eine große Änderung der Ausgangsspannung entspricht nicht immer einer großen Änderung der Entfernung. Um die Entfernung zwischen Sensor und Objekt zu bestimmen, muss eine Funktion gefunden werden, die die Ausgangsspannung in einen Entfernungswert umwandelt.
Wenn man die Ausgangsspannung gegen den Kehrwert der Entfernung aufträgt, erhält man eine weitgehend lineare Beziehung. Für Entfernungen > 100 cm ergibt sich folgende Kurve.

Entfernungsberechnung
Basierend auf den Daten aus dem SHARP-Datenblatt kann man die lineare Funktion berechnen:
y = 137500x + 1125
Dabei ist y die Ausgangsspannung in mV und x der Kehrwert der Entfernung in cm.
Das ergibt folgende Formel für die Entfernung zwischen Sensor und Objekt:
Entfernung (cm) = 1 / ((output_voltage_mV – 1125) / 137500)
Dies ist die Funktion, die in der SharpIR-Bibliothek verwendet wird, die wir später nutzen werden. Beachte, dass diese Funktion nur auf Daten aus dem SHARP-Datenblatt basiert. Die Ausgangscharakteristik des Sensors kann von Sensor zu Sensor leicht variieren, daher können die Messwerte ungenau sein.
GP2Y0A710K0F Spezifikationen
| Betriebsspannung | 4,5 bis 5,5 V |
| Betriebsstrom | 30 mA |
| Messbereich | 100 bis 550 cm |
| Ausgangstyp | Analog |
| Abmessungen | 58 x 17,6 x 22,5 mm |
| Befestigungsloch | 4,2 mm |
| Kosten | Check price |
Weitere Informationen findest du im Datenblatt hier.
Anschluss des GP2Y0A710K0F IR-Sensors an Arduino
Das folgende Schaltbild zeigt, wie du den GP2Y0A710K0F IR-Abstandssensor an einen Arduino anschließt. Bitte beachten: Die Kabelfarben sind nicht intuitiv!

Diese Art von Abstandssensoren neigt zu etwas Rauschen, daher wird empfohlen, einen Kondensator zwischen Vcc und GND zu schalten. Das Datenblatt empfiehlt einen Kondensator von 10 µF oder mehr. Verbinde den positiven Anschluss des Kondensators mit der Vcc-Leitung und den negativen Anschluss mit der GND-Leitung (siehe Bild). Kondensatoren sind oft mit einem Streifen markiert, der den negativen Anschluss anzeigt. Der positive Anschluss ist oft länger als der negative.
GP2Y0A710K0F Anschlüsse
| GP2Y0A710K0F | Arduino |
|---|---|
| 1 (Rot) | GND |
| 2 (Schwarz) | 5V |
| 3 (Gelb) | 5V |
| 4 (Grün) | A0 |
| 5 (Blau) | GND |
Wenn dein Sensor andere Kabelfarben hat, überprüfe unbedingt das folgende Pinout. Der Vo-Pin ist mit dem analogen Eingang des Arduino (A0) verbunden.

Der Stecker des Sensors ist nicht markiert, die Reihenfolge der Pins entspricht dem Sensor mit dem Logo nach oben.
Nachdem du den Sensor angeschlossen hast, schauen wir uns nun Beispielcode an.
Installation der SharpIR Arduino-Bibliothek
Die SharpIR-Bibliothek, geschrieben von Guillaume Rico und Thibaut Mauon, erleichtert die Arbeit mit SHARP IR-Sensoren erheblich. Sie enthält die Formeln, die benötigt werden, um die gemessene Ausgangsspannung in eine Entfernung in Zentimetern umzuwandeln. Aktuell unterstützt die Bibliothek folgende Sensoren: GP2Y0A02YK0F, GP2Y0A21YK0F, GP2Y0A710K0F und GP2YA41SK0F. Die neueste Version der Bibliothek kann hier heruntergeladen werden auf GitHub oder klicke auf den Button unten.
Du kannst die Bibliothek installieren, indem du im Arduino IDE zu Sketch > Include Library > Add .ZIP Library gehst.

Der Autor der Bibliothek hat festgestellt, dass die Messwerte des Sensors stark schwanken können. Die Bibliothek löst dieses Problem, indem sie mehrere Messwerte hintereinander aufnimmt, Ausreißer verwirft und den Mittelwert bildet, um eine stabilere Entfernungsanzeige zu erhalten. Aktuell werden 25 Messwerte gemittelt, was etwa 53 ms dauert.
Beispielcode für SHARP GP2Y0A710K0F IR-Abstandssensor mit Arduino
Der folgende Beispielcode kann mit dem GP2Y0A710K0F Sensor verwendet werden und zeigt die gemessene Entfernung in Zentimetern im seriellen Monitor an.
Du kannst den Code kopieren, indem du auf den Button oben rechts im Codefeld klickst.
/*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);
}
Beachte, dass wir den Sensor in diesem Beispiel mySensor genannt haben. Wenn du mehrere IR-Abstandssensoren verwenden möchtest, kannst du ein weiteres Sensorobjekt mit einem anderen Namen erstellen: SharpIR mySensor2 = SharpIR(IRPin2, model); Beachte, dass du in diesem Fall auch einen anderen Eingangspin für den zweiten Sensor verwenden musst.
Wenn die Ausgangsspannung unter 1,4 V oder über 3,3 V liegt, wird im seriellen Monitor „Mean distance: 0 cm“ angezeigt.
Fazit
In diesem Artikel habe ich dir gezeigt, wie der SHARP GP2Y0A710K0F IR-Abstandssensor funktioniert und wie du ihn mit Arduino verwenden kannst. Ich hoffe, du fandest es nützlich und informativ. Wenn ja, teile es bitte mit einem Freund, der sich auch für Elektronik interessiert!
Hinterlasse gerne Fragen im Kommentarbereich.

