ID.nl logo
Huis

Eigen Arduino wake up light bouwen

Ervoor zorgen dat je lekker kunt uitslapen omdat je kinderen niet te vroeg aan je bed staan 's ochtends, kan uitsteken met een wake up light. Die kun je gewoon in de winkel kopen, maar een eigen wake up light bouwen met Arduino is een veel leukere uitdaging! En een stuk goedkoper.

Benodigdheden

- Arduino Mega (voor dit artikel gebruiken we een goedkope kloon), € 12,50

- Arduino LCD KeyPad Shield, € 5,50

- DS3231 rtc, € 2,25

- Rgb-ledstrip, prijzen zeer uiteenlopend

- Pin headers, € 2,00

- Draad

- Soldeermateriaal

- Striptang

- 3D-printer voor behuizing (optioneel)

Totale kosten: ca. € 50,–

Arduino Mega

Voor de verlichting wordt gebruikgemaakt van een rgb-ledstrip. Die wordt, zodra alles werkt, achter het stapelbed van de kinderen geplakt. Dat geeft een mooi effect, vooral als de kamer wordt verlicht met een kleurverloop in alle kleuren van de regenboog.

De ledstrip wordt aangestuurd door een Arduino Mega. Deze heeft meer aansluitingen dan de veelgebruikte Arduino Uno. Dat is ook wel nodig, want de Uno heeft niet genoeg pinnen voor alle onderdelen die we gaan gebruiken: een ledstrip, een lcd-scherm met bedieningsknoppen en een rtc (real time clock). Dit alles wordt in een 3D-geprint doosje geplaatst.

Het lcd-scherm moet de huidige tijd laten zien en – voor het geval je die hebt ingesteld – de tijd waarop het licht van de wekker aangaat. Met de bedieningsknoppen kun je verder nog allerlei andere zaken instellen. Niet alleen de tijd en het alarm, maar ook de kleur van de led-verlichting. Een regenbooganimatie is natuurlijk wel mooi, maar als je dat te druk vindt, moet het ook mogelijk zijn om een vaste kleur te kiezen. Daarnaast zou het handig zijn als je de achtergrondverlichting van het lcd-scherm in kunt stellen op ‘altijd aan’ of ‘automatisch uit na tien seconden’. Tijdens het inslapen is het niet fijn als het backlight de hele kamer verlicht.

Wat moet er gebeuren wanneer de ‘wekker afgaat’? Waarschijnlijk zal niemand het fijn vinden om in een plotselinge zee van licht wakker te worden. Daarom moeten de led-lampjes eerst heel zwak en daarna langzaam aan feller gaan schijnen. Over de kleur hoeft mijn dochter niet lang na te denken. Roze natuurlijk, de favoriete kleur van dit zesjarige meisje.

©PXimport

Behuizing en scherm

Een behuizing is niet noodzakelijk om de wake-uplight te laten functioneren. Maar omdat het apparaat aan de zijkant van een kinderbed wordt gemonteerd, is het wel verstandig om iets te maken wat de elektronica beschermt tegen kinderhandjes. En omgekeerd natuurlijk.

Op Thingiverse, een website waar veel gratis 3D-modellen te vinden zijn, kun je het perfecte doosje vinden: de Mmintbox – ja met dubbel M. Deze is speciaal ontworpen voor een Arduino Mega waar een lcd-shield met koppen op zit. Op de plek die eigenlijk bedoeld is voor een 9volt-batterij is nog ruimte voor de rtc!

Het is aan te raden om de knoppen met elastisch materiaal te printen, biorubber of flexibel TPE-filament bijvoorbeeld. De rest van het doosje is met PETG geprint. Na het printen moet je met een mesje nog even een opening in de zijkant van het doosje maken. Hier gaan de vier draden van de ledstrip door.

Bij het aansluiten van de LCD KeyPad Shield valt op dat de soldeerpunten aan de onderkant van de shield contact maken met de metalen buitenkant van de usb-aansluiting van de Arduino. Misschien dat dit bij een originele Arduino Mega niet gebeurt, maar omdat er op dit moment enkel een (overigens prima) kloon voorhanden is, kunnen we dit niet controleren.

Voor de zekerheid moet er daarom rondom de usb-aansluiting wat (doorzichtige) tape worden geplakt. Je kunt het bordje testen met behulp van de voorbeeldcode die je hier vindt.

Rtc en led-strips aansluiten

De rtc (real time clock) beschikt over zes verschillende aansluitingen, waarvan alleen de SDA-, SCL-, VCC- en GND-aansluitingen gebruikt hoeven te worden.

De SDA- en SCL-pinnen worden met de gelijknamige pinnen op de Arduino aangesloten. Op een Arduino Mega is SDA-pin D20 en SCL is pin D21.

VCC verbind je met de 5volt-pin op de Arduino en GND uiteraard met GND. De Mega heeft meerdere GND-aansluitingen, maar het handigst is om die naast de 5volt-pin te gebruiken.

Er is nu wel wat soldeerwerk nodig: soldeer twee pinheaders op de SCL en SDA-aansluitingen van de rtc en vier pinheaders aan 5V-GND-GND-Vin van het lcd-bordje. Even opletten: de vier laatstgenoemde pinnen zitten aan de onderkant van het lcd-bord! Als je ze aan de andere kant zou solderen (zodat de kabels boven op de shield moeten worden aangesloten), past het niet in het 3D-geprinte doosje omdat de kabels dan naar boven uitsteken. Wie nog nooit gesoldeerd heeft, kan via dit pdf-bestand een duidelijke handleiding in de vorm van een comic vinden.

©PXimport

Meet nu de afstand die tussen de Mmintbox en de verlichting komt en tel daar nog wat extra centimeters bij op. Dit wordt de lengte van de vier draden tussen de Arduino en de ledstrip. Achteraf kun je die draden in een kabelgoot wegwerken. De aansluiting verloopt als volgt.

1. De VCC (paarse draad op de foto) en naastgelegen GND van de ledstrip worden aangesloten op de Vin- en GND-pinheaders die in de vorige stap gesoldeerd zijn.
2. DI wordt aangesloten op pin D36 van de Arduino Mega.
3. GND (die naast DI) wordt aangesloten op de GND-pin die helemaal rechtsonder op de Arduino zit.

©PXimport

De voeding aansluiten

De pinnen van de Arduino werken op 5 volt. Precies de juiste hoeveelheid voor de rtc, maar niet voor de ledstrip die wij gebruiken. Die heeft namelijk 12 volt nodig. Gelukkig past de stekker van de adapter die bij de ledstrip geleverd werd precies in de voedingsconnector van de Arduino Mega. En we hebben ook geluk dat de Mega beschikt over een ingebouwde spanningsregelaar, die ervoor zorgt dat de maximale hoeveelheid op elke pin wordt beperkt tot 5 volt.

De enige uitzondering hierop is de Vin-pin, waarop evenveel spanning staat als op de stroomconnector. Vandaar dat de VCC van de ledstrip in de vorige stap op Vin is aangesloten. Zorg dus dat je zelf ook een voedingsadapter met de juiste maat stekker gebruikt!

Bovenstaand verhaal over de voeding wijkt niet zo veel af wanneer je een ledstrip gebruikt die met een spanning van 5 volt werkt. In dat geval kun je de Arduino ook met een usb-kabel van stroom voorzien. Wanneer je toch de ronde voedingsconnector gebruikt, let er dan op dat je een adapter met de juiste spanning gebruikt.

Wake up light progammeren

Je kunt hier de Arduino-code voor dit project downloaden. Voordat je deze sketch naar de Arduino uploadt, zou je nog wat onderdelen in de code kunnen aanpassen. Bijvoorbeeld het instellen van de datum van de rtc, want dat kan niet met behulp van de knoppen. De code staat op GitHub, dus iedereen is welkom om deze optie toe te voegen. Maar op dit moment is dat niet per se nodig, omdat een datum en de dag van de week niet van belang is voor het laten afgaan van de wekker van dit wake-uplight.

Voor de volledigheid laten we toch even zien hoe je de datum en dag van de week van de rtc kunt instellen. Haal allereerst de commentaartekens aan het begin van regels 67 tot en met 69 weg en vul de juiste waarden voor datum (en tijd) in:

67 rtc.setDOW(THURSDAY); // Set Day-of-Week to THURSDAY
68 rtc.setTime(10, 35, 0); // Set the time to 10:35:00 (24hr format)
69 rtc.setDate(7, 9, 2017); // Set the date to September 7th, 2017

Als deze sketch is geüpload, waardoor de wake-uplight over de juiste datum beschikt, moet je de commentaartekens weer terugzetten en de sketch voor een tweede keer uploaden! Hierdoor voorkom je dat de tijd telkens weer wordt teruggezet wanneer de Arduino herstart na een stroomonderbreking.

16 #include <liquidcrystal.h></liquidcrystal.h>
17 #include <aldi_neopixel.h></aldi_neopixel.h>
18 #include <ds3231.h></ds3231.h>
19
20 LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
21 Aldi_NeoPixel strip = Aldi_NeoPixel(50, 36, NEO_BRG + NEO_KHZ800);
22 DS3231 rtc(SDA, SCL);

Het getal 50 op regel 21 is het aantal leds in de strip. Wellicht dat je dit nog moet aanpassen. Voor meer info over die ledstrip en de bijbehorende library kun je hier terecht.

Wanneer je een reguliere NeoPixel-ledstrip gebruikt, wijzig je regel 17 en 21 in:

17 #include <adafruit_neopixel.h></adafruit_neopixel.h>
21 Adafruit_NeoPixel strip = Adafruit_NeoPixel(50, 36, NEO_GRB + NEO_KHZ800);

Staat het roze kleurtje jou bij het ontwaken niet aan, dan kun je dit op regel 140 wijzigen:

140 strip.setPixelColor(i, strip.Color(c, 0, c/10));

Ook deze regel behoeft wat uitleg. De drie waarden tussen de haakjes achter strip.Color zijn de hoeveelheid rood, groen en blauw van de kleur. In dit geval is de variabele c een waarde die langzaam van 0 tot en met 255 oploopt (zie regel 136) en zo zorgt dat de verlichting steeds feller wordt. Roze licht krijg je door rood licht met een klein beetje blauw licht te ‘mengen’, vandaar dat in bovenstaande code de hoeveelheid blauw telkens een tiende deel van de hoeveelheid rood is. Wil je geen roze maar groen, dan zou je de volgende code kunnen gebruiken:

strip.Color(0, c, 0)

Een ander leuk idee is om de kleuren van de opkomende zon na te bootsen: van rood en oranje via geel naar een blauwig wit. Hiervoor is alleen bovenstaande regel niet genoeg, maar zullen er wat meer drastische wijzigingen aan de code moeten plaats vinden. Dat laten we aan jouw eigen inventiviteit over.

Tot slot

Zodra je de wake-uplight aan zet, toont de ledstrip een kleurverloop van het hele kleurenspectrum: van rood via geel, groen, blauw en paars weer terug naar rood. Dit ziet er prachtig uit, niet alleen wanneer de ledstrip nog is opgerold, maar zeker als deze achter het stapelbed wordt geplakt en de hele kamer oplicht.

Intussen is alles getest en het werkte! We verheugen er ons al op om op zaterdagochtend eindelijk eens een uurtje langer te blijven liggen. De kinderen zijn al de hele week geïnstrueerd: “Jullie krijgen vrijdag een nieuwe lamp op je kamer, zodat je kunt zien wanneer je mag opstaan. En denk eraan: niet roepen voordat de lamp aan is.” Dit moet gaan lukken! Hoe moeilijk kan het nu nog zijn?

▼ Volgende artikel
Review Netatmo Binnencamera Advance – Veel nadruk op privacy
© Wesley Akkerman
Zekerheid & gemak

Review Netatmo Binnencamera Advance – Veel nadruk op privacy

De Netatmo Binnencamera Advance is een slimme beveiligingscamera voor in huis en heeft een adviesprijs van 330 euro. Het apparaat is echter al te koop voor zo'n 250 euro, zien we op de website. Hoe bevalt het product in de praktijk en is-ie dat geld waard?

Uitstekend
Conclusie

Een gemakkelijke installatie, een overzichtelijke app en een grote nadruk op privacy: dat is wat de Netatmo Binnencamera Advance biedt. Het systeem laat weinig te wensen over als het gaat om die aspecten, evenals beeld- en audiokwaliteit. We missen wel een melding wanneer iemand de SD-kaart verwijdert en zouden een volgende keer een fysieke schakelaar voor de mechanische privacysluiter waarderen, maar dat betekent niet dat de Advance geen aanbeveling verdient. Want het product werkt heel goed, maar is wel flink aan de prijs.

Plus- en minpunten
  • Privacyvriendelijke sluiter...
  • Automatische opties
  • Snelle installatie
  • Goede beeld- en audiokwaliteit
  • Alleen nuttige meldingen
  • Geen fysieke schakelaar
  • Geen melding bij verwijderen SD-kaart
  • Hoge prijs

In de basis is de Netatmo Binnencamera Advance een product volgens het Netatmo-boekje: het apparaat combineert geavanceerde beveiligingstechnologie met een sterke nadruk op privacy en gebruiksvriendelijkheid. Deze binnencamera gaat zelfs nog een stapje verder met de introductie van een mechanische privacysluiter. De implementatie van de sluiter is niet uniek, maar de toepassing wel.

Nu bestaan er wel meer beveiligingscamera’s die zo'n sluiter hebben. Die kun je soms via een schakelaar op het apparaat omzetten, en anders via de app. Een fysieke knop hiervoor is de meest veilige optie, aangezien die niet kan worden 'gehackt'. In het geval van deze Netatmo kunnen we de sluiter alleen via de app omhoog en omlaag doen. Dat kun je ook automatisch laten doen, bijvoorbeeld wanneer de camera een gezicht herkent. Dan schakelt de camera zichzelf als het ware uit op het moment dat je zelf binnen bent, waardoor er ook geen opnamen gemaakt (hoeven te) worden.

©Wesley Akkerman

De achterkant van het apparaat.

Meer gemoedsrust

Door de sluiter een automatische functie te geven, hoopt Netatmo meer gemoedsrust te kunnen bieden. Er zijn namelijk mensen die zich nog steeds zorgen maken om hun privacy en de opnamen die van hen gemaakt worden zodra ze ergens binnenstappen. Bij bedrijven en horecagelegenheden heb je daar weinig invloed op, maar bij jezelf, vrienden of familieleden thuis dus iets meer. Het systeem mag dan wel niets opnemen met de sluiter omlaag, maar technisch gezien kan die nog wel meeluisteren. De microfoon wordt namelijk niet afgedekt.

De automatische stand kun je op twee manieren activeren: via gezichtsherkenning en middels geofencing. Op basis van een geregistreerd gezicht of je locatie kan de camera de beeldopnamen dus uitschakelen. Nu kun je via de app 'handmatig' de sluiter openen op het moment dat je van huis gaat, maar ook dat kun je op basis van geofencing regelen. Zodra je het huis verlaat, gaat de sluiter omhoog en houdt de Netatmo Binnencamera Advance alles voor je in de gaten. Uit onze praktijktests blijkt dat allemaal prettig en snel te werken.

©Wesley Akkerman

De binnencamera met het klepje dicht...

©Wesley Akkerman

...en vervolgens met het klepje open.

Veel mogelijkheden

Verder beschikt het systeem over allerlei zaken die we elders ook zien. Dat is geen kritiek, want het is alleen maar goed als er een soort basis van je persoonlijke beveiliging bestaat. De Advance beschikt over een kijkhoek van 130 graden, een 2K-resolutie en HDR-beeldkwaliteit. Daardoor film je niet alleen een groot deel van de omgeving, ook staat alles er haarscherp en kleurrijk op. Je kunt de Binnencamera Advance koppelen aan 2,4- en 5GHz-netwerken en kunt hem aan het stroomnet aansluiten via een stekker of de Power over Ethernet-kabel.

Je kunt hem op een kast neerzetten of aan de muur of het plafond bevestigen. Het product beschikt daarnaast over beam forming-technologie, waardoor mensen aan de andere kant goed verstaanbaar zijn. Dat is niet zozeer handig voor het kunnen verstaan van dieven, maar je zou een camera bij een baby of bejaarde in de kamer kunnen plaatsen en diegene kunnen verstaan of horen als er iets gebeurt. De audio klinkt goed verstaanbaar binnen de app, en aan de andere kant hebben we ook geen klachten ontvangen over de speakerkwaliteit.

©Wesley Akkerman

Meldingsmogelijkheden

Het is daarnaast de bedoeling dat de Netatmo Binnencamera Advance je zo min mogelijk stoort. De fabrikant probeert om die reden een minimum aan meldingen te versturen. Aanvankelijk viel dat nog best tegen, maar dat kwam doordat het apparaat nog niet alle gezichten in huis herkende. Toen we dat eenmaal hadden ingesteld, daalde het aantal notificaties dat we binnenkregen aanzienlijk. Daar moeten we bij vermelden dat het soms maar net aan de hoek van de camera ligt of hij je herkent of niet, maar binnen de app kun je zelf instellen wie wie is om het aantal meldingen terug te brengen.

Via de overzichtelijke en nette applicatie is het daarnaast verder mogelijk de notificaties op je voorkeuren in te stellen. Zo kun je zelf bepalen of je ook meldingen van huisdieren, onbekende gezichten of mensen in het algemeen wilt hebben. Je kunt bovendien de sluiter altijd handmatig omlaag zetten als je die meldingen zat bent. Tot slot is het mogelijk meldingen samen te voegen. Als een reeds bekend gezicht binnenkomt met een onbekend persoon, krijg je daar maar één melding van (in plaats van twee). Dat soort mogelijkheden kunnen we alleen maar waarderen.

Een andere functie die ons bevalt, is de opslag. Je slaat de beelden lokaal op, op een microSD-kaartje. Je krijgt er standaard een kaartje van 8 GB bij. Daardoor word je niet meteen op extra kosten gejaagd. Wat wel een beetje tegenvalt, is het gebrek aan een melding als je het kaartje verwijdert. Als iemand dus binnen is en die haalt de kaart eruit, dan weet je dat niet. Lijkt ons een enorme vergissing, maar ondertussen is het ook iets wat je mogelijk later kunt toevoegen als fabrikant. Daar hopen wij in elk geval op.

Netatmo Binnencamera Advance kopen?

Een gemakkelijke installatie, een overzichtelijke app en een grote nadruk op privacy: dat is wat de Netatmo Binnencamera Advance biedt. Het systeem laat weinig te wensen over als het gaat om die aspecten, evenals beeld- en audiokwaliteit. We missen wel een melding wanneer iemand de SD-kaart verwijdert en zouden een volgende keer een fysieke schakelaar voor de mechanische privacysluiter waarderen, maar dat betekent niet dat de Advance geen aanbeveling verdient. Want het product werkt heel goed, maar is wel flink aan de prijs.

▼ Volgende artikel
9 dingen die je niet moet doen met een nat-droogstofzuiger
© Wesley Akkerman
Huis

9 dingen die je niet moet doen met een nat-droogstofzuiger

Als je geen robotstofzuiger wil, maar je wil het jezelf wel gemakkelijk maken, dan kom je al snel uit op een nat-droogstofzuiger. Dat is een traditionele stofzuiger met een dweilfunctie. Omdat dit soort apparaten nog redelijk nieuw zijn, maken veel mensen dezelfde fouten.

Hier alvast een overzicht van handelingen die je beter niet kunt doen met je nat-droogstofzuiger – in het artikel staan nog meer zaken.

  • Niet van modus wisselen
  • Niet goed opbergen
  • Te grote dingen willen opzuigen
  • Geen rekening houden met een houten vloer
  • Verf of vlambare vloeistoffen opzuigen

Hoewel het technisch gezien mogelijk is een nat-droogstofzuiger op alle typen houtvloeren te gebruiken, is het toch af te raden als het gaat om onbewerkt of onafgewerkt hout. Dat komt doordat een onafgewerkte houten vloer geen beschermende afdichtingslaag heeft. Als die onbehandeld blijft, absorbeert het hout gemakkelijk water of vocht van een nat- en droogzuiger. Dat kan ervoor zorgen dat de vloer kromtrekt of na verloop van tijd zelfs splijt.

Verkeerde dingen opzuigen

Daarnaast is het belangrijk om te voorkomen dat je met een nat-droogstofzuiger dingen opzuigt waar het apparaat niet goed mee overweg kan. Denk aan grotere objecten die nog weleens op de vloer liggen, zoals hondenbrokken. Als je tegelijkertijd dweilt en stofzuigt, kan zo'n object klem komen te zitten bij de dweilkop, een filter of verderop in het systeem. Gebeurt dat regelmatig, dan is het verstandig om voortaan eerst even op te ruimen voordat je de stofzuiger aanzet.

In dezelfde lijn geldt: glasscherven of andere scherpe voorwerpen kun je beter eerst handmatig opvegen met een stoffer en blik. Ook gewone en robotstofzuigers zijn hier niet tegen bestand – de kans op schade aan interne onderdelen is groot. Vermijd bovendien altijd het opzuigen van brandbare vloeistoffen, want die kunnen bij contact met elektrische onderdelen ontbranden.

©Wesley Akkerman

Leeg de vuilwatertank regelmatig.

Tot slot nog even over het opzuigen van verf. Het kan verleidelijk zijn om verfspetters weg te halen met de dweilkop van bijvoorbeeld de Dreame H15 Pro, maar dat is echt geen goed idee. Zowel natte als droge verf kan het systeem verstoppen, waardoor vuil zich ophoopt en filters beschadigd raken. Kom je verf op de vloer tegen, pak dan liever een emmer met warm sop en een doek of spons. Daarmee voorkom je problemen én krijg je het meestal ook gewoon beter schoon.

Van modus wisselen en meer

Het is ook slim om de nat-droogstofzuiger af en toe in een andere modus te gebruiken, zodat hij altijd optimaal blijft presteren. Bij tests op de redactie gebruiken we standaard de automatische stand, waarbij het apparaat zelf de zuig- en dweilintensiteit aanpast aan de situatie. Maar schakel gerust de dweilfunctie eens uit als je alleen wat stof wilt verwijderen. Dat ontlast het systeem en kan de levensduur van het apparaat flink verlengen.

Besteed daarnaast voldoende aandacht aan het onderhoud van de verschillende onderdelen. Tijdens het gebruik zie je vaak vanzelf dat de vuilwatertank volloopt. Leeg deze regelmatig – bij voorkeur na elke schoonmaakbeurt – om te voorkomen dat de zuigkracht afneemt. Dweil je vaak, dan is dat nog belangrijker: je wilt natuurlijk voorkomen dat je bij het legen vervuild water morst.

Controleer ook regelmatig de staat van de filters. In sommige gevallen kun je dat zelfs via de app doen. Zit er te veel stof in, dan gaat dat ten koste van de zuigkracht. En tot slot: zet de nat-droogstofzuiger altijd netjes rechtop in het oplaadstation. Zo kan het systeem zichzelf opladen én onderhouden – denk aan het automatisch drogen van de borstel, wat nare geurtjes helpt voorkomen. Kleine moeite, groot effect!

Heb je nog geen nat-droogstofzuiger?

Dan is dit je kans – bekijk hier de beste deals!