Je Huis Automatisch Verlichten bij Aankomst: Slimme Verlichting met Arduino en iPhone
Onderdelen en Benodigdheden
| Arduino Yun | 1 |
| LED (generic) | 1 |
| Weerstand 221 ohm | 1 |
| Breadboard (generic) | 1 |
| Jumper wires (generic) | 1 |
| Apple iPhone | 1 |
Apps en Online Services
- Arduino Web Editor
- Blynk
Over Dit Project
Overzicht
Heb je ooit gedroomd dat de lichten in je huis aangoonden wanneer je je huis naderde, zodat je nooit in het donker je huis binnen hoeft te treden? Dit apparaat doet precies dat voor je: de lichten gaan aan wanneer je dichtbij je huis bent, gebruikmakend van GPS. De lichten blijven aan zolang je in het huis bent.

Functionaliteit
Dit project gebruikt Blynk om te functioneren. Blynk vereist mobiele data om onderweg te werken, dus dit moet ingeschakeld zijn. Een Blynk-account en de app zijn vereist. Het project werkt vrij simpel: Blynk monitor de geolocatie van de telefoon en stuurt de data naar de Arduino Yún. De Arduino Yun vergelijkt de telefoonlocatie met de thuislocatie (handmatig ingesteld door de gebruiker). Wanneer de telefoon binnen bereik van huis gedetecteerd wordt, zet de Arduino Yun de LED aan.

Het toestel monitor constant de telefoonlocatie en checkt of de gebruiker binnen het thuispers bereik is.

If(isInParametercontroleert of de gebruiker binnen de thuispers is; zo ja, startTurnLEDOnom de LED aan te zetten.ElsevoertTurnLEDOffuit om de LED uit te zetten als de gebruiker buiten bereik is.
De Arduino Yun stelt automatisch de thuispers in op basis van de coördinaten van huis. De Yun creëert een vierkant rondom huis met 4 hoekpunten. Als de gebruiker binnen het vierkant is, gaat de LED aan; anders uit. De standaardbereik is ongeveer 60 meter in alle richtingen vanaf het instelpunt.


Voordelen
De gebruiker van dit project heeft de volgende voordelen:
- Lichten gaan automatisch aan bij binnenkomst
- Mensen thuis worden gewaarschuwd dat de gebruiker er aankomt
Het Project Bouwen
Stap 1: Benodigde Apparatuur
- 1× Arduino Yun
- 1× Breadboard
- 1× Weerstand (220Ω)
- 1× Smartphone
- Jumper Wires

Stap 2: De Schakeling Aansluiten
De fysieke schakeling bestaat uit een LED en weerstand. Hier is het schema:

Stap 3: Je Geolocatie Bepalen
Bepaal de GPS-coördinaten van je huis. De onderstaande afbeeldingen illustreren het proces.




Stap 4: Blynk Instellen
Een Blynk-account is vereist. Download de Blynk-app uit de App Store of Google Play en volg de onderstaande stappen.











Stap 5: De Code Begrijpen
De code heeft 3 hoofddelen:
- Geolocatie uitlezen
- Locatie plotten
- LED-besturing
Geolocatie Uitlezen
BLYNK_WRITE(V0) // sla geolocatie op in variabelen
{
latitude = param[0].asFloat();
longitude = param[1].asFloat();
// debugging? - Overweeg de regels hieronder te uncommenten en handmatig te testen
// latitude = 67.357899;
// longitude = -8.259199;
}
Deze code leest de geolocatie van de Blynk Virtual Pin en slaat de waarden op in variabelen. Het debug-gedeelte stelt je in om het apparaat te testen door een vaste locatie in te voeren.
Locatie Plotten
if(latitude <= maxLat && latitude >= minLat &&
maxLng >= longitude && minLng >= longitude) {
geolocation = 1;
} else {
geolocation = 0;
}
Deze code controleert of de telefoonlocatie binnen de ingestelde thuispers valt. Er wordt automatisch een vierkant rondom de ingevoerde geolocatie gevormd.
LED-besturing
if(geolocation == 1) // LED aan als telefoon in perimeterv
{
digitalWrite(pinLED, HIGH);
} else {
digitalWrite(pinLED, LOW);
}
Deze simpele code zet de LED aan als de gebruiker thuiskomt of thuis is, en uit als de gebruiker weg is.
Variabelen Instellen
Er zijn een paar waarden in te stellen: vul je Blynk Auth Token (ontvangen per e-mail bij stap 4) in de auth[]-variabele. Vul je thuiscoördinaten (latitude/longitude) in bij myLocationLat en myLocationLng. Controleer of je debugt; zo niet, zet proDebug op 0 om seriële prints te voorkomen. Als je wel debugt, wil je misschien dat de Arduino een vaste geolocatie ontvangt in plaats van die van je telefoon – zie de instructies in de BLYNK_WRITE-lus.
Bibliotheken
- Bridge – copyright (c) Arduino LLC onder GNU LGPL, in het publieke domein.
- Blynk – uitgebracht onder MIT-licentie.
Eindstap
Sluit je Arduino Yun aan op de computer en upload de code. Dit project vereist een Arduino Yun; met kleine code-aanpassingen kan het op elke microcontroller met ingebouwde WiFi of een WiFi-module draaien. Let op: mobiele data is vereist voor werking onderweg.
Achtergrond
Dit is een project dat ik al lang wilde realiseren. Het basisidee: wanneer de gebruiker het huis naderen, gaan de lichten aan. Ik heb het niet aan mijn huislampen gekoppeld maar een LED gebruikt als proof-of-concept. Als je dit wilt koppelen aan je huislampen, voeg dan een relay toe op dezelfde pin als de LED en sluit deze aan op de draden van je verlichting. Test eerst het project om de wiring te verifiëren. Veel succes!

Code
lightsOnEnter
De complete code.
lightsOnEnter (ESP8266-aanpassing)
Code-aanpassing voor het gebruik van een ESP8266 in plaats van de Yún. Elk 5V Arduino-board kan de code draaien.
Schema's

schematics_J7lseyIN3G.fzz
Productieproces
- LED helderheid regelen met PWM via drukknop op Arduino Mega
- Arduino Digitale Dobbelsteen: Bouw Je Eigen LCD-willekeurige Getalgenerator
- Een Arduino Iron Man bouwen: onderdelen, sensoren en stapsgewijze handleiding
- Find Me: Slimme Item Locator met Arduino en Bluetooth
- Monitor Je Huistemperatuur Overal met Arduino Cloud Integratie
- Bouw een Functionele, Arduino-aangedreven 3D-geprinte Robotarm – Stap-voor-Stap Handleiding
- DIY Arduino Luchtbevochtiger Controller met Relais – Veilige Hoogspanningsopstelling
- NeoPixel Matrix Pong op Arduino Nano: Bouw je eigen neon Pong-spel
- Bouw een Aangepaste Arduino Joystick Stuurwiel voor Gaming
- Bouw een krachtige FM-radio ontvanger met Arduino en TEA5767 module
- Arduino 101: Bouw een teller met DHT11 sensor & LCD display