Projet Robotek

Accueil  Nouvelles  Téléchargements  Liens  Forum
Capteur de lumière

Capteur de lumière


Etre capable de "voir" son environnement est une fonction essentielle pour votre robot. Il existe différentes méthodes pour y arriver, la plus simple étant de mesurer la quantité de lumière visible à l'aide d'une photorésistance.

Utilisation d'une photorésistance (LDR)

Les photorésistances ont différents diamètres et différentes valeurs mais leur fonctionnement est identique : leur valeur ohmique diminue en même temps que la luminosité.
ldr2.gifldr2.gif
LDR diamètre 5 mm LDR enrobée diamètre 12 mm

Fonctionnement :

Le port du microcontrôleur est utilisé en entrée analogique, c'est-à-dire qu'au lieu de lire 2 états (0 ou 1), il peut lire des valeurs comprises entre 0 et 255.

Le microcontrôleur mesure le temps de décharge du condensateur au travers de la photorésistance et convertit cette mesure en une valeur comprise entre 0 et 255.

Si la luminosité diminue, la valeur de la LDR diminue ainsi que le temps de décharge. La valeur convertie sera modifiée en conséquence.
schema_ldr.gif

Il ne reste plus qu'à écrire le programme suivant pour tester le circuit :

SYMBOL val=b0


SYMBOL ech=33



detecte_lum:
POT 0,ech,val IF val>200 then msg1
IF val<200 AND val>100 then msg2
IF val<100 then msg3
GOTO detecte

msg1:
DEBUG «trop lumineux»
GOTO detecte

msg2:
DEBUG «lumière agréable»
GOTO detecte

msg3:
DEBUG «trop sombre»
GOTO detecte
=>


=>



=>
=>
=>
=>
=>
=>

=>
=>
=>

=>
=>
=>

=>
=>
=>
réserve un espace en mémoire pour stocker les valeurs lues

déclare que la variable "ech" contient 33 (valeur de l'échelle de lecture à étalonner avant de lancer le programme, voir plus bas)

sous-programme detecte_lum
lit sur le port 0 et stocke la valeur dans "val"
si la valeur est supérieure à 200 alors va à msg1
si la valeur est comprise entre 100 et 200 alors va à msg2
si la valeur est inférieure à 100 alors va à msg3
sinon va au sous-programme detecte

sous-programme msg1
affiche à l'écran le message "trop lumineux"
va au sous-programme detecte

sous-programme msg2
affiche à l'écran le message "lumière agréable"
va au sous-programme detecte

sous-programme msg3
affiche à l'écran le message "trop sombre"
va au sous-programme detecte

Après avoir téléchargé le programme, si vous passez la main devant la LDR, les différents messages doivent apparaître à l'écran.

Vous trouverez ci-dessous un exemple de circuit permettant de fixer facilement une LDR sur le châssis du robot. Le fichier réalisé avec TCI 3.0 (logiciel gratuit à voir sur la page des liens) est disponible en téléchargement.

circuit LDR.gifLDR = Photorésistance
C1 = condensateur polyester 100 nF

Prévoir 2 fils de couleurs différentes pour P et 0V

Etalonnage du port lors d'une lecture analogique

La valeur “ECH” est définie à l’étalonnage du montage.

Pour cela, reliez votre capteur au microcontrôleur, connectez celui-ci au PC grâce au câble de liaison, lancez l’éditeur BASIC (stamp.exe) et appuyez ALT+P et sélectionnez le port connecté au capteur.

Dans la fenêtre qui apparaît, vous devez voir une valeur SCALE. Si vous le pouvez, réglez votre montage pour que cette valeur soit la plus basse possible. Appuyez ensuite sur la barre espace, agissez sur votre montage et regardez le chiffre VALUE changer suivant vos actions. Ce sont ces valeurs que vous devez utiliser dans votre programme pour créer vos conditions (IF...THEN...).
Date de création : 14/11/2007 @ 15:23
Dernière modification : 14/11/2007 @ 15:51
Catégorie : Capteurs
Page lue 11290 fois

up Haut up


Site propulsé par GuppY - © 2004-2007 - Licence Libre CeCILL