Sensore LDR di interfaccia con Arduino Nano

Sensore LDR di interfaccia con Arduino Nano

La resistenza dipendente dalla luce ha una vasta applicazione in progetti dipendenti dalla luce. Con l'aiuto di un microcontrollore come Arduino Nano, l'LDR può essere utilizzato per controllare vari dispositivi in ​​base al livello di intensità della luce. Questa guida copre le basi di LDR e le sue applicazioni con l'Arduino Nano.

Questo contenuto di questo articolo include:

1: Introduzione al sensore LDR

2: Applicazioni di LDR con Arduino Nano

3: interfacciando LDR con Arduino Nano

    • 1: schema
    • 2: codice
    • 3: output sotto luce fioca
    • 4: output sotto luce intensa

Conclusione

1: Introduzione al sensore LDR

UN Light Dependente REsistor (LDR) è un tipo di resistenza che cambia la sua resistenza in base all'intensità della luce a cui è esposto. Nell'oscurità, la sua resistenza è molto alta, mentre in luce intensa la sua resistenza è molto bassa. Questo cambiamento di resistenza rende il migliore per i progetti di rilevamento della luce.


LDR fornisce un'uscita di tensione analogica che verrà letta da Arduino ADC su pin analogici. Il pin di ingresso analogico sull'Arduino utilizza un ADC per convertire la tensione analogica dal LDR in un valore digitale. L'ADC ha un intervallo da 0 a 1023, con 0 che rappresentano 0 V e 1023 che rappresentano la tensione di ingresso massima (di solito 5 V per Arduino).

Arduino leggerà i valori analogici usando il analogread () funzione nel tuo codice. La funzione Analogread () prende il numero di pin di ingresso analogico come argomento e restituisce il valore digitale.


I fotoni o le particelle di luce svolgono un ruolo cruciale nel funzionamento di LDRS. Quando la luce cade sulla superficie di un LDR, i fotoni vengono assorbiti dal materiale, che libera gli elettroni nel materiale. Il numero di elettroni liberi è direttamente proporzionale all'intensità della luce e più elettroni che vengono liberati, più bassa è la resistenza della LDR.

2: Applicazioni di LDR con Arduino Nano

Di seguito è riportato l'elenco di alcune applicazioni comuni di LDR con Arduino:

    • Controllo dell'illuminazione automatica
    • Interruttore attivato dalla luce
    • Indicatore a livello di luce
    • Modalità notturna nei dispositivi
    • Sistemi di sicurezza basati sulla luce

3: interfacciando LDR con Arduino Nano

Per utilizzare un LDR con l'Arduino Nano, è necessario creare un semplice circuito. Il circuito è costituito da LDR, una resistenza e Arduino Nano. La LDR e il resistore sono collegati in serie, con l'LDR collegato al pin di ingresso analogico del Nano Arduino. Un LED verrà aggiunto al circuito in grado di testare LDR funzionante.

1: schema

La seguente immagine è lo schema di Arduino Nano con sensore LDR.

2: codice

Una volta impostato il circuito, il passo successivo è scrivere il codice per Arduino Nano. Il codice leggerà l'ingresso analogico dall'LDR e lo utilizzerà per controllare un LED o un altro dispositivo in base a diversi livelli di luce.

int ldr_val = 0; /*Variabile per archiviare il valore del fotoresistor*/
int sensore = a0; /*Pin analogico per fotoresistor*/
INT LED = 12; /*Pin di uscita a LED*/
void setup ()
Seriale.Inizia (9600); /*Tasso di baud per comunicazione seriale*/
pinMode (LED, output); / *Pin LED impostata come output */

void loop ()
Ldr_val = analogread (sensore); /*Analogico leggi il valore LDR*/
Seriale.print ("Valore di output LDR:");
Seriale.println (ldr_val); /*Visualizza LDR Output Val sul monitor seriale*/
if (ldr_val> 100) /*se l'intensità della luce è alta* /
Seriale.println ("alta intensità");
DigitalWrite (LED, basso); /*LED rimane fuori*/

altro
/*Altrimenti se l'intensità della luce è un LED basso rimarrà su*/
Seriale.println ("bassa intensità");
DigitalWrite (LED, High); /* LED Accensione Il valore LDR è inferiore a 100*/

ritardo (1000); /*Legge il valore dopo ogni 1 sec*/


Nel codice sopra usiamo un LDR con Arduino Nano che controllerà il LED usando l'ingresso analogico proveniente da LDR.

Le prime tre righe di codice dichiarano variabili per archiviare il Valore del fotoresistor, IL Pin analogico per il fotoresistor e il GUIDATO Pin di uscita.

Nel impostare() Funzione, la comunicazione seriale è iniziata con una velocità di baud di 9600 e il pin LED D12 è impostato come output.

Nel ciclo continuo() funzione, il valore del fotoresistor viene letto utilizzando la funzione Analogread (), che è memorizzata in Ldr_val variabile. Il valore del fotoresistor viene quindi visualizzato sul monitor seriale utilizzando il seriale.funzione println ().

UN se altro L'istruzione viene utilizzata per controllare il LED in base all'intensità della luce rilevata dal fotoresistor. Se il valore del fotoresistor è maggiore di 100, significa che l'intensità della luce è alta e il LED rimane spento. Tuttavia, se il valore del fotoresistor è inferiore o uguale a 100, significa che l'intensità della luce è bassa e il LED si accende.

Infine, il programma attende 1 secondo utilizzando la funzione Delay () prima di leggere di nuovo il valore del fotoresistor. Questo ciclo si ripete a tempo indeterminato, rendendo il LED accendere e spegnere in base all'intensità della luce rilevata dal fotoresistor.

3: output sotto luce fioca

L'intensità della luce è inferiore a 100, quindi il LED rimarrà acceso.

4: output sotto luce intensa

All'aumentare dell'intensità della luce, il valore LDR aumenterà e la resistenza LDR diminuirà, quindi il LED si spegne.

Conclusione

La LDR può essere interfacciata con Arduino Nano usando un pin analogico. L'uscita LDR può controllare il rilevamento della luce in varie applicazioni. Sia che sia utilizzato per il controllo automatico dell'illuminazione, i sistemi di sicurezza a base di luce o solo un indicatore a livello di luce, l'LDR e Arduino Nano possono essere interfacciati per creare progetti che rispondano ai cambiamenti di intensità della luce.