2021. május 13., csütörtök

Gyorskeresés

Szögegyszerű sötétedéskapcsoló karácsonyi LED szalagokhoz

Írta: | Kulcsszavak: arduino . gányolás . fénykapcsoló . led . szalag . karácsonyi . világítás

[ ÚJ BEJEGYZÉS ]

Volt némi RGB LED szalagom, elég ramaty állapotban ahhoz, hogy ne sajnáljam. És színes fényt akartam tenni az ablakba... de úgy, hogy csak este kapcsoljon fel, akkor is, ha nem vagyok itthon.

A LED szalaghoz volt egy USB-ről tápolt (tehát 5V-os) vezérlőm+driverem, ami táp ráadására ott folytatja a beállított világítási módot, ahol abbahagyta. Tehát kellett valami, amivel az USB-t tudom kapcsolgatni, a környezeti fény függvényében.

Adódik, hogy Arduinoval,mert ugyan egy sima komparátor is megtenné, de azt hirtelen nehezebb lett volna összehajigálni :D Tehát túrtam pár dolgot :
- fotoellenállás
- Arduino
- 10k ellenállás
- FET modul Arduinohoz (Relé is lehetne, de nincs több 5V-os Hamlin relém.)
- USB aljzat
- USB dugó


Kapcsolási rajz :)

Inkább nem fényképeztem le, mert a levegőben lóg az egész :DDD És nem is marad egyben, januárban szétszedem. Amúgy sem bonyolult.
Egy telefontöltő adja a tápot, ehhez kellett az USB dugó. ez a FET modul bemenetére (VIN+, VIN-) csatlakozik, innen kap tápot maga az Arduino is. A LED szalag felé az USB aljzat a FET modul kimenetéről megy tovább. A FET modul SIG bemenete az Arduino Digital 13 lábáról jön.

A fotoellenállás az Arduino 5V-járól kap tápot, és az Arduino földjére csatlakozik a 10k ellenálláson át. A fotoellenállás és a 10k közös pontja az Arduino Analog 5 lábára van kötve, itt olvasható le a "fényerő".

A program sem bonyolult. Az elején van egy 10mp tesztvilágítás, és soros portot is beállít, hogy be lehessen lőni a fényerősséget, ahol kapcsolni fog (a kiolvasott értéket, és a sötétségszámlálót írja ki sorosra).
A lényege, hogy a LED vezérlő nem szeretné, ha sötétedéskor 1-2mp-enként megjelenne, majd eltűnne a tápja. Tehát biztosítani kell, hogy ha felkapcsol, akkor úgy is maradjon.

Azaz, ha a program sötétet mér (a fényszenzor kiolvasása 400-nál kisebb egy 1023...0 skálán) akkor növeli a darken változó értékét, ha 400-nál nagyobbat, akkor csökkenti. 2mp-enként történik mérés, és ha a darken értéke 200-nál nagyobb, akkor felkapcsolja a LED-eket. Ha egymás után 250-szer világost érzékel, lekapcsol.

int sensorPin = A5; //Fotoellenállás bemenet az analóg 5-ös lábon
int fetpin = 13; //LED szalag meghajtás digitális 13-as kimeneten
int sensorValue = 0; //Fotoellenállás értéke
int darken=0; //Számláló

void setup() {
pinMode(fetpin, OUTPUT);
Serial.begin(9600);
//Teszt világítás 10mp-ig
digitalWrite(fetpin,HIGH);
delay(10000);
digitalWrite(fetpin,LOW);
}

void loop() {
//Fotoellenállás kiolvasása
sensorValue = analogRead(sensorPin);
//Kiíratni sorosra :
Serial.print("Sensor : ");Serial.println(sensorValue);
Serial.print("Darkness counter : ");Serial.println(darken);
//Ha elég sötét van, akkor a sötétség-számlálót növelni, ha világos, akkor csökkenteni. A 400-at a saját igényeid alapján írd át más értékre :)
if (sensorValue < 400) { darken++; }
if (sensorValue > 400) { darken--; }
//A számláló azért bizonyos határok között mozogjon...
if (darken > 250) {darken=250;}
if (darken<0) { darken=0; }
//Ha elég ideje van sötét, akkor LED szalagot bekapcsolni, ha elég ideje van világos, akkor ki
if (darken > 200) digitalWrite(fetpin,HIGH);
if (darken < 1) {digitalWrite(fetpin,LOW);}
//2mp várakozás minden mérés között
delay(2000);
}

Tehát giccsre fel, még bőven meg lehet építeni 24-éig :) Az USB, és az 5V lehet más is, csak ha magasabb tápról üzemel a LED, akkor az Arduinonak valahonnan kell 5V-ot adni. A FET modulban ugyanaz a jó, mint a relében; a kapcsolt tápfesz és kimenet teljesen független az Arduinotól, és kevéssé melegszik (azért 220-at mégsem érdemes vele kapcsolni, arra jobb egy relé, amit pl. egy FET modullal kell meghajtni; a FET modul magában 25-30V egyenfeszültségig elég).

Hozzászólások

(#1) razorbenke92


razorbenke92
senior tag

Tavaly a házdíszítő fény nálunk is jórészt non-stop ment decembertől januárig. A padlásról kapot delejt, de annak a kapcsolója is a padláson van, így talán egyszer-kétszer felmentem le-fel kapcsolni, de egyébként végig ment.
Idén összeraktam egy Sonoff "okos" hosszabbítót, és be tudtam állítani internetről lekért napkelte-napnyugta időpontokhoz.
Ami tetszik, hogy így a fogyasztása is látszik.

Most azon gondolkodom, hogy az elemes cuccokat hogyan oldjam meg. Lehetetlen helyeken elemes cuccokat raktunk ki, mert a konnektortól kusza lenne odáig vinni a tápot.
Első körben egycellás LiIon akkura tervezem cserélni a gyári AA elemtartókat. Bár az olcsó Pepco-s elemmel is egész sokat mennek, egyrészt sok kicsi sokra megy, másrészt bontott cellákat használva elemek helyett kicsit zöld is lehetek.

Ha már ezt megcsinálom, lehet, hogy csinálok én is valami alkonykapcsolót hozzá.

Mások számára a kondi fáradós, nekem farad-os...

(#2) Syl


Syl
nagyúr

Én egy kicsit "komplikáltabb és drágább" ;) módszert használok az udvari fenyőre fellógatott LED-füzér ki-bekapcsolására: [link]

Olyanok vagyunk, mint a kutyák. Van szájkosarunk, oltási igazolványunk és akkor mehetünk ki, amikor a gazdi megengedi.

(#3) hcl válasza razorbenke92 (#1) üzenetére


hcl
félisten
LOGOUT blog

Egy ilyen Arduino-s cucc nem fogyaszt sokat, meg aztán lehet variálni pl. sleep-pel, hogy pl. percenként ébred fel, stb., így elmegy a 18650-nel táplált akkus megoldással is. A bontott cella meg mindenhogyan jobb az elemnél :)

@Syl : Az se rossz, de gondolom naponta meg kell tekerni, illetve nekem nincs ilyen. A felsorolt dolgok meg mind voltak, és az egész ma reggel jutott eszembe :D

[ Szerkesztve ]

Veszek _hibás_ LCD monitort,fényképezőgépet, objektívet, routert ---- Mutogatni való hater díszpinty

(#4) Syl válasza hcl (#3) üzenetére


Syl
nagyúr

Nem kell hozzányúlni. 15 percenkénti kapcsolásokat lehet rajta állítani. Két hete vezérli az udvari karácsonyfát. Délután 4-kor be-, reggel 7-kor pedig kikapcsolja a pepco-s 500 ledes izzósort.

Olyanok vagyunk, mint a kutyák. Van szájkosarunk, oltási igazolványunk és akkor mehetünk ki, amikor a gazdi megengedi.

(#5) hcl válasza Syl (#4) üzenetére


hcl
félisten
LOGOUT blog

Frankó :)

Veszek _hibás_ LCD monitort,fényképezőgépet, objektívet, routert ---- Mutogatni való hater díszpinty

(#6) Snowy_owl


Snowy_owl
őstag

Én vettem tavaly egy 120ledes 3aa elemmel műkődő színes ledsort, ha bekapcsolom este 8kor akkor 8órán keresztül világít, utána másnap ugyan akkor bekapcsol, és újabb 8óra.

régen minden jobb volt, régen még a "régen minden jobb volt" is jobb volt.

(#7) draco31 válasza Syl (#2) üzenetére


draco31
addikt

Nekem is egy hasonló cucc vezérli a kinti fényeket, csak Somogyi-s kivitelben. Viszont azt észrevettem, hogy szivárog át rajta némi delej, mert nagyon gyengén az egyik égősor világít folyamatosan. Megmérni viszont túlságosan lusta vagyok.

ASUS S14 S410U /\/\ Samu A50 /\/\ Amazfit Bip /\/\ Pi 4 2GB /\/\ Switch Lite

(#8) hcl válasza draco31 (#7) üzenetére


hcl
félisten
LOGOUT blog

Az simán megesik, de még mindig jobb, mint ha állandóan menne.

Veszek _hibás_ LCD monitort,fényképezőgépet, objektívet, routert ---- Mutogatni való hater díszpinty

(#9) Donki Hóte


Donki Hóte
addikt

Szögegyszerű sötétedéskapcsoló egy 1000 Ft-os LED szalaghoz, csak éppen egy 8000 Ft-os arduino kell hozzá :P

Úgy látszik, hogy mindenkinek mást jelent a szögegyszerű kifejezés.

Ha feltételezzük, hogy december 18. és január 4. között nagyjából ugyanakkor sötétedik be, akkor egy 1000 Ft-os időkapcsolós konnektorral is meg lehet oldani a feladatot :DDD

Mi magyarok mindenre találunk megoldást. Meg persze mindenre találunk kifogást.

(#10) hcl válasza Donki Hóte (#9) üzenetére


hcl
félisten
LOGOUT blog

Arduino 8000Ft? Volt 10 éve...
Kínából max. 1000. Meg mint mondtam, van itthon.

Az időkapcsolós konnektor is teljesen jó, csak az meg nem volt itthon, ellenben erre most éppen 0Ft-ot költöttem...

Komparátorral 500-ból kijön szerintem, ha mindent venni kell.

[ Szerkesztve ]

Veszek _hibás_ LCD monitort,fényképezőgépet, objektívet, routert ---- Mutogatni való hater díszpinty

További hozzászólások megtekintése...
Copyright © 2000-2021 PROHARDVER Informatikai Kft.