Jak zmierzyć poziom światła za pomocą Arduino i LDR

  • LDR to rezystor, którego wartość zmienia się w zależności od postrzeganego światła.
  • Zasada działania LDR opiera się na przewodności materiałów półprzewodnikowych.
  • Podstawowa konfiguracja Arduino opiera się na dzielniku napięcia pomiędzy LDR i stałym rezystorem.
  • Czujniki LDR są przydatne do pomiaru trendów świetlnych, ale nie są dokładne przy pomiarze natężenia oświetlenia w luksach.

Czujnik światła LDR

Jeśli kiedykolwiek zastanawiałeś się jak efektywnie zmierzyć poziom światła w środowisku za pomocą Arduino, jesteś we właściwym miejscu. W tym artykule wyjaśnimy krok po kroku, jak to zrobić za pomocą fotorezystora LDR, zwanego także fotorezystorem. Te małe cuda techniki to elementy elektroniczne zdolne do zmiany swojej rezystancji w zależności od ilości otrzymywanego światła, co otwiera nieograniczone możliwości w projektach z zakresu elektroniki i automatyki.

Zastosowań czujnika światła z Arduino jest wiele: od automatycznych systemów oświetleniowych po roboty, które orientują się w oparciu o światło. A co najważniejsze, jest to komponent niedrogi i łatwy w użyciu. Tutaj przekażemy Ci wszystkie niezbędne informacje, abyś mógł zbudować własny system pomiaru światła za pomocą Arduino i wykorzystać jego pełny potencjał.

Co to jest LDR i jak działa?

A LDR (rezystor zależny od światła) Jest to opór, którego wielkość zmienia się w zależności od ilości padającego na niego światła. W ciemnych warunkach rezystancja jest bardzo wysoka, osiągając wartości do 1 MOhm. I odwrotnie, gdy LDR otrzymuje obfite światło, rezystancja znacznie spada, osiągając wartości od 50 do 100 omów przy intensywnym świetle.

Jego działanie opiera się na zasadzie przewodnictwa materiałów półprzewodnikowych. Po otrzymaniu światła fotony energetyzują elektrony w materiale, ułatwiając przepływ prądu, a tym samym zmniejszając opór. Ten typ czujnika jest bardzo przydatny w zastosowaniach, w których wymagany jest względny pomiar światła w otoczeniu.

Funkcje LDR

Komponent ten jest bardzo popularny ze względu na niski koszt i łatwość użycia. Typowe wartości rezystancji wahają się od 1 MOhm w całkowitej ciemności do 50-100 Ohm w jasnym świetle. Warto jednak wspomnieć, że nie są to najprecyzyjniejsze czujniki, jeśli chcemy dokładnie zmierzyć natężenie oświetlenia (światło w luksach), ponieważ mogą na nie wpływać takie czynniki, jak temperatura.

Zmiany oporu są dość powolne, co zajmuje od 20 do 100 milisekund w zależności od modelu. Oznacza to, że nie nadaje się do wykrywania szybkich zmian światła, takich jak te powstające w przypadku lamp zasilanych prądem przemiennym, ale zapewnia doskonałą stabilność w bardziej stałych warunkach oświetleniowych.

Podczas Do pomiaru trendów świetlnych bardziej nadają się czujniki LDR aby zapewnić dokładne dane, niski koszt i łatwość integracji z płytkami Arduino czynią je idealnym czujnikiem do projektów DIY.

Schemat obwodu i połączeń

Aby Arduino mogło zmierzyć zmianę rezystancji LDR, konieczne jest zamontowanie czujnika na tzw. dzielnik napięcia. Jest to bardzo prosty obwód składający się z LDR i stałego rezystora połączonych szeregowo. LDR umieszcza się pomiędzy napięciem wejściowym (np. 5V na płytce). Arduino Uno) i pin wejścia analogowego, a stały rezystor jest podłączony pomiędzy pinem a masą (GND).

Wartość stałej rezystancji wynosi zwykle 10 kOhm, chociaż może się różnić w zależności od czułości, jaką chcesz osiągnąć podczas pomiaru.

Przykłady montażu i kodu

Aby zbudować podstawowy system z Arduino i LDR, pierwszą rzeczą, którą musisz zrobić, to połączyć następujące elementy:

  • Jeden koniec LDR do zasilania 5 V.
  • Drugi koniec LDR do wejścia analogowego (np. A0) i jednocześnie do stałego rezystora, który będzie podłączony do masy.

Dzięki tej konfiguracji możesz rozpocząć odczytywanie wartości dostarczanych przez LDR poprzez wejście analogowe. Poniższy kod jest podstawowym przykładem odczytu tych wartości:

const int pinLDR = A0;
void setup() {
Serial.begin(9600); // Iniciar monitor serie}
void loop() {
int valorLDR = analogRead(pinLDR); // Leer valor de LDR
Serial.println(valorLDR); // Imprimir valor en monitor
delay(500);
}

Ten kod wypisze wartości z zakresu od 0 (tj. gdy nie ma światła) do 1023 (maksymalne otrzymane światło). Wartości te są proporcjonalne do światła odbieranego przez LDR.

Zachowanie oporu w funkcji światła

Jak już wspomniano, opór LDR maleje w miarę otrzymywania większej ilości światła. Aby uzyskać precyzyjny pomiar ilości światła, musisz znać wartości rezystancji swojego LDR w różnych warunkach oświetleniowych.

Na przykład w serii GL55 wartości wahają się od 5 kΩ do 200 kΩ w obecności światła i od 500 kΩ do 10 MΩ w ciemności. Wartości te mogą się różnić w zależności od modelu, dlatego zawsze zaleca się zapoznanie się z arkuszem danych producenta czujnika.

Ciekawą cechą LDR jest to Jego czułość jest największa w zielonej części widma., w przybliżeniu przy długości fali 540 nm. Oznacza to, że diody LDR lepiej reagują na światło zielone niż inne części widma widzialnego.

Praktyczne zastosowania

Możliwości zastosowań LDR podłączonych do Arduino są niemal nieograniczone. Do najbardziej praktycznych należą automatyczne systemy oświetleniowe, w których obwód może włączać lub wyłączać światła w zależności od wykrytego poziomu światła. Są również używane lekkie podążające roboty i systemy automatyki domowej.

Można na przykład stworzyć system, w którym w miarę spadku poziomu oświetlenia zapala się dioda LED, aby zrekompensować brak światła. Oto prosty przykład kodu:

int LDRPin = A0; // Pin para la LDR
int LEDPin = 13; // Pin para el LED
int threshold = 500; // Umbral para encender el LED
void setup() {
pinMode(LEDPin, OUTPUT);
pinMode(LDRPin, INPUT);}
void loop() {
int valorLuz = analogRead(LDRPin);
if (valorLuz < threshold) {
digitalWrite(LEDPin, HIGH); // Enciende el LED
} else {
digitalWrite(LEDPin, LOW); // Apaga el LED
}
delay(100);}

Ten niewielki program odczytuje wartość LDR i jeśli poziom światła jest niższy od ustawionego progu, włącza diodę LED. W przeciwnym razie wyłącza to. Łatwy, ale bardzo funkcjonalny przykład w projektach automatyki oświetleniowej.

Ograniczenia i środki ostrożności

Chociaż zastosowanie LDR jest bardzo wygodne w wielu projektach, należy wziąć pod uwagę niektóre jego ograniczenia:

  • Nie są one zbyt dokładne, jeśli chcesz zmierzyć dokładne natężenie światła w luksach.
  • Jego zachowanie może się różnić w zależności od temperatury.
  • Najlepiej sprawdzają się przy wykrywaniu większych zmian w świetle, a nie szybkich zmian.

Bądź pierwszym który skomentuje

Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.