Code produit: | KY032 |
Ce capteur utilise la lumière infrarouge pour détecter les obstacles. Lorsque la lumière infrarouge émise rencontre un obstacle, elle est réfléchie et détectée par la photodiode. La distance à atteindre pour la détection peut être réglée à l'aide des deux contrôleurs.
Ce comportement peut être utilisé dans des contrôleurs, tels que ceux utilisés dans les robots, pour s'arrêter de manière autonome s'ils devaient se diriger vers un obstacle.
État 1 : il n'y a pas d'obstacle devant le détecteur [LED du module : éteint] [Signal du capteur = numérique activé].
État 2 : le détecteur a détecté un obstacle [LED sur le module : allumée] [Signal du détecteur = numérique éteint].
Ce capteur possède une broche supplémentaire "Enable" qui permet d'activer ou de désactiver la détection d'obstacles au moyen d'un contrôleur. Par défaut, cette fonction est activée pour ce capteur, c'est-à-dire que la détection est effectuée en permanence - si vous ne voulez pas cela, parce que la programmation souhaitée ne le prévoit pas par exemple, vous devez enlever le cavalier (voir vert dans l'image) avec l'étiquette "EN" et activer un signal de commande sur la "Enable-Pin".
*Notez que le bouton de droite est responsable de la distance mesurable du capteur. Si on le tourne vers la droite, la distance mesurable augmente et si on le tourne vers la gauche, la distance mesurable diminue.
*Notez que le curseur de gauche est responsable de la sensibilité du capteur. Si on le tourne vers la droite, la sensibilité augmente et si on le tourne vers la gauche, la sensibilité du capteur diminue.
Arduino | Capteur |
---|---|
- | Enable |
5V | +V |
Masse | GND |
Pin 10 | Signal |
int Sensor = 10; // Déclaration de la broche d'entrée du capteur
void setup ()
{
Serial.begin(9600); // Sortie série à 9600 bauds
pinMode (Sensor, INPUT) ; // Initialisation de la broche d'entrée du capteur
}
// Le programme lit l'état des broches du capteur et envoie l'information
// de détection (ou non) d'un obstacle dans la console.
void loop ()
{
bool val = digitalRead (Sensor) ; // Lecture de la valeur du signal
if (val == HIGH) // Si un signal est détecté, la diode s'allume
{
Serial.println("Pas d'obstacle");
}
else
{
Serial.println("Obstacle detecte");
}
Serial.println("------------------------------------");
delay(500); // pause de 500ms entre les mesures
}