Luis Flames (Română)

ARDUINO-LDR

În această intrare vom învăța să măsuram nivelul luminii, atât în interior, fie exterior, cu ajutorul lui Arduino și a unui fotorezist LDR (GL55 sau o familie similară), folosind intrările analogice Arduino.

P > Un fotorezist sau LDR (rezistor dependent de lumină) este un dispozitiv a cărui rezistență variază în funcție de lumina recepționată. Putem folosi această variație pentru a măsura, prin intrări analogice, o estimare a nivelului luminii.

Un fotorezist este format dintr-un semiconductor, de obicei CDS de cadmiu. Prin influențarea luminii pe ea, unii dintre fotoni sunt absorbiți, determinând electroni să treacă la banda de conducere și, prin urmare, scăzând rezistența componentei.

Prin urmare, un fotorezor scade rezistența personalizată care crește lumina aceasta. Valorile tipice sunt 1 MOHM în întuneric total, la 50-100 ohm sub lumină puternică.

Pe de altă parte, variația rezistenței este relativ lentă, de la 20 la 100 ms în funcție de model. Această încetinire nu face posibilă înregistrarea unor variații rapide, cum ar fi cele produse în surse artificiale alimentate de curentul alternativ. Acest comportament poate fi benefic, deoarece dă senzorului de o mare stabilitate.

În cele din urmă, fotorezistorii nu sunt potriviți pentru a asigura o măsurătoare de iluminare, adică să servească ca luxometru, acest lucru se datorează preciziei sale scăzute , dependența sa puternică cu temperatura și, în special, la faptul că distribuția sa spectrală nu este adecvată pentru măsurarea iluminărilor.

LDR-grafic

Prin urmare, un LDR este un senzor adecvat pentru furnizarea de măsuri cantitative asupra nivelului luminii, atât în interior, cât și în aer liber, și reacționează, de exemplu, transformând o lumină, încărcarea unui orb sau îndrumarea unui robot.

Pentru a măsura numărul de luxuri cu Arduino, veți avea nevoie de un lux unu ca BH1750 așa cum vedem la numărul de măsură de lux cu Arduino și Luxometrul BH1750

Preț

Fotografii sunt dispozitive ieftine. Putem găsi 20 de senzori LDR pentru 1 euro în vânzătorii internaționali pe eBay, costurile de expediere incluse.

LDR-GL55

Cum este Funcționează un fotorezist LDR?

Matematic, relația dintre iluminanță și rezistența unui LDR urmează o funcție potențială.

\ frac {i} {i_0} = \ stânga (\ frac {r} {r_0} → ^ {- gamma}

Fiind R0 Rezistența la o intensitate i0, ambele Cunoscut.

gamma constantă este panta graficului logaritmic sau pierderea rezistenței la deceniu. Din punct de vedere tipic de 0,5 până la 0,8.

Din acest motiv, grafica frecvent care relațională ambele valori sunt reprezentate de scale logaritmice pentru ambele axe. În cadrul acestei reprezentări, raportul este arătat ca un grafic liniar.

rezistență LDR

Aceste valori pot fi obținute de la fișa tehnică a componentei. De exemplu, pentru familia GL55 de fotorezistori sunt următoarele:

modelul

540

30

vârf spectral (nm) Rezistența la lumină lucioasă (KΩ) Rezistența la întuneric (KΩ) gamma Răspuns de timp (MS)
500
GL5528 10-20 1000 0.6 0.6 / TD> 25
20-30 0.6
GL5537-2 540 3000 0.7
GL5539 540 5000 0.8 25
TD> 540 10000

Totuși, vor exista întotdeauna mici variații între dispozitive, chiar și în aceeași familie, datorată La fabricarea componentei.

Comportamentul potențial face aceste mici diferențe implică mari variații ale măsurătorilor, deci nu este posibil, în general, să se utilizeze aceste valori absolut fără un proces de calibrare.

Schema electrică

Schema electrică ar fi următoarea.

Arduino-LDR-schema

Ansamblu

Pe de altă parte, ansamblul electric într-o protoboardă ar fi după cum urmează.

ARDUINO-LDR-Montaje

A algunos ejemplos de código. En el siguiente, USamos Las Entras Digitales Paraccer PARPAVEAR EL LED INTEGRODO EN LA PLACA MIENTRAS EL LDR RECIGURE LUZ SUFICIENTE.

/div>

1
2
3
4
6
7
9
9
10
12
14
15
15
16
18
20

20

const int ledpin = 13;
const int ldrpin = 2;
vid setup ()
{
pinmode (LEDPIN, ieșire);
pinmode (ldrpin, intrare);
}
vid (/ div>

{
INT valoarea = digital (ldrpin);
dacă (valoarea == mare)
{
digitalwrite (LEDPIN, HIGH);
întârziere (50);
digitalwrite (LEDPIN, LOW);
întârziere (50);
}

El Siguiente Ejemplo Emplea UNA Entrada Analógica Para Activar EL LED INTEGRODO en LA PLACA SI SUPERA ONU CIERTO Umbrala (prag).

1
2
3
5
7
7
8
9
11
12
14
14
15
16
18

El Siguiente Código Proportiona UNA LECTURA DEL NIVEL DE ILUMINACIÓN RECIBIDO. REALIZAN QUE LOS CÁLCULOS SE REALIZAN CON ARITMÉTICA DE EXTERIS, EVITANDO EMPLEOS DE COMA FLOTANTE, DADO QUE RALENTIZAN MODO LA EUCUCIÓN DEL CÓDIGO.

const int ledpin = 13;
const int ldrpin = A0;
const in prag = 100;
vid setup () {
pinmode (LEDPIN, ieșire);
pinmode (ldrpin, intrare);
}
vid () {
INT intrare = analog (LDRPIN);
dacă (intrare >

prag) {

digitalwrite (LEDPIN, HIGH);
}
dig> digital (LEDPIN, LOW);
}
1
2
3
4
6
7
8
9
10
12
14
14
15
16
18
20
20
21
22
23

Si Ha Gustado Esta ENTRADA Y Quieres Leer Más Sobre Arduo Puedes Consultar La Sobre Tutorialele de Arduino

5 3 Voturi
Evaluarea articolului

convent lunar A = 1000 ; // resistencia en oscuridad en kΩ
const int b = 15; // resistența a la Luz (10 lux) en kΩ
const int rc = 10; // resistența calibraciunii en kΩ
const int ldrpin = A0; // pin del ldr
Int v;
int ilum;
vid setup ()
{
serial.begin (115200);
}
vid (/ div>

{
v = analog (ldrpin);
// ilum = ((lung) (1024-v) * A * 10) / ((lung) b * rc * v); // usar si ldr entre gnd y a0
DIV> ILUM = ((lung) v * A * 10) / ((lung) b * rc * (1024-V)); // usar si ldr entrea a0 y vcc (Como en El Esquema anterior)
serial.println (ilum);
întârziere (1000);
}