Le fiamme Luis

Arduino-Ldr

In questa voce impareremo a misurare il livello di luce, sia all’interno che all’esterno, con l’aiuto di Arduino e di un fotoresistero di LDR (GL55 o famiglia simile), utilizzando gli ingressi ARDUINO analogici.

Un fotoresistor, o LDR (resistore dipendente dalla luce) è un dispositivo la cui resistenza varia a seconda della luce ricevuta. Possiamo usare questa variazione per misurare, attraverso ingressi analogici, una stima del livello di luce.

Un fotoresistor è formato da un semiconduttore, tipicamente CDS CDS solfuro. Influendo la luce su di esso alcuni dei fotoni vengono assorbiti, causando passare agli elettroni alla banda di guida e, pertanto, diminuendo la resistenza del componente.

Pertanto, un fotoresistor diminuisce la sua resistenza personalizzata che aumenta la luce esso I valori tipici sono 1 MOHM nell’oscurità totale, a 50-100 ohm sotto luce intensa.

AD:

D’altra parte, la variazione della resistenza è relativamente lenta, da 20 a 100 ms a seconda del modello. Questa lentezza rende non possibile registrare variazioni rapide, come quelle prodotte in fonti artificiali alimentate dalla corrente alternando. Questo comportamento può essere utile, poiché dà il sensore di grande stabilità.

Infine, i Phoresisistor non sono adatti a fornire una misurazione dell’illuminamento, cioè da servire come lusso questo è dovuto alla sua bassa precisione , la sua forte dipendenza dalla temperatura e, in particolare, a che la sua distribuzione spettrale non è adatta per la misurazione dell’illuminamento.

ldr-graphic

Pertanto, un LDR è un sensore adatto a fornire misure quantitative sul livello di luce, sia all’interno che all’esterno, e reagire, ad esempio, accendere una luce, caricando un cieco o guidare un robot.

Per misurare il numero di lusso con Arduino avrete bisogno di un lusso come il BH1750 come vediamo al numero di input numero di lusso con Arduino e il LUXOMETRO BH1750

Prezzo

Le foto sono dispositivi davvero economici. Possiamo trovare 20 sensori LDR per € 1 in venditori internazionali su eBay, i costi di spedizione inclusi.

LDR-GL55

Come Lavora un PhotoreSistor LDR?

Matematicamente, la relazione tra l’illuminamento e la resistenza di un LDR seguono una funzione potenziale.

\ frac {i} {i_0} = \ Sinistra (\ frac {r} {r_0} → ^ {r_0}} → {r_0}}

Essendo resistenza R0 ad un’intensità I0, entrambi Conosciuto.

La gamma costante è la pendenza del grafico logaritmico, o la perdita di resistenza per decennio. È in genere da 0,5 a 0,8.

Per questo motivo, la grafica frequentemente relativa a entrambi i valori è rappresentata da scale logaritmiche per entrambi gli assi. Sotto questa rappresentazione, il rapporto viene visualizzato come un grafico lineare.

LDR-resistence

Questi valori possono essere ottenuti da la scheda tecnica del componente. Ad esempio, per la famiglia GL55 di Phoresisistor sono le seguenti:

540

Tuttavia, ci saranno sempre piccole variazioni tra dispositivi, anche all’interno della stessa famiglia, dovuta Alla fabbricazione del componente.

Il comportamento potenziale rende queste piccole differenze coinvolgono grandi variazioni nella misurazione, quindi non è possibile, in generale, utilizzare questi valori assolutamente senza un processo di calibrazione.

Schema elettrico

Lo schema elettrico sarebbe il seguente.

Arduino-LDR-Schema

Assemblaggio

D’altra parte, il gruppo elettrico in un proboboard sarebbe il seguente.

Arduino-ldr-montaje

Ejemplos de código

A Continuación Tenéis Algunos Ejemplos de Código. En El Siguiente, Usamos Las Entradas Digitals Para Hacer Parpadear El LED Integrado IT La Placa Mientras El Ldr recibe LUZ SUFICOMEE.

Modello Spectral Peak (NM) Glossy Light Resistenza (KΩ) Darkness Resistence (KΩ) Gamma THO THO THO THO THOP THOW> >
500 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 540 50-100 5000 0.8 25
GL5549 540 10000 25

El Siguiente Ejemplo Emploa UNA ENRADA ANALÓGICA PARI ACTIVAR EL LED Integrado en la placa si supera un cierto umbral (soglia).

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

CONST INT LEDPIN = 13;
cost int ldrpin = 2;
impostazione void ()
{
Pinmode (LEDpin, output);
Pinmode (LDRPIN, INPUT);
}
void loop ()
{
int value = digitalread (ldrpin);
if (valore == alto)
{
digitationwrite (LEDPIN, ALTO);
ritardo (50);
digitationwrite (ledpin, basso);
ritardo (50);
}
}

El siguiente código proporciona una lectura del nivel de iluminación recibido. OSSERVARRO QUE LOS CÁLCULOS SE Realizan Con Aritmética de Enteros, Evitando Emploar Números de Coma Flotante, Dado Que Ralentizan mucho la ejecución del código.

1
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;
cost int soglia = 100;
SETUP VOID () {
PINMODEDE (LEDPIN, USCITA);
Pinmode (LDRPIN, INPUT);
}
loop void () {
int ingresso = analogead (ldrpin);
if (ingresso > soglia) {
DigitalWrite (LEDPIN, ALTO);
}
altro {
digitationwrite (ledpin, basso);
}
}

SI TE HA GUSTADO ESTA ENRADA Y Quieres Leer más sobre arduino puedes consultar la sección tutorials de arduino

5 3 voti
Valutazione dell’articolo

anuncium:

.

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

cost lungo A = 1000 ; // resistencia en oscuridad en kω
const int b = 15; // resistencia a la luz (10 lux) en kω
const int rc = 10; // resistencia calibracion en kω
const int ldrpin = A0; // Pin del LDR
INT V;
int ilum;
impostazione void ()
{
serial.begin (115200);
}
loop void ()
{
v = analogead (ldrpin);
// ilum = ((a lungo) (1024-V) * A * 10) / ((a lungo) B * RC * V); // USAR SI LDR ENTRE GND Y A0
ILUM = ((LUNGO) V * A * 10) / ((LUNGO) B * RC * (1024-V)); // USAR SI LDR ENTRE A0 Y VCC (COMO EN ESQUEMA anteriore)
SERIAL.PRINTLN (ILUM);
ritardo (1000);
}