Éclairage intelligent : Allumez votre maison à votre arrivée avec Arduino et iPhone
Composants et fournitures
| Composant | Quantité |
|---|---|
| Arduino Yun | 1 |
| LED (générique) | 1 |
| Résistance 221 Ω | 1 |
| Plaque d'essai (breadboard) | 1 |
| Fils de connexion (jumper wires) | 1 |
| Apple iPhone | 1 |
Applications et services en ligne
- Arduino Web Editor
- Blynk
À propos de ce projet
Vue d'ensemble
Avez-vous déjà rêvé que les lumières de votre maison s'allument quand vous vous approchez de votre maison, pour ne jamais entrer dans l'obscurité ? Cet appareil vise à faire tout cela pour vous, afin que vos lumières soient allumées quand vous vous approchez de votre maison en utilisant le GPS. Les lumières resteront allumées lorsque vous serez à l'intérieur de la maison.

Fonctionnement
Ce projet utilise Blynk pour fonctionner. Blynk nécessite des données mobiles pour fonctionner en déplacement, elles doivent donc être activées pour que ce projet fonctionne. Notez qu'un compte et une application Blynk sont nécessaires pour exécuter ce projet. Ce projet fonctionne assez simplement : Blynk surveille la géolocalisation du téléphone et envoie le flux à l'Arduino Yún. L'Arduino Yun compare la géolocalisation du téléphone à la position de la maison (la maison est définie manuellement par l'utilisateur). Lorsque le téléphone est détecté dans la portée de la maison, l'Arduino Yun allumera la LED. Voici une image illustrant cela.

L'appareil surveillera constamment la position du téléphone de l'utilisateur, vérifiant toujours si l'utilisateur est dans la portée de la maison. Voici une image illustrant l'aperçu du code.

If(isInParametervérifiera si l'utilisateur est dans le périmètre de la maison. Si c'est le cas, la fonctionTurnLEDOncommencera et allumera la LED.Elseexécutera l'instructionTurnLEDOffqui éteindra la LED si l'utilisateur n'est pas dans le périmètre de la maison.
L'Arduino Yun définira automatiquement les paramètres de la maison selon les coordonnées de celle-ci. Le Yun créera un carré autour de la maison, avec 4 points dans chaque coin. De cette façon, si l'utilisateur est à l'intérieur du carré, l'appareil allume la LED, sinon, il l'éteint. La portée par défaut pour le carré est d'environ 60 mètres dans toutes les directions à partir du point de configuration.
Voici quelques images montrant l'appareil en action.


Avantages
L'utilisateur utilisant ce projet bénéficiera de :
- Allumage facile des lumières en entrant à la maison
- Notification aux personnes à la maison que l'utilisateur arrive bientôt
Construction du projet
Étape 1 : Appareils requis
Il y a quelques éléments nécessaires pour ce projet, la liste est ci-dessous.
- 1 Arduino Yun
- 1 Plaque d'essai (breadboard)
- 1 Résistance (220 Ω)
- 1 Smartphone
- Fils de connexion (Jumper Wires)

Étape 2 : Connexion du circuit
Ce projet a un circuit physique consistant en une LED et une résistance. Voici une image du schéma du projet.

Étape 3 : Obtenir votre géolocalisation
L'étape suivante consiste à déterminer les coordonnées de géolocalisation de votre maison. Les images ci-dessous illustreront ce processus.




Étape 4 : Configuration de Blynk
Un compte Blynk est requis pour utiliser ce projet. Vous devrez télécharger l'application Blynk depuis l'App Store ou Google Play pour commencer. Suivez maintenant les images ci-dessous pour configurer Blynk.











Étape 5 : Comprendre le code
Le code de ce projet a 3 sections principales :
- Lire la géolocalisation
- Tracer la position
- Contrôle de la LED
Ces sections seront expliquées ci-dessous.
- Lire la géolocalisation
BLYNK_WRITE(V0) // stocker la géolocalisation dans une variable
{
latitude = param[0].asFloat();
longitude = param[1].asFloat();
// débogage ? - Envisagez de décommenter les lignes ci-dessous et testez manuellement
// latitude = 67.357899;
// longitude = -8.259199;
}
Cette section du code lit la géolocalisation depuis la broche virtuelle Blynk et stocke les valeurs dans des variables. La section de débogage vous permet de déboguer l'appareil en entrant une position spécifique. Notez que les valeurs lues sont les coordonnées de votre téléphone.
- Tracer la position
if (latitude <= maxLat && latitude >= minLat && // vérifier si le téléphone est dans les paramètres
maxLng >= longitude && minLng <= longitude) {
geolocation = 1;
} else {
geolocation = 0;
}
Cette partie du code vérifie si la position du téléphone est dans les paramètres définis comme maison. Notez qu'un carré est automatiquement formé autour de la géolocalisation insérée, et l'Arduino vérifie si le téléphone est à l'intérieur du carré.
- Contrôle de la LED
if (geolocation == 1) // allumer la LED si le téléphone est dans le périmètre
{
digitalWrite(pinLED, HIGH);
} else {
digitalWrite(pinLED, LOW);
}
La dernière partie simple du code allume la LED si l'utilisateur approche ou est à la maison et l'éteint si l'utilisateur est loin.
Configuration des variables
Il y a quelques valeurs à définir dans ce projet. Pour commencer, entrez votre Blynk Auth Token reçu par email lors de l'étape de configuration Blynk dans la variable auth[]. Prenez ensuite la latitude et la longitude de la géolocalisation de votre maison et insérez-les dans les variables myLocationLat et myLocationLng. La dernière étape est de vérifier si vous êtes en mode débogage. Si ce n'est pas le cas, envisagez de définir proDebug à 0 pour empêcher les impressions série. Si vous déboguez, vous voudrez peut-être que l'Arduino reçoive une géolocalisation fixe au lieu de celle de votre téléphone. Si vous allez dans la boucle BLYNK_WRITE, il y a des instructions supplémentaires.
Bibliothèques
- Bridge - copyright (c) Arduino LLC sous licence GNU Lesser General Public Licence, cette bibliothèque est dans le domaine public.
- Blynk - Blynk, cette bibliothèque est publiée sous licence MIT (MIT)
Finalisation
L'étape finale consiste à connecter votre Arduino Yun à l'ordinateur et à téléverser le code. Ce projet nécessite un Arduino Yun pour fonctionner. Avec de légères modifications du code, il est possible d'exécuter ce projet sur n'importe quel microcontrôleur ayant le WiFi intégré ou vous pourriez attacher un module WiFi à un appareil Arduino. Notez que les données mobiles sont requises pour que le projet fonctionne en déplacement.
Contexte
C'est un projet que je voulais mettre en œuvre depuis longtemps. Il a une idée de base derrière : quand l'utilisateur approche de la maison, les lumières de la maison s'allument. Je n'ai pas connecté ce projet aux lumières de ma maison mais j'ai utilisé une LED à la place. Si vous souhaitez connecter ce projet aux lumières de votre maison, vous pouvez ajouter un relais et le connecter à la même broche sur l'Arduino que la LED et aussi le connecter aux fils reliant vos lumières à l'alimentation. Mais d'abord, testez le projet pour vous assurer que le câblage est correct et que le projet fonctionne. Bonne chance !

Code
lightsOnEnter
Le code complet
lightsOnEnter (adaptation ESP8266)
L'adaptation du code pour utiliser un ESP8266 au lieu du Yún. Toute carte Arduino 5V pourra exécuter le code.
Schémas

schematics_J7lseyIN3G.fzz
Processus de fabrication
- Contrôler la Luminosité de LEDs par PWM avec un Bouton Poussoir sur Arduino Mega
- Dé numérique Arduino sur écran LCD 16x2 – Générateur aléatoire à bouton poussoir
- Construire un Iron Man animé avec Arduino : capteurs, sons et relais
- Find Me : Localisateur d'objets intelligent avec Arduino et Bluetooth
- Surveiller la température de votre maison n'importe où avec Arduino Cloud
- Construire un bras robotique 3D fonctionnel piloté par Arduino – Guide pas à pas
- Contrôleur d'humidificateur DIY avec Arduino et relais – Installation haute tension sécurisée
- Jeu Pong sur Matrice NeoPixel avec Arduino Nano
- Volant Joystick Arduino Personnalisé pour Jeux Vidéo