Łączenie czujnika LDR z Arduino nano

Łączenie czujnika LDR z Arduino nano

Rezystor zależny od światła ma rozległe zastosowanie w projektach zależnych od światła. Za pomocą mikrokontrolera takiego jak Arduino nano, LDR może być używany do kontrolowania różnych urządzeń na podstawie poziomu intensywności światła. Ten przewodnik obejmuje podstawy LDR i jego zastosowania w Arduino Nano.

Ta zawartość artykułu obejmuje:

1: Wprowadzenie do czujnika LDR

2: Zastosowania LDR z Arduino nano

3: Interfejs LDR z Arduino nano

    • 1: Schemat
    • 2: Kod
    • 3: Wyjście pod Dim Light
    • 4: Wyjście pod jasnym światłem

Wniosek

1: Wprowadzenie do czujnika LDR

A LIght Dependent RESISTOR (LDR) jest rodzajem rezystora, który zmienia jego rezystancję w oparciu o intensywność światła, na którą jest narażony. W ciemności jego odporność jest bardzo wysoka, podczas gdy w jasnym świetle jego odporność jest bardzo niska. Ta zmiana oporu sprawia, że ​​jest to najlepsze w projektach wykrywania światła.


LDR daje analogowe wyjście napięcia, które zostaną odczytane przez Arduino ADC na punktach analogowych. Analogowy kołek wejściowy w Arduino używa ADC do konwersji napięcia analogowego z LDR na wartość cyfrową. ADC ma zakres od 0 do 1023, przy czym 0 reprezentuje 0 V i 1023 reprezentuje maksymalne napięcie wejściowe (zwykle 5 V dla Arduino).

Arduino odczytuje wartości analogowe za pomocą analogread () Funkcja w swoim kodzie. Funkcja analogread () przyjmuje analogowy numer pinu wejściowego jako argument i zwraca wartość cyfrową.


Fotony lub cząstki światła odgrywają kluczową rolę w obsłudze LDRS. Gdy światło spada na powierzchnię LDR, fotony są wchłaniane przez materiał, który następnie uwalnia elektrony w materiale. Liczba wolnych elektronów jest wprost proporcjonalna do intensywności światła, a im więcej elektronów, tym niższy staje się opór LDR.

2: Zastosowania LDR z Arduino nano

Poniżej znajduje się lista niektórych powszechnych zastosowań LDR z Arduino:

    • Automatyczna kontrola oświetlenia
    • Przełącznik aktywowany światłem
    • Wskaźnik poziomu światła
    • Tryb nocny w urządzeniach
    • Systemy bezpieczeństwa oparte na świetle

3: Interfejs LDR z Arduino nano

Aby użyć LDR z Arduino Nano, należy utworzyć prosty obwód. Obwód składa się z LDR, rezystora i nano Arduino. LDR i rezystor są połączone szeregowo, z LDR podłączonym do analogowego pinu wejściowego Arduino nano. Dioda LED zostanie dodana do obwodu, który może przetestować pracę LDR.

1: Schemat

Następujący obraz jest schematem Arduino nano z czujnikiem LDR.

2: Kod

Po skonfigurowaniu obwodu następnym krokiem jest napisanie kodu dla Arduino Nano. Kod odczytuje wejście analogowe z LDR i użyje go do kontrolowania LED lub innego urządzenia na podstawie różnych poziomów światła.

int ldr_val = 0; /*Zmienna do przechowywania wartości fotorezystora*/
int czujnik = a0; /*PIN ANALORA dla fotorezystora*/
int LED = 12; /*Pin wyjściowy LED*/
void setup ()
Seryjny.rozpocząć (9600); /*Wskaźnik transmisji seryjnej*/
pinmode (LED, wyjście); / *Zestaw szpilki LED jako wyjście */

void Loop ()
Ldr_val = analogread (czujnik); /*Analog odczytu wartość LDR*/
Seryjny.print („Wartość wyjściowa LDR:”);
Seryjny.println (ldr_val); /*Wyświetl LDR wyjściowy VAL na monitor szeregowych*/
if (ldr_val> 100) /*jeśli intensywność światła jest wysoka* /
Seryjny.println („wysoka intensywność”);
DigitalWrite (LED, niski); /*Dioda LED pozostaje z wyłączenia*/

w przeciwnym razie
/*Inaczej, jeśli intensywność światła jest niska dioda LED, pozostanie na*/
Seryjny.println („Niska intensywność”);
DigitalWrite (LED, High); /* Włączanie LID wartość LDR jest mniejsza niż 100*/

opóźnienie (1000); /*Odczytuje wartość po co 1 sekundę*/


W powyższym kodzie używamy LDR z Arduino nano, które będzie kontrolować diodę LED przy użyciu analogowego wejścia pochodzącego z LDR.

Pierwsze trzy wiersze kodu deklarują zmienne do przechowywania Wartość fotosystor, Pin analogowy dla fotorezystora i PROWADZONY Pin wyjściowy.

w organizować coś() Funkcja, komunikacja szeregowa jest inicjowana z szybkością transmisji 9600, a PIN LED D12 jest ustawiany jako wyjście.

w pętla() Funkcja, wartość fotorezystora jest odczytywana za pomocą funkcji analogread (), która jest przechowywana w Ldr_val zmienny. Wartość fotorezystora jest następnie wyświetlana na monitor szeregowych za pomocą szeregowego.funkcja println ().

Jakiś Jeśli inaczej Instrukcja służy do kontrolowania diody LED na podstawie intensywności światła wykrytych przez fotorezyster. Jeśli wartość fotorezystora jest większa niż 100, oznacza to, że intensywność światła jest wysoka, a dioda LED pozostaje. Jeśli jednak wartość fotorezystora jest mniejsza lub równa 100, oznacza to, że intensywność światła jest niska, a dioda LED włącza.

Wreszcie program czeka na 1 sekundę za pomocą funkcji opóźnienia () przed ponownym przeczytaniem wartości fotorezystora. Cykl ten powtarza się w nieskończoność, powodując włączenie i wyłączanie diody LED na podstawie intensywności światła wykrytych przez fotorezyster.

3: Wyjście pod Dim Light

Intensywność światła jest mniejsza niż 100, więc LED pozostanie włączony.

4: Wyjście pod jasnym światłem

W miarę wzrostu intensywności światła wartość LDR wzrośnie, a opór LDR spadnie, więc LED się wyłączy.

Wniosek

LDR można połączyć z Arduino Nano za pomocą analogowej szpilki. Wyjście LDR może kontrolować wykrywanie światła w różnych aplikacjach. Niezależnie od tego, czy jest używany do automatycznego sterowania oświetleniem, opartym na świetle systemów bezpieczeństwa, czy tylko wskaźnika poziomu światła, LDR i Arduino nano można połączyć, aby tworzyć projekty reagujące na zmiany intensywności światła.