Luis Flames

Arduino-LDR

>

Dans cette entrée, nous apprendrons à mesurer le niveau de lumière, à l’intérieur ou à l’extérieur, à l’aide d’Arduino et d’une photorifornie LDR (GL55 ou une famille similaire), à l’aide des entrées Arduino analogiques.

Un photorésistor, ou LDR (résistance dépendante de la lumière) est un dispositif dont la résistance varie en fonction de la lumière reçue. Nous pouvons utiliser cette variation pour mesurer, par des entrées analogiques, une estimation du niveau de la lumière.

Un photorésistor est formé par un semi-conducteur, typiquement du sulfure de CD de cadmium. En influençant la lumière sur celle-ci, certains des photons sont absorbés, ce qui entraîne passer des électrons à la bande de conduite et, par conséquent, diminuer la résistance du composant.

Par conséquent, un photorésistor diminue sa résistance personnalisée qui augmente la lumière sur il. Les valeurs typiques sont de 1 MOHM dans l’obscurité totale, à 50-100 ohm sous la lumière vive.

AD:

D’autre part, la variation de la résistance est relativement lente, de 20 à 100 ms en fonction du modèle. Cette lenteur ne permet pas d’enregistrer des variations rapides, telles que celles produites dans des sources artificielles alimentées par le courant alternatif. Ce comportement peut être bénéfique, car il donne le capteur de grande stabilité.

Enfin, les photoresistors ne sont pas appropriés pour fournir une mesure d’illuminance, c’est-à-dire de servir de luxomètre cela est dû à sa faible précision. Sa forte dépendance à la température et, en particulier, à ce que sa distribution spectrale ne convient pas à la mesure de l’éclairement.

LDR-GRAPHIC

Par conséquent, une LDR est un capteur qui convient à la fourniture de mesures quantitatives au niveau de la lumière, à l’intérieur et à l’extérieur, et à réagir, par exemple, en allumant une lumière, en téléchargeant un aveugle ou guidant un robot.

pour mesurer le nombre de luxes avec Arduino, vous aurez besoin d’un luxomètre comme le BH1750 comme nous le voyons au numéro de mesure de la mesure de luxe avec Arduino et le LUXOMTER BH1750

>

prix

Les photos sont vraiment bon marché. Nous pouvons trouver 20 capteurs LDR pour 1 € dans des vendeurs internationaux sur eBay, frais d’expédition inclus.

LDR-GL55

Comment ça Fonctionne un photorésistor LDR?

mathématiquement, la relation entre l’éclairement et la résistance d’une LDR suit une fonction potentielle.

 \frac{I}{I_0} = \left ( \frac{R}{R_0} \right )^{-gamma}\ frac {i} {i_0} = \ gone (\ frac {r} {r_0} → ^ {- gamma}

être R0 Résistance à une intensité I0, les deux connu.

Le gamma constant est la pente du graphique logarithmique ou la perte de résistance de la décennie. C’est typiquement 0,5 à 0,8.

Pour cette raison, des graphiques fréquemment liés aux deux valeurs sont représentés par des échelles logarithmiques pour les deux axes. Dans cette représentation, le rapport est indiqué comme un graphique linéaire.

Résistance à la LDR

Ces valeurs peuvent être obtenues à partir de ces valeurs. la fiche technique du composant. Par exemple, pour la famille GL55 de photoresistors sont les suivantes:

540

Modèle Peak Spectral (nm) Résistance à la lumière brillante (KΩ) Résistance aux ténèbres (KΩ) Gamma Réponse du temps (MS)
500 500 30
GL5528 10-20 1000 0,6 0,6 / td> 25
540 20-30 2000 0.6
GL5537-2 540 30- 50 3000 0.7
GL5539 540 50-100 5000 0,8 25
GL5549 540 10000 25

Cependant, il y aura toujours de petites variations entre les dispositifs, même dans la même famille, due À la fabrication du composant.

Le comportement potentiel fait que ces faibles différences impliquent de grandes variations dans la mesure, il n’est donc pas possible, en général, d’utiliser ces valeurs absolument sans processus d’étalonnage.

Schéma électrique

Le schéma électrique serait le suivant.

Arduino-LDR-SCHEMA

Assemblage

D’autre part, l’ensemble électrique dans une protoboard serait comme suit.

Arduino-LDR-MONTAJE

EJEMPLOS DE CÓDIGO

A CONTINUACIÓN TENÉIS ALGUNOS EJEMPLOS DE CÓDIGO. En El Siguiente, usamos las entradas Digitales Para HACER PARPADEAR el LED Integrado en La Pala Mientras El LDR Rec Recevoir Luz Suficiente.

1
2
> 3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

const int Ledpin = 13;
const int ldrpin = 2;
SETUP ()
{
Pinmode (LEDPIN, SORTIE);
pince (LDRPIN, entrée);
}
boucle vide ()
{
Valeur int = DigitalRead (LDRPIN);
si (valeur == HIGH)
{
denaprise (LEDPIN, HIGH);
retard (50);
denadewrite (LEDPIN, faible);
retard (50);
}
}

El SIGUIENTE EJEMPLO UNA ENTRADA analógica Para Activar El LED Integrado En La PLACTA SI SUPERA UN CIERTO UmbRAL (seuil).

2
3
4
5
6
7
8

>

9
10
11
12
13
14
15
16
17
18

const int Ledpin = 13;
const int ldrpin = A0;
const int seuil = 100;
SETUP () {
Pinmode (LEDPIN, SORTIE);
pince (LDRPIN, entrée);
}
boucle vide () {
INT INT = AnalogRead (LDRPIN);
si (entrée > Seuil) {
DIGITEWRITE (LEDPIN, HIGH);
}
else {
denaprise (LEDPIN, faible);
}
}

El SIGUIENTE CÓDIGO ProporCiona UNA Lectura Del Nivel De ILLINAIÓN RECIBIDO. Observait que Los Cálculos SE Realizan con ARITMÉTICA de Enteros, Evitando Emplate Números de Coma Floante, Dado Que Ralentizan Mucho La Ejecución del Código.

1
2

>

4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

const Long A = 1000 ; // résistencia en oscuridad en kΩ
const int b = 15; // résistencia a Luz (10 lux) EN KΩ
const int rc = 10; // résistencia calibracion en kΩ
const int ldrpin = A0; // broche del ldr
int V;
il ilum;
SETUP ()
{
série.begin (115200);
}
boucle vide ()
{
v = analogread (LDRPIN);
// ilum = ((long) (1024-V) * A * 10) / ((long) b * rc * v); // usar si ldr entre gnd y a0
ilum = ((long) v * a * 10) / ((long) b * rc * (1024-V)); // usar si ldr Entre a0 y VCC (Como en el esquema antérieur)
série.println (ilum);
délai (1000);
}

SI Te Ha Gustado Esta Entrada y Quieres Leer Más Sobre Arduino Puerdes Consulter La Sección Tutoriales de Arduino

5 3 votes
Évaluation de l’article

anundio:

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *