Arduino Polska Forum
Dynamiczny wl/wyl zmierzchowy - Wersja do druku

+- Arduino Polska Forum (https://forum.arduinopolska.pl)
+-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino)
+--- Dział: Czujniki (https://forum.arduinopolska.pl/dzial-czujniki)
+--- Wątek: Dynamiczny wl/wyl zmierzchowy (/watek-dynamiczny-wl-wyl-zmierzchowy)



Dynamiczny wl/wyl zmierzchowy - reder-or - 06-04-2017

Hej
Usiluje zbudowac regulator zmierzchowy. Urzadzenie ma dzialac tak:
Im mniej swiatla dociera do czujnika tym jasniej musi swiecic sie dioda.
W tej chwili dziala dokladnie na odwrot (patrz kod ponizej) :/
Nie szukam gotowego rozwiazania, raczej podpowiedzi. Dziekuje!


Kod:
int led = 3;

void setup()
{
pinMode(A0,INPUT);
pinMode(led,OUTPUT);

}

void loop()
{
int odczyt = analogRead(A0);
if (odczyt <= 200)
{
 analogWrite(led, odczyt);
}
 

  else
   digitalWrite(led,LOW);
   delay (500);

}



RE: Dynamiczny wl/wyl zmierzchowy - Smaczek - 06-04-2017

Witam,
Najprościej użyć funkcji map ().
Pozdrawiam.


RE: Dynamiczny wl/wyl zmierzchowy - namok - 06-04-2017

@reder-or skoro nie chcesz gotowca to zacznij od przeczytania dokumentacji do czujnika którego używasz i zrozumienia jak działa układ którego schematu nie zamieściłeś.


RE: Dynamiczny wl/wyl zmierzchowy - reder-or - 06-04-2017

(06-04-2017, 16:04)namok napisał(a): @reder-or skoro nie chcesz gotowca to zacznij od przeczytania dokumentacji do czujnika którego używasz i zrozumienia jak działa układ którego schematu nie zamieściłeś.

No tak... sorry. Juz sie poprawiam.
To taki najprostszy jak na tym schemacie (bez diody na ktorej podawany jest wynik)
[Obrazek: l7_fritzing1.png]


RE: Dynamiczny wl/wyl zmierzchowy - namok - 06-04-2017

To teraz zamień miejscami czujnik z rezystorem.


RE: Dynamiczny wl/wyl zmierzchowy - reder-or - 06-04-2017

(06-04-2017, 16:31)namok napisał(a): To teraz zamień miejscami czujnik z rezystorem.

oczywiscie w moim ukladzie bylo na odwrot Smile  podpialem pierwszy lepszy schemat z internetu.... 

skorzystalem z funkcji map()
 dziala jak nalezy 
dziekuje Wam za wskazowki  
Kod:
int led = 3;

void setup()
{
pinMode(A0,INPUT);
pinMode(led,OUTPUT);
}

void loop()
{
int odczyt = analogRead(A0);
if (odczyt <= 200)
  {
    odczyt = map (odczyt, 200, 0, 0, 200);
    analogWrite(led, odczyt);
  }
   else
     digitalWrite(led,LOW);
     delay (50);
}