Capteur de proximité IR simple.

Répondre
Avatar du membre
likikiFrance
Site Admin
Site Admin
Messages : 2997
Enregistré le : 27 févr. 2021, 16:11
Prénom : Christian
LOCALISATION : Ile de France
Centres d'intérêts : Le train miniature (H0 3R), l'impression 3D
Echelle pratiquée : H0
Âge : 55
Pays :
France (fr)
France
avr. 2021 22 17:15

Capteur de proximité IR simple.

Message par likikiFrance

Capteur de proximité IR simple.


Image

Bonjour ! Dans ce tutoriel je vais vous apprendre comment faire un capteur de proximité très simple en utilisant l'infrarouge LED et Arduino.
Après avoir essayé plusieurs fois, je suis finalement arrivé à quelque chose d'assez simple et de précis. Tout comme mon premier tutoriel, ce projet est parfait pour les débutants dans le monde de l'Arduino, avec quelques composants tout le monde peut le faire. J'espère que vous apprécierez.

Pour ce montage tu vas avoir besoin:

- Arduino
- 1 récepteur IR LED (photodiode à 2 picots, pas le phototransistor avec 3 broches)
- LED IR émetteurs (autant que vous pouvez obtenir, mais au moins 2)
- 100K résistance (brun noir jaune)
- Des fils pour cavalier
- Planche à essais
- Ruban adhésif électrique
- Buzzer (facultatif)

Attention à ne pas confondre le récepteur LED avec l'émetteur LED, ils se ressemblent tous.

Image

Préparation du capteur IR

Avant tout, nous devons préparer le récepteur IR LED pour ne pas recevoir la lumière sur les côtés, de sorte que le capteur soit plus directionnel.
J'utilise du ruban adhésif électrique pour le faire, mais vous pouvez utiliser une paille ou quelque chose qui bloque la lumière sur les côtés.
Coupez un petit morceau de ruban adhésif électrique et l'enrouler autour du récepteur IR LED, formant un tube. Coupez le bord avec une paire de ciseaux jusqu'à ce qu'il soit environ 1cm de long.
Jetez un oeil sur la photo ci dessous pour voir comment je l'ai fait avec du ruban électrique.

Image

Le code

Code : Tout sélectionner


/ / Capteur de proximité simple par infrarouge 
/ / Description: Mesurez la distance d'un obstacle en utilisant la lumière infrarouge émise par la LED IR et 
/ / Lire la valeur avec une photodiode IR. La précision n'est pas parfait, mais fonctionne très bien 
/ / Avec de petits projets. 
/ / Auteur: Ricardo Ouvina 
/ / Date: 01/10/2012 
/ / Version: 1.0 

int Irpin = A0; photodiode / / IR sur la broche analogique A0 
int IRemitter = 2; / / émetteur IR LED sur la broche numérique 2 
int ambientIR; / / variable pour stocker l'IR en provenance de la température ambiante 
int obstacleIR; / / variable pour stocker l'infrarouge provenant de l'objet 
int valeur [10]; / / variable pour stocker les valeurs IR 
la distance int; / / variable qui nous dira s'il ya ou non un obstacle 

void setup () { 
Serial.begin (9600); / / initialisation de moniteur de série 
pinMode (IRemitter, OUTPUT); / / émetteur IR LED sur la broche numérique 2 
digitalWrite (IRemitter, LOW) ;/ / setup LED IR comme off 
pinMode (11, OUTPUT); / / buzzer en broche numérique 11 
} 

void loop () { 
distance = readIR (5); / / appel de la fonction qui va lire la distance et le passage de la «précision» qui lui 
Serial.println (distance); / / écriture de la valeur lue sur le moniteur de série 
/ / Buzzer (); / / Décommentez pour activer la fonction vibreur 
} 

int readIR (int fois) { 
for (int x = 0; <x fois, x + +) { 
digitalWrite (IRemitter, LOW); / / tourner la LED IR off de lire le IR provenant de l'air ambiant 
retard (1); / / retard minimum nécessaire pour lire les valeurs 
ambientIR = analogRead (Irpin); / / stockage IR provenant de l'air ambiant 
digitalWrite (IRemitter, HIGH); / / tourner la LED IR à lire le IR en provenance de l'obstacle 
retard (1); / / retard minimum nécessaire pour lire les valeurs 
obstacleIR = analogRead (Irpin); / / stockage IR en provenance de l'obstacle 
valeur [x] = ambientIR-obstacleIR; / / calcul des changements dans les valeurs IR et de la stocker pour l'avenir moyenne 
} 

for (int x = 0; x <fois; x + +) {/ / calcul de la moyenne basée sur la "précision" 
Distance + = valeur [x]; 
} 
retour (distance / temps); / / Retourne la valeur finale 
} 


/ / - Fonction pour faire retentir un signal sonore pour les mesures acoustiques - / / 
buzzer void () { 
si (distance> 1) { 
si (distance> 100) {/ / acoustique continu si l'obstacle est trop proche 
digitalWrite (11, HIGH); 
} 
else {/ / bips plus vite quand un obstacle se rapproche 
digitalWrite (11, HIGH); 
retard (150 minutes); / / ajuster cette valeur pour votre commodité 
digitalWrite (11, LOW); 
retard (150 minutes); / / ajuster cette valeur pour votre commodité 
} 
} 
else {/ / hors tension si il n'existe aucun obstacle 
digitalWrite (11, LOW); 
} 
} 

Bien sûr, vous pouvez modifier pour l'adapter à votre propre projet. Vous pouvez par exemple faire un changement de direction du robot ou de la vitesse en fonction de la distance de lecture du capteur IR.

Câblage :

Connecter la résistance a la broche 5V et à la broche d'anode du récepteur IR LED. Tous les anodes broches de la LED émetteurs IR à la borne numérique 2. Un fil va de la broche analogique 0 à la broche d'anode de récepteur IR LED. N'oubliez pas de connecter toutes les broches cathode des diodes à la borne de masse.
Le buzzer est facultatif, mais si vous l'utilisez, connecter le à la broche numérique 11 et la masse.
La lumière infrarouge n'est pas visible à l'oeil nu, mais vous pouvez le voir à travers un appareil photo numérique, il est utile de voir si la LED fonctionne ou pas.
Jetez un coup d'oeil aux photos.

Image

Image

Image

Image

Le capteur répond à 10 pouces (25 cm) ou plus près, il est donc bon pour les petites distances.

Voici une vidéo que j'ai faite.





La page web original
:kingmoi:

ImageImageImage


Les dates des bourses d'échange mis a jour ==> ICI <==
Répondre