Skip to main content

Návod na detekci světla pomoci senzoru LDR – Arduino

Jestli potřebujete změřit v místnosti kolik tam máte světla, tak můžete použít senzor LDR. Ke zjištění intenzity světla nebo tmy použijeme senzor zvaný LDR (Light dependent resistor). LDR je speciální typ rezistoru, který propouští vyšší napětí vždy, když je světlo, a propouští nízké napětí v případě tmy. Než začnu ukazovat kód, vysvětlím tento koncept níže. LDR vyšle analogový napěťový signál, který se mění úměrně intenzitě světla na něm. Čím větší je tedy intenzita světla na něm, tím větší reagující analogové napětí bude odesláno do desky Arduino.

Budeme potřebovat připojit senzor k analogovému vstupu na arduinu. Aby bylo možné snímat odpor LDR, tak je potřeba udělat děličku napětí a dle toho vypočítat odpor.

Při zapojení je potřeba vědět jaký má LDR odpor, a dle toho vybrat odpor pro děličku. Protože LDR mění svůj odpor dle intenzity světla. K měření však potřebujeme pevný rezistor, který můžeme použít pro porovnání. Jedná se o dělič napětí, rezistor který jsem si zvolili dle parametrů LDR, který rozdělí napětí 5 V mezi LDR a rezistor. Nyní můžeme změřit velikost napětí na LDR pomocí funkce analogového čtení a máme náš údaj. Množství tohoto napětí 5V, které získá každá součástka, je úměrné jejímu odporu.

Jestli jste zvolili rezistor dle parametrů LDR, tak by měla dělička při maximální intensitě ukazovat na analogu polovinu analogu z 1023 na 512.

int senzorPin = A0; //vyberte vstupní pin pro LDR
int senzorHodnota = 0; //proměnná pro uložení hodnoty ze senzoru
void setup() {
  Serial.begin(9600); //nastaví sériový port pro komunikaci
}
void loop() {
  senzorHodnota = analogRead(senzorPin); //načtení hodnoty ze senzoru
  Serial.println(senzorHodnota); //vypíše hodnoty ze senzoru na obrazovkus
delay(2000);

}