
Le capteur de proximité Sharp GP2Y0A21 est conçu pour détecter la présence d'un obstacle et, accessoirement, mesurer la distance de ce dernier. Le capteur est constitué d'une LED infrarouge, d'un capteur infrarouge (une photodiode, je suppose) et d'un circuit qui traite le signal de façon à retourner une tension analogique dont la valeur dépend de la position de l'obstacle.
Connexions et première exploration
Le capteur Sharp est doté de 3 pins; mon modèle acheté sur eBay comportait déjà trois câbles dotés d'un connecteur JST (
Japanese Solderless terminal), mais j'ai cru comprendre que ce n'est pas toujours le cas.
Les connexions sont extrêmement simples: le fil noir est la masse (GND), le fil rouge est l'alimentation 5 V, et le fil jaune porte le signal de sortie, dont la valeur maximale est d'un peu plus de 3 volts.
Pour vérifier le fonctionnement correct du capteur, on peut donc brancher ce dernier à une carte Arduino de la façon illustrée ci-dessous (fil noir à GND, fil rouge à 5 V et fil jaune à A0), puis utiliser l'exemple AnalogReadSerial fourni avec l'IDE Arduino (chemin d'accès:
Menu Exemples / 01. Basics / AnalogReadSerial). Le moniteur série affichera une valeur différente selon la distance entre le capteur et un obstacle.
(Si votre intention n'est pas d'utiliser un microcontrôleur, vous pouvez bien sûr brancher le capteur à une tension continue de 5 volts, et mesurer avec un voltmètre la tension de sortie)
Utilisation comme capteur de proximité
Dans certains cas, vous désirez simplement détecter la présence d'un obstacle devant le capteur, sans chercher à connaître sa position exacte (par exemple: pour déclencher automatiquement un sèche-main aussitôt que l'utilisateur place ses mains au bon endroit).
Voici un sketch qui allume une LED lorsqu'une présence est détectée: ça pourrait servir de base à un système d'alarme rudimentaire. J'ai d'abord mesuré le signal de sortie du capteur Sharp lorsqu'aucun obstacle n'est présent (environ 40), puis j'allume une LED lorsque le signal est significativement différent de celui qui avait préalablement été mesuré (plus grand que 60).
Votre carte Arduino comporte probablement déjà une LED liée à la pin 13, il n'est donc pas strictement nécessaire d'en ajouter une. Il est possible que vous deviez augmenter le seuil (celui que j'ai réglé à 60) si votre LED s'allume même en l'absence d'obstacle.