Jump to content
  • sanniesshop-banner.gif.d86ea02547aa126c899b25f607244aaf.gif sanniesseeds instagram

Sign in to follow this  
ZiiP

Diy Arduino Simpele Lichtbeveiliging

Recommended Posts

Alleen voor de knutselaars!!

 

Een simpele maar zeer effectieve licht sensor.

 

Functie: Detecteer minimale veranderingen in de licht intensiteit.

 

1 x 4.7kOhm weerstand 0,05cent

1 x 11.8kOhm weerstand 0,05cent

1 x 0.01uf condensator 0,08cent

1 x 500kOhm photocel 0,20cent

optioneel 1 x potmeter 1mOhm 0,40cent

1 x printplaatje 0,45cent

 

 

te bestellen bij bijvoorbeeld

 

www.vannallesenmeer.

www.benselectronics.

www.opencircuit

 

en zo nog tiental anderen

 

 

en natuurlijk een arduino

 

// Code zelf de globale variabelen declareren

 

 

// functie detectee licht

 

void detecteerLicht(){

 

int lichtBewaking = analogRead(lichtAlarm); //lees de sensor

int opslaanA;

int opslaanB;

float opslaanC;

 

 

u8g.print("L=");

u8g.print(lichtBewaking); //print de uitkomst op het scherm

 

 

if(lichtBewaking>alarmwaarde || lichtBewaking< alarmwaarde){ // als lichtbewaking groter of lager is dan je hebt aangegeven

 

 

alarmState=HIGH; //sla alarm

 

 

}

 

 

 

 

if(uurTijd==uur&&minTijd==min&&second()==1){ // verander uur en min naar eigen inzicht

 

 

 

opslaanA=lichtBewaking/10; //if 556 / 10 = 55 opslaan als byte

opslaanC=lichtBewaking/10; //if 556 / 10 = 55.6 opslaan als float

opslaanB=(opslaanC-opslaanA)*10; // 55.6-55=0.6 x 10 =60 van float een byte maken

 

EEPROM.write(10, opslaanA); //opslaan in arduino geheugen

EEPROM.write(11, opslaanB);

 

 

}

 

} //einde functie

 

 

//in de setup() lees je de waardes die je de vorige keer hebt opgeslagen

 

setup(){

 

 

opslaanA= EEPROM.read(10);

opslaanB= EEPROM.read(11);

 

opslaanA=opslaanA*10;

opslaanB=opslaanB*10;

 

resultaat=opslaanA+opslaanB;

 

 

} //einde setup

 

 

 

void loop(){

 

detecteerLicht();

 

} //einde loop

 

 

//volgende keer wanneer de arduino weer opstart samen met de tent/lamp/weet ik veel

//lees de opgeslagen data van gisteren en vergelijk het met die van vandaag

//als het een stuk lager is dan gisteren of juist veel hoger dan is er iets kapot

//optioneel is een menu maken die het licht dagelijks calibreert

//

//bijvoorbeeld zo:

 

 

 

if(lichtbewaking>resulataat+5 || lichtbewaking<resulataat+5 ){ //als kleiner of groter dan 5 in vergelijking met gisteren (HPS ouderdom?)

 

resulataat=lichtBewaking;

 

}

else{

 

alarmState=HIGH; //sla alarm

 

 

}

 

 

 

 

 

De functie van de acryl stukje is het tegenhouden van stof die anders op de sensor komt. Die lijm je met secondelijm.

Aluminium busje zorgt voor meer gerichte lezingenen versterkt licht van de zijkant, bereik is >190 graden

 

norm_5995bc922dd9166873.jpg

 

 

 

norm_5995bcaecfbd657964.jpg

 

norm_5995bcc7e865681651.jpg

 

 

 

norm_5995bceab039593976.jpg

 

norm_5995bd0262e0562534.jpg

  • Like 2

Share this post


Link to post
Share on other sites

Ik wil je feestje niet bederven, maar waarom koop je niet een standaard licht sensor van een paar duppies? Die geven nog gewoon lux waardes ook in plaats van willekeurige waardes die je maar weer moet zien te calibreren.

Share this post


Link to post
Share on other sites

Je kunt idd ook een kant en klare kopen, daarom schreef ik "alleen voor de knutselaars". De code zal ook met een kleine aanpassing op de kant en klare lux sensor werken. De bedoeling van deze sensor is kleine veranderingen in de lichtsterke meten om te bepalen of alles nog goed gaat. Lux calibratie is daarom ook niet nodig, wat scheelt in de geheugen die een library voor de kant en klare sensor gebruikt. Je krijgt een bepaalde waarde als je lampen voluit draaien, die vergelijk je dan 1 x per dag of 1 x per 10seconden. Heeft het een afwijking van zoveel % dan weet je dat er iets niet of wel klopt.

 

 

Hier een sensor van conrad die net zo werkt als de bovenstaande sensor, alleen is die duurder.

 

https://www.conrad.nl/nl/module-bekabelde-lichtsensor-velleman-vma407-geschikt-voor-arduino-boards-arduino-1-stuks-96847.html?WT.mc_id=gshop&insert=8J&gclid=CjwKCAjwoNrMBRB4EiwA_ODYvw7FjeBoCXTZC5CgZ1_zxNM2-Qk-n3lt7uMYbYGIZar2txRJ_adksBoC8WkQAvD_BwE&tid=819986081_43073150835_pla-296080089822_pla-96847&WT.srch=1

 

Mvg

Share this post


Link to post
Share on other sites

Ik ben ook groot voorstander van "knutselen", maar dan wel als het geld bespaart of een beter resultaat oplevert. Een lux sensor van 80 cent die tot 1 lux nog gevoelig is heeft dan toch mijn voorkeur. Die paar honderd bytes geheugen heb ik er wel voor over dat er ook nog een controleerbaar getal uit komt.

 

Die Conrad sensor koop je voor 20cent op Aliexpress. Als je die niet al standaard hebt zitten in je Arduino starterkit.

Share this post


Link to post
Share on other sites

Als die idd 20 cent kost en maar 1 draad gebruikt is het idd beter, ik heb ze alleen gemist. Ik heb wel sensors gezien die 3 tot 4 draden gebruiken voor een meting. Ik hoef geen 100000 Lux te meten,alleen een klein verschil in lichtintwnsiteit en dat lukt met deze sensor perfect. Mvg

Share this post


Link to post
Share on other sites

Het is een kabeltje. Of daar nou 2 of 4 draden in zitten, who cares?

 

Ik heb zelf een sensor module waar van alles mee wordt gemeten. Dan gaat er één kabel van dat ding met alle sensoren naar de Arduino. Of zoals Cabis het doet met een draadloze zender kan ook. Hoef je alleen nog stroom te regelen voor de sensor module.

 

Heb je dit al geprobeerd trouwens? Ik meet al jaren de lichtintensiteit (in lux), maar er zit nogal wat fluctuatie in hoor. Ik had ooit de hoop dat ik de veroudering van mijn lampen zou kunnen meten, maar dat is echt een kansloze zaak. De meting verandert al als de sensor even anders hangt of als je het armatuur niet exact op dezelfde hoogte weer terug hangt, nadat je wat met de planten hebt zitten rommelen bijvoorbeeld.

 

Ik meet de lichtintensiteit op top hoogte en dan wil het in de groei ook nog wel eens gebeuren dat er een blad over de sensor valt.

 

Met bepaalde lampen zie je zelfs de lichtsterkte varieren over de dag. Afhankelijk van de temperatuur een beetje, maar vooral bij het inschakelen bouwt het "langzaam" op.

 

Ben bang dat je een hele hoop alarm meldingen gaat krijgen. Of je moet de tolerantie heel hoog zetten, maar dan streef je het doel wel weer voorbij.

Share this post


Link to post
Share on other sites

Dank voor de info Wietefras,ik denk dat ik de sensor elke uur ga kalibreren en een kalibratie menu maak als k ff bij de planten ben gaan kijken en de sensor waarde daardoor van slag is. Ik heb mijn hok nog niet klaar en heb het daar nog niet getest, in de woonkamer werk het wel.

Met de programma is veel te regelen. Het is wel verdomd handig als het licht uit is, voor het geval dat er iets in fik vliegt. Overdag als er 1 led uitvalt zou de sensor dat moeten opmerken. Mvg

Share this post


Link to post
Share on other sites

Schakel je het licht wel in met dezelfde Arduino? Het programma moet op zijn minst ook weten of de lamp aan moet staan toch? Dat lijkt mij de belangrijkste controle eigenlijk. Dat de lamp wel uit gaat als dat de bedoeling is en weer aan als dat de bedoeling is.

 

Over "kleine verschillen" iets zinnigs melden lijkt me dus lastig. Zelfs als je de tent open doet dan daalt de lichtintensiteit al wat.

 

Hoe ga je die alarm meldingen door krijgen? Toch niet met een geluidssignaal? Dat trekt wel weer erg de aandacht naar je kweek.

Share this post


Link to post
Share on other sites

Nee niet via een geluidsignaal.

 

De hele kast wordt aangestuurd door 1 arduino mega die een gigantische programma heeft. Er zijn nog maar 8 ingangen over :)

De rest van de ingangen hebben een functie.

Zodra ik klaar ben met het testen van de controller en al zijn functies, dan komt die in een stalen kast en de bedrading wordt dan ook gefatsoeneerd.

Ook is er een arduino UNO die als een server draait icm W5100, hierdoor kan ik via mijn telefoon op internet met de MEGA communiceren en bijsturen.

 

De controller heeft meer dan 40 instellingen in 4 hoofdprogramma's bestaande uit: dagmodus, nachtmodus, veilige modus en alarmmodus. Alles is te regelen, en die LDR sensor is een leuke extraatje. Bereik is maar van 0-1023, en zoals ik je al eerder aangaf hoef ik geen lux te meten maar een verandering in de lichtintensiteit tussen 0-1023.

 

Hoe dat gaat werken:

 

 

je start de arduino op

wacht tot de lampen op 100% draaien

Doe een meting bijv (700)

Nu heb je een waarde van je lampen,blijf deze elke minuut vergelijken

is de waarde opeens hoger/lager dan (MIJN TOLERANTIE) bijv (600)

Dim het licht naar 50% en stuur een alarm (of doe iets anders)

 

of checken op vuur :

 

is de waarde opeens hoger/lager dan (MIJN TOLERANTIE) bijv (600)

Doe het licht uit en neem weer een lichtmeting

als er licht gemeten wordt schakel brand installatie in (of iets anders)

 

kalibratie:

 

als de waarde tussen de 630 en 760 zit voor bijvoorbeeld 2 uur ofzo

kalibreer de sensor waarde

 

Het is eigenlijk best simpel

 

Mvg

 

 

norm_599854f9b241425137.jpg

 

 

 

norm_5998551270f6520001.jpg

norm_59985528b629064909.jpg

Share this post


Link to post
Share on other sites

De hele kast wordt aangestuurd door 1 arduino mega die een gigantische programma heeft. Er zijn nog maar 8 ingangen over :)

Dat is ook weer een groot voordeel van die I2C dingen. Op twee pinnen kun je tig sensoren aansluiten.

 

Ik denk toch dat die calibratie je grootste probleem gaat worden. Als je de boel opstart en dan de start waarde als calibratie punt neemt dan zie je dus niet dat je lampen niet aan gaan. Of als maar de helft aan gaat. De boel corrigeert automatisch naar die startup waarde en vind het dan wel best.

 

Zou je vuur niet makkelijker/beter zien aan de temperatuur? Voor hetzelfde geld zit je relais gewoon vast en schakelt de lamp daardoor niet uit. Dan zet je de blusser aan voor jan doedel.

Share this post


Link to post
Share on other sites

Aan alles is gedacht er zijn zat sensoren die de boel monitoren waaronder ook 2 die de temperatuur meten. Ic2 zal de metingen trager maken, en met een grote programma kan ik dat niet gebruiken. Temperatuur, lichtsterke en amperage zijn een goede beveiliging als je die kunt meten. De lampen worden geschakeld door mosfets. Mvg

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...