Capteur de résistance dépendante de la lumière - Capteur LDR avec Esptop 10 en utilisant Arduino IDE

Capteur de résistance dépendante de la lumière - Capteur LDR avec Esptop 10 en utilisant Arduino IDE

L'ESP32 est un microcontrôleur puissant équipé de fonctionnalités pour l'IoT. ESP32 avec LDR peut mesurer l'intensité lumineuse et déclencher la réponse en fonction. En utilisant ESP32 et un LDR, nous pouvons créer un projet basé sur la détection de la lumière à distance et concevoir une variété de solutions IoT innovantes pour diverses industries et applications.

Dans ce guide, les bases de LDR et ses applications avec ESP32 seront couvertes.

1: Introduction au capteur LDR

2: Applications de LDR avec ESP32

3: Interfaçage LDR avec ESP32 en utilisant Arduino IDE

    • 1: schéma
    • 2: code
    • 3: Sortie sous une faible lumière
    • 4: Sortie sous la lumière vive

Conclusion

1: Introduction au capteur LDR

UN Lsié Dépuisé REsistor (LDR) est un type de résistance qui modifie sa résistance en fonction de l'intensité de la lumière à laquelle il est exposé. Dans l'obscurité, sa résistance est très élevée, tandis que dans la lumière vive, sa résistance est très faible. Ce changement de résistance est le meilleur pour les projets de détection de lumière.


Les broches analogiques ESP32 convertissent les tensions entrantes en un entier entre 0 et 4095. Cette valeur entière est mappée par rapport à la tension d'entrée analogique de 0V à 3.3V qui est par défaut la tension de référence ADC dans ESP32. Cette valeur est lue à l'aide de l'Arduino analogread () fonction de LDR.

Pour un guide plus détaillé et une broche ADC de ESP32, lisez l'article ESP32 ADC - Lire les valeurs analogiques avec Arduino IDE.


L'ESP32 possède un convertisseur analogique-numérique (ADC) intégré qui peut mesurer la tension à travers le LDR et le convertir en un signal numérique qui peut être traité par le microcontrôleur. L'utilisation de ce signal ESP32 détermine la résistance du LDR, qui est proportionnelle à l'intensité lumineuse.

Ici, nous utiliserons les broches ESP32 ADC Channel 1.


Les photons ou les particules légères jouent un rôle crucial dans le fonctionnement des LDR. Lorsque la lumière tombe à la surface d'un LDR, les photons sont absorbés par le matériau, qui libère ensuite des électrons dans le matériau. Le nombre d'électrons libres est directement proportionnel à l'intensité de la lumière, et plus les électrons sont libérés, plus la résistance du LDR est faible.

2: Applications de LDR avec ESP32

Voici la liste de certaines applications basées sur l'IoT de LDR avec ESP32:

    • Commutateur activé par la lumière
    • Indicateur de niveau d'éclairage
    • Mode nocturne dans les appareils
    • Systèmes de sécurité basés sur la lumière
    • Systèmes d'éclairage intelligent
    • Systèmes de sécurité sensibles à la lumière
    • Surveillance des plantes
    • Éclairage économe en énergie
    • Stores automatisés

3: Interfaçage LDR avec ESP32 en utilisant Arduino IDE

Pour utiliser un LDR avec l'ESP32, nous devons connecter le LDR avec une broche de canal ADC ESP32. Après ce code Arduino est nécessaire qui lira les valeurs analogiques de la broche de sortie LDR. Pour concevoir ce circuit, nous avons besoin de LDR, d'une résistance et de la carte ESP32.

Le LDR et la résistance sont connectés en série, le LDR connecté au canal analogique 1 Pin d'entrée d'ESP32. Une LED sera ajoutée au circuit qui peut tester le travail LDR.

1: schéma

Le diagramme de circuit pour l'interfaçage LDR avec ESP32 est assez simple. Nous devons connecter le LDR et une résistance dans une configuration de diviseur de tension et connecter la sortie du diviseur de tension à la broche ADC (analogue au convertisseur numérique) de ESP32. Le canal ADC 1 broche D34 est utilisé comme entrée analogique pour ESP32.

L'image suivante est le schéma d'ESP32 avec le capteur LDR.

2: code

Une fois le circuit configuré, l'étape suivante consiste à écrire le code pour l'ESP32. Le code lira l'entrée analogique du LDR et l'utilisera pour contrôler une LED ou un autre appareil en fonction de différents niveaux de lumière.

int ldr_val = 0; / * Variable pour stocker la valeur de photorésistance * /
capteur int = 34; / * Entrée analogique pour le photorésistante * /
int led = 25; / * Broche de sortie LED * /
void setup()
En série.commencer (9600); / * Taux en bauds pour la communication série * /
PinMode (LED, sortie); / * LED PIN SET comme sortie * /

VOID LOOP ()
Ldr_val = analogread (capteur); / * Valeur LDR à lire analogique * /
En série.print ("Valeur de sortie LDR:");
En série.println (ldr_val); / * Afficher la sortie de sortie LDR sur le moniteur série * /
if (ldr_val> 100) / * si l'intensité lumineuse est élevée * /
En série.println ("haute intensité");
DigitalWrite (LED, bas); / * LED reste éteint * /

autre
/ * Sinon, si l'intensité légère est une LED faible restera sur * /
En série.println ("faible intensité");
DigitalWrite (LED, High); / * La valeur LDR à activer LDR est inférieure à 100 * /

retard (1000); / * Lit la valeur après chaque 1 seconde * /


Dans le code ci-dessus, nous utilisons un LDR avec ESP32 qui contrôlera LED à l'aide de l'entrée analogique provenant de LDR.

Les trois premières lignes de code déclarent les variables pour stocker le valeur de photorésistance, le épingle analogique pour le photorésistante et le DIRIGÉ broche.

Dans le installation() Fonction, la communication série est lancée avec un taux en bauds de 9600 et la broche D25 LED est définie sous forme de sortie.

Dans le boucle() Fonction, la valeur de photorésistance est lue à l'aide de la fonction analogread (), qui est stockée dans le LDR_VAL variable. La valeur du photorésistateur est ensuite affichée sur le moniteur série à l'aide de la série.Fonction println ().

Un sinon La déclaration est utilisée pour contrôler la LED en fonction de l'intensité lumineuse détectée par le photorésistante. Si la valeur du photorésistance est supérieure à 100, cela signifie que l'intensité lumineuse est élevée et que la LED reste éteinte. Cependant, si la valeur de la photorésistance est inférieure ou égale à 100, cela signifie que l'intensité lumineuse est faible et que la LED s'allume.

Enfin, le programme attend 1 seconde en utilisant la fonction de retard () avant de lire à nouveau la valeur de la photorésistance. Ce cycle se répète indéfiniment, ce qui fait allumer et éteindre la LED en fonction de l'intensité lumineuse détectée par le photorésistante.

3: Sortie sous une faible lumière

L'intensité légère est inférieure à 100, donc la LED restera sur.

4: Sortie sous la lumière vive

À mesure que l'intensité lumineuse augmente, la valeur LDR augmentera et que la résistance au LDR diminuera pour que la LED s'éteint.

Conclusion

Le LDR peut être interfacé avec ESP32 à l'aide de la broche ADC Channel 1. La sortie LDR peut contrôler la détection de la lumière dans diverses applications. Avec son faible coût et sa taille compacte, l'ESP32 et le LDR font un choix attrayant pour les projets IoT qui nécessitent des capacités de détection de lumière. Utilisation de l'Arduino analogread () fonction, nous pouvons lire les valeurs de LDR.