Automatické řízení intenzity LED diody

Jak jste si určitě už všimli někdy na ulici, některé lampy zůstávají zbytečně svítit i přes den. My si proto vyzkoušíme postavit zařízení, které dokáže nejen podle okolní intenzity zapínat a vypínat LED diodu, ale dokáže také řídit intenzitu svícení LED diody. Pro tento efekt použijeme LDR (světlocitlivý rezistor, foto-odpor) a PWM koncept, abychom pomocí nich mohli řídit svit 1W LED diody.

Auto Intensity Control of Power LED using Arduino

Seznam součástek:

  • Arduino UNO
  • LDR – fotoodpor
  • Rezistory 510, 100k ohm
  • Kapacitor 100 nF
  • Tranzistor 2N2222
  • 1watt LED dioda
  • Propojovací drátky
  • Nepájivé propojovací pole

Schéma zapojení

Circuit diagram for Auto Intensity Control of Power LED using Arduino

Princip automatického řízení svitu LED diody

Jak si můžete všimnout ve schématu zapojení, tak odpor 100k a fotodpor jsou zapojeny jako napěťový dělič. Výstup tohoto děliče je pak připojen na analogový vstup Arduina pro načtení intenzity okolního světla. S rostoucím osvětlením se snižuje odpor LDR, díky čemuž se zvyšuje napětí na analogovém pinu. Tento jev je zpracován v Arduinu a výsledkem je postupné snižování svitu LED diody při přechodu z tmy na světlo. Přičemž u hranice intenzity 500 je pak dioda vypnuta úplně.

Ukázkový kód

int pwmPin = 2; // assigns pin 12 to variable pwm
int pot = A0; // assigns analog input A0 to variable pot
int c1 = 0;   // declares variable c1
int c2 = 0;   // declares variable c2

void setup()  // setup loop
{
  pinMode(pwmPin, OUTPUT); 
  pinMode(pot, INPUT);  
  Serial.begin(9600);
}

void loop()
{

  int value = analogRead(pot);
  Serial.println(value);
  c1= value; 
  c2= 500-c1;         // subtracts c2 from 1000 ans saves the result in c1
  
  if (value < 500) { digitalWrite(pwmPin, HIGH); delayMicroseconds(c2); digitalWrite(pwmPin, LOW); delayMicroseconds(c1); } if (value > 500)
  {
    digitalWrite(2,LOW);
  }
  
}

Videoukázka

Převzato a přeloženo z https://circuitdigest.com/microcontroller-projects/auto-intensity-control-of-power-led-using-arduino

Arduino Uno, Mega, Senzory, Moduly za

VÝHODNOU CENU

Luboš