Maak je eigen Licht Sensor (LDR + Homeyduino)

Een licht- of schemersensor meet de hoeveelheid licht in een bepaalde ruimte en door dit te koppelen aan Homey kan deze sensor apparaten of flows aansturen. Op deze manier kun je dus bijvoorbeeld automatisch je verlichting aan laten gaan wanneer het (te) donker word of juist andersom, je buitenverlichting uitschakelen wanneer de zon opkomt.
Nadat het vorige week eindelijk lukte om een WiFi (water)thermometer voor in de vijver te maken. En deze door middel van zelf gefabriceerde Arduino/ESP8266 code, het betere kopieer en plakwerk, met Homey te laten communiceren, heb ik de smaak te pakken gekregen. Dit keer heb ik dan ook een andere sensor van het verlanglijstje afgevinkt, de licht sensor (LDR).
Door het gebruik van dergelijke sensoren kun je eenvoudig elektriciteit besparen, je lampen gaan namelijk niet onnodig aan wanneer het nog licht is en schakelen desgewenst automatisch uit wanneer het juist wel weer licht genoeg word. En anderzijds heb je er juist gebruiksgemak van omdat op druilerige donkere dagen de verlichting juist wat eerder aanspringt, waardoor je niet onnodig in het donker hoeft te zitten.

Kant en klare oplossing
Uiteraard zijn hier tal van kant en klare oplossingen voor te krijgen, echter zijn deze vaak op batterijen en aangezien het batterij verbruik hier momenteel al buitenproportioneel is heb ik liever zo veel mogelijk sensoren op netspanning. Zo heeft KaKu er één voor € 23,- maar zoals aangegeven werkt deze dus op batterijen. Een ander alternatief is een schemerschakelaar die bedraad is, nadeel hiervan is echter dat je maar één apparaat of hooguit één contactdoos met meerdere stopcontacten kan schakelen.
Zelfbouw licht sensor (LDR)
Vandaar dat ik als hobbyist zijnde voor het zelfbouw alternatief heb gekozen,namelijk met een LDR, Light Dependent Resistor sensor, oftewel een licht gevoelige sensor. Op deze manier leer je meteen hoe een dergelijke sensor werkt.
Het voordeel van Arduino/ESP8266 is, dat deze sinds de release van Homeyduino eenvoudig aan Homey te koppelen is. Dit vergt nog het nodige puzzelwerk van mijn kant, want ik heb zoals aangegeven weinig tot geen kennis van programmeren. Echter met de interesse om wat bij te leren, gecombineerd met een gezonde uitzoekdrang kom je gelukkig een heel eind. Wanneer dit echter lukt heb je dus voor weinig geld een sensor waarvan je de gegevens kunt kijken via Homey Inzichten. Ook kun je je zelfbouw sensoren gebruiken als trigger voor je flows.
De benodigdheden:
- Microcontroller met WiFi, bijvoorbeeld: ESP8266 NodeMcu of D1 Mini NodeMcu
- Micro USB Oplader
- LDR Sensor of kant en klare LDR sensor met weerstand en potentiometer
- Breadboard
- Weerstand
- Homey Smart Home HUB met Homeyduino app geinstalleerd
Geen tijd of geduld om op levering uit China te wachten? Conrad heeft het ook en levert direct vanuit Nederland!
Ook nodig maar enkel op de boel eenmalig te configureren, een computer of laptop met daarop geïnstalleerd:
ESP8266 ESP-12 NodeMCU Lua WiFi
AliExpress.com Product – WeMos D1 mini , WiFi board met ESP8266 intergratie + 32Mb flash

5 stuks Soldeerloze Prototype Breadboard 170 Tie-points PCB Test Board – Gevonden op AliExpress.com | Thuis bezorgd en al voor €1,60

100PCS 1/4W Watt 10K ohm 10K Metal Film Resistor 0.25W 1% ROHS High Quality – Gevonden op AliExpress.com | Gratis thuisbezorgd voor nog geen € 0,63
Aansluitschema
Volg onderstaand schema op de sensor aan te sluiten aan je board. Onderstaand plaatje ie een Arduino Uno maar aansluiten op een ESP8266 NodeMCU of D1 Mini is nagenoeg hetzelfde, voltage werkt ook op 3.3V.

Code
Onderstaand de code, net als de WiFi Waterthermometer, zelf samengesteld uit reeds beschikbare code voor Arduino en Homeyduino. Het werkt naar behoren maar aangezien ik, als leek, zelf weinig tot geen ervaring met coderen heb kan dit hoogstwaarschijnlijk efficiënter.
Mocht je deze kennis wel hebben en suggesties hebben, laat het me dan weten! Uploaden gaat via Arduino IDE, mocht je hier niet bekend mee zijn lees dan hier voor een uitgebreide handleiding. Zorg dat je bij instellingen in Arduino IDE het juiste board hebt geselecteerd en dat je op 9600 baud de code upload. Mocht je ESP8266 board niet werken dan kun je proberen deze eerste te flashen met de NodeMcu Flasher.
Testen
Nu het je gelukt is om de code te uploaden gaan we deze meteen testen. Dit doen we door de Seriële Monitor in Arduino IDE te openen, klik hiervoor op Hulpmiddelen en dan Seriële Monitor of gebruik de sneltoets CTRL+SHIFT+M.
Vervolgens opent er een scherm waarop je de waardes van de sensor uit kunt lezen. Waardes kunnen variëren ergens tussen de 0 en 999. Met 0 als de uiterste staat van duisternis en 999 zijnde een zeer goed (over?)belichte ruimte. Het kan zijn dat de keuze van weerstand die je gebruikt invloed heeft op de gemeten gegevens. In onderstaande afbeelding heb ik de sensor namelijk op een half bewolkte dag buiten getest, mijn inziens zou de gemeten hoeveelheid licht dan ook hoger uit moeten vallen. Dit heeft verder weinig invloed op het gebruik van de sensor an sich, behalve dat een nauwkeurige sensor ook nauwkeuriger kan schakelen.
Homeyduino sensoren koppelen in Homey 2.0? Hoe je dat doet lees je hier!
Onderstaande manier geldt enkel voor Homey 1.0



Afwerking en bescherming
De sensor stoppen we ook nog in een enigszins net doosje, dan is de boel net wat beter beschermd en het oogt ook net wat minder rommelig. Op het verlanglijstje staat ooit nog een 3D printer, zodat eventuele cases zelf op maat gemaakt kunnen worden. Maar zolang die er nog niet is lossen we het anders op. Zoals je bij de WiFi waterthermometer al kon zien heb ik toen gebruik gemaakt van een eenvoudig doosje van de Karwei. Dit beviel eigenlijk prima, dus gebruiken we die nu weer. Doosje ligt in de elektra hoek en kost ongeveer € 3,-.


Conclusie
Al met al bouw je op deze manier, met beperkte middelen, een goed werkende licht- of schemersensor. Enkele problemen waar ik aanvankelijk tegen aan liep hadden vooral te maken met het instellen van je flows. Dit let erg nauw en soms maak je een flow die door Homey anders geïnterpreteerd word als dat je hem voor ogen had.
Afhankelijk van de nauwkeurigheid van de sensor moet je voor jezelf bepalen op welke lichtintensiteit je wilt dat je lampen geactiveerd worden. Ook moet je de flow op gezette tijden actief hebben, maar niet 24 uur per dag. Je wilt uiteraard niet dat je lampen midden in de nacht aangaan. Dit is alles bij elkaar een proces wat even wat even wat aandacht vergt, maar heb je het eenmaal goed werkend, dan heb je er helemaal geen omkijken meer naar.
De volgende stap: Multi Sensor Homeyduino
Eenvoudige sensoren zijn vaak genoeg, maar soms is het gewoon handig om meerdere sensoren in één te hebben. Zo kun je wat complexere triggers maken bijvoorbeeld door een lichtsensor te combineren met een bewegingssensor. Dit word dan ook het volgende project, momenteel zijn er diverse sensoren besteld en onderweg.
De sensoren zijn ondertussen binnen, gebouwd en getest. Je leest het hier!
Mocht je op- aanmerkingen, ideeën of suggesties hebben, laat het me dan weten en neem even contact op.
4 reacties op “Maak je eigen Licht Sensor (LDR + Homeyduino)”