Table des matières:
- Étape 1: LED sensible à la lumière
- Étape 2: Mini interrupteur d'alimentation
- Étape 3: Deuxième cellule photoélectrique
- Étape 4: LED RVB
- Étape 5: Capteur de température
- Étape 6: Motoréducteur DAGU
- Étape 7: Coder
Vidéo: Projet de maison intelligente EF230 : 7 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:08
Pièces et matériaux nécessaires:
- 1 Arduino MKR1000
- 3 planches à pain
- 2 mini photocellules
- 1 transistors NPN
- 1 mini interrupteur d'alimentation
- 1 LED – RVB (4 broches)
- 1 LED (couleur au choix)
- 1 diode 1N4148
- 1 résistances 10K Ohm
- 5 100 Ohms Résistance
- 1 capteur de température TMP36
- 1 Motoréducteur à rapport DAGU 48:1
- 25 fils de cavalier
- Cordon USB
- Programme MATLAB
-
Guide d'expérimentation SIK pour la carte Arduino 101/Genuino 101 - Lien du guide d'expérimentation SIK
Ce projet détaille la conception d'un système de maison intelligente qui utiliserait les données pour aider les propriétaires à optimiser leur consommation d'énergie et leur sécurité. Il comprend un capteur de lumière pour allumer les lumières extérieures la nuit, un capteur de lumière pour la sécurité et un capteur de température et un ventilateur pour le contrôle de la température intérieure.
Étape 1: LED sensible à la lumière
- La configuration LED sensible à la lumière est destinée à représenter les lumières extérieures d'une maison qui s'allument la nuit.
- Lorsque la mini cellule photoélectrique détecte une quantité réduite de lumière, la LED s'allume.
- Pour une maison intelligente, cela a des implications énergétiques et de sécurité. Il économisera de l'énergie en laissant les lumières éteintes pendant la journée et offrira une sécurité accrue la nuit.
- Le câblage et la configuration exacts de cette partie du projet peuvent être trouvés sous l'expérience 7 dans le guide d'expérience SIK.
Étape 2: Mini interrupteur d'alimentation
- Le commutateur est la première étape du processus de sécurité de la maison intelligente.
- Lorsqu'il est allumé, le commutateur initiera une réponse demandant à l'utilisateur s'il souhaite entrer en mode « À la maison » ou en mode « Absent ».
- Si le mode « Maison » est sélectionné, la sécurité est considérée comme désarmée, mais la sélection du mode « Absent » armera le système de sécurité.
- Le câblage pour cette partie du projet se trouve sous l'expérience 6 dans le guide d'expérience. Aux fins de la maison intelligente, les LED et leurs fils de connexion trouvés dans l'expérience 6 n'ont pas besoin d'être inclus.
Étape 3: Deuxième cellule photoélectrique
- La deuxième cellule photoélectrique sert de détecteur de mouvement pour le système de sécurité de la maison intelligente.
- Le capteur n'est utilisé que lorsque le système est mis en mode « Absent » comme décrit à l'étape précédente.
- Si la cellule photoélectrique subit une diminution de la quantité de lumière qu'elle reçoit, elle la reconnaît comme un mouvement à l'intérieur de la maison.
- La configuration de cette partie du projet se trouve sous l'expérience 7 dans le guide d'expérience SIK. Cependant, seule la cellule photoélectrique et ses fils de connexion doivent être inclus dans le câblage.
Étape 4: LED RVB
- La LED RVB est utilisée conjointement avec le mini interrupteur d'alimentation et la deuxième cellule photoélectrique pour le système de sécurité de la maison intelligente.
- Les trois couleurs différentes sont utilisées comme indicateurs pour le résident de la maison intelligente.
- Lorsque le système est placé en mode 'Home', la LED devient bleue. Lorsque le système est placé en mode « Absent », la LED devient verte. Lorsque la photocellule utilisée comme détecteur de mouvement est déclenchée, le voyant clignote en rouge.
- Le câblage de la LED RVB se trouve dans l'expérience 3 du Guide d'expérimentation SIK.
Étape 5: Capteur de température
- Le capteur de température est un élément majeur de la conservation de l'énergie dans la maison intelligente.
- Le résident est en mesure d'entrer une température souhaitée pour sa maison lorsque la maison intelligente est en cours d'utilisation.
- Le capteur de température est la façon dont le système sait à quelle distance la température réelle est de la température souhaitée.
- La configuration du capteur de température se trouve dans l'expérience 9 du Guide d'expérimentation SIK.
Étape 6: Motoréducteur DAGU
- Le moteur permet à la maison intelligente de réguler la température dans la maison en fonction de la température souhaitée et des lectures du capteur de température.
- Agissant comme l'unité AC dans la maison, le moteur tournera à différentes vitesses en fonction de la valeur de la température réelle supérieure à la température souhaitée. Plus la différence est élevée, plus le moteur tourne vite.
- Le câblage du moteur se trouve dans le guide d'expérience sous l'expérience 11.
Étape 7: Coder
- Le code de la maison intelligente comprend plusieurs interfaces utilisateur qui permettent au résident de comprendre facilement son fonctionnement et de modifier facilement les paramètres.
- Avec le système de maison intelligente, le résident recevra une alerte par e-mail si le détecteur de mouvement est déclenché pendant son absence.
- La seule modification à apporter consiste à insérer les informations relatives à l'e-mail de l'expéditeur et à l'adresse e-mail du destinataire.
effacer un; effacer s; effacer m; clc; ferme tout; % Effacer les variables arduino et servo afin qu'elles puissent être redéfinies à chaque fois afin que le code s'exécute efficacement ("effacer m" est nécessaire pour que l'une des boucles while fonctionne correctement)a = arduino(); % Définir la variable arduino
s = servo(a, 'D6'); % Réglez la variable d'asservissement
% Initialiser les variables de courrier électronique pour le courrier électronique d'avertissement du système de sécurité
emails = {'insérer l'adresse du destinataire'}; % Tableau d'e-mails auxquels envoyer l'e-mail de sécurité
% Paramètres de préférence d'e-mail nécessaires à l'utilisation d'un Gmail pour envoyer des e-mails à partir de
setpref('Internet', 'E_mail', 'adresse e-mail de l'expéditeur');
setpref('Internet', 'SMTP_Username', 'nom de l'expéditeur');
setpref('Internet', 'SMTP_Password', 'mot de passe de l'expéditeur');
props = java.lang. System.getProperties;
props.setProperty('mail.smtp.auth', 'true');
props.setProperty('mail.smtp.socketFactory.class', 'javax.net.ssl. SSLSocketFactory'); props.setProperty('mail.smtp.socketFactory.port', '465');
% Objet de l'e-mail et variables de texte
subj = 'Alerte d'intrusion à votre domicile';
text = 'Bonjour, Ceci est votre système de sécurité Smart Home vous informant qu'un mouvement a été détecté à l'extérieur de votre maison. Nous avons pris les mesures nécessaires et contacté les autorités pour vous. Être prudent.';
bien que vrai
prompt = {'Entrez la température de la maison désirée (entre 65F et 85F):'}; % Invite pour le menu de saisie utilisateur
dlgtitle = 'Sélection de température'; % Titre du menu de saisie utilisateur
dim = [1 30]; % Dimensions pour le menu de saisie utilisateur
definput = {'72'}; % Entrée par défaut qui s'affiche lorsque le menu est ouvert pour la première fois
tempsel_array = inputdlg(invite, dlgtitle, dims, definput); % Menu contextuel de saisie de l'utilisateur qui enregistrera le nombre saisi dans un tableau
if ~isempty(tempsel_array) % Si le tableau n'est PAS vide
tempsel_char = cell2mat(tempsel_array); % Convertir le tableau en chaîne de caractères
tempsel = str2double(tempsel_char); % Convertir la chaîne de caractères en nombres
choseSpeakWrite(chID, tempsel, 'WriteKey', writeKey, 'Champs', 1); % Écrivez la température sélectionnée sur votre canal ThingSpeak
break % Pause de la boucle while pour que le menu ne s'affiche pas plusieurs fois
sinon % Si l'utilisateur clique sur annuler au lieu de saisir une température
msg1 = msgbox('Aucune température sélectionnée, par défaut à 85F', 'Avertissement !'); % Message affiché à l'utilisateur après avoir cliqué sur annuler
attendre(msg1); % Attendez que la boîte de message se ferme avant de continuer
tempsel = 85; % Réglez la température à ce qui a été indiqué dans la boîte de message
choseSpeakWrite(chID, tempsel, 'WriteKey', writeKey, 'Champs', 1); % Écrivez la température sélectionnée sur votre canal ThingSpeak
break % Pause de la boucle while pour que le menu ne s'affiche pas plusieurs fois
finir
finir
bien que vrai
ID d'enfant = 745517; % ID de canal ThingSpeak
writeKey = 'G9XOQTP8KOVSCT0N'; % Clé pour accéder au canal ThingSpeak
% Initialiser les capteurs pour récupérer les données
tempread = readVoltage(a, 'A3'); % Lire la tension du capteur de température
lightl1 = readVoltage(a, 'A2'); % Niveau de lumière pour la photorésistance allant à la LED rouge
lightl2 = readVoltage(a, 'A5'); % Niveau de lumière pour la photorésistance allant au système de sécurité
switchv = readVoltage(a, 'A0'); % Valeur pour le commutateur
% Convertir les données de température de la tension en degrés Fahrenheit
tempC = (tempread - 0,5) * 100; % Convertir la tension en température en Celsius
tempF = (tempC * 9/5) + 32; % Convertir la température en Celsius en température en Fahrenheit
% Initialiser les numéros de broche pour la LED multicolore
redp = 'D9'; % Broche pour la lumière rouge de la LED
vertp = 'D10'; % Broche pour la lumière verte de la LED
bleup = 'D11'; % Pin pour la lumière bleue de la LED
si tempsel < tempF % Si la température sélectionnée est supérieure à la température ambiante
écriturePosition(s, 1); % Le servo commencera à bouger
pause(10) % Le servo continuera de tourner pendant 10 secondes pour indiquer que le courant alternatif s'éteindra après un laps de temps spécifié
écriturePosition(s, 0); % Éteignez le ventilateur dans le but de continuer le code sans ventilateur allumé
tempsel = 150; % Modifiez la valeur de température pour sortir de la boucle après l'arrêt du ventilateur, encore une fois dans le seul but de continuer le code
finir
if lightl1 <= 3 % Si la première photorésistance détecte un faible niveau de luminosité
writeDigitalPin(a, 'A1', 1); % Allumez la LED rouge qui représente les lumières extérieures
sinon % Si le niveau de luminosité est à nouveau élevé
writeDigitalPin(a, 'A1', 0); % Éteignez la LED rouge lorsque le niveau de lumière est à nouveau suffisamment élevé
finir
si switchv > 3 % Si le switch est allumé
A = exist('m', 'var'); % Vérifiez l'existence de la variable 'm', cela initialisera la boucle while et permettra de la rompre lorsqu'un élément de menu est sélectionné (c'est pourquoi clear m doit être fait au début du code)
tandis que A==0 % La boucle s'exécutera jusqu'à ce que la variable 'm' existe
menutext = 'Dans quel mode de sécurité souhaitez-vous entrer ?'; % Texte pour le menu contextuel de sécurité
choix = {'Domicile', 'Absent'}; % Choix pour le menu contextuel de sécurité
m = menu(texte de menu, choix); % Menu contextuel pour les modes du système de sécurité
break % Garantit que la boucle while est rompue afin que le menu ne s'affiche pas plusieurs fois
finir
si m == 1 % Si le mode 'Home' est sélectionné
writeDigitalPin(a, bluep, 1); % Allumez uniquement la lumière bleue dans la LED qui change de couleur
writeDigitalPin(a, redp, 0);
writeDigitalPin(a, greenp, 0);
elseif m == 2 % Si le mode 'Absent' est sélectionné
writeDigitalPin(a, bluep, 0);
writeDigitalPin(a, redp, 0);
writeDigitalPin(a, greenp, 1); % Allumez uniquement le voyant vert de la LED à changement de couleur
if lightl2 <= 3 % Si le niveau de lumière dans la deuxième photorésistance est faible, représentant un mouvement détecté par le système de sécurité
sendmail (e-mails, envoi, texte); % Envoyer un e-mail avec les propriétés d'e-mail précédemment définies writeDigitalPin(a, greenp, 0); % Flash couleur rouge allumé et éteint 2 fois
writeDigitalPin(a, redp, 1);
pause (0,3)
writeDigitalPin(a, redp, 0);
pause (0,3)
writeDigitalPin(a, redp, 1);
pause (0,3)
writeDigitalPin(a, redp, 0);
pause (0,3)
writeDigitalPin(a, redp, 1); % Terminez en rouge fixe après avoir clignoté pour indiquer qu'il y a un mouvement jusqu'à ce que le niveau de lumière remonte
msg2 = msgbox('Intrus détecté par le système de sécurité, un email a été envoyé aux propriétaires pour les informer.', 'ATTENTION !'); % Boîte de message pour informer l'utilisateur du mouvement et pour informer de l'e-mail envoyé waitfor(msg2) % Attendez que la boîte de message se ferme avant de continuer
autre
writeDigitalPin(a, greenp, 1); % Une fois que le niveau de lumière a de nouveau augmenté, il redevient vert
finir
finir
elseif switchv < 3,3 % Si le switch est éteint
writeDigitalPin(a, bluep, 0); % Éteignez complètement la LED pour indiquer que le système de sécurité est éteint
writeDigitalPin(a, redp, 0);
writeDigitalPin(a, greenp, 0);
finir
finir
Conseillé:
Maison intelligente à distance : 5 étapes
Maison intelligente à distance: Materialen:dunne gelamineerde hout plateau. 1 x grondplaat met een diamètre van 1 cmkleine nagels2 x breadboards plakbandveel kabels rencontré diamètre 0,3 cmveel jumper kabels gereedschap:boormachinelijmpistoolsoldeerboutschroevendra
Comment créer une maison intelligente à l'aide du module de relais de contrôle Arduino - Idées domotiques : 15 étapes (avec photos)
Comment créer une maison intelligente à l'aide du module de relais de contrôle Arduino | Idées de domotique : Dans ce projet de domotique, nous allons concevoir un module de relais domestique intelligent qui peut contrôler 5 appareils ménagers. Ce module relais peut être contrôlé à partir d'un mobile ou d'un smartphone, d'une télécommande IR ou d'une télécommande TV, interrupteur manuel. Ce relais intelligent peut également détecter le r
Fabriquer une télécommande d'aspect professionnel pour votre projet Arduino à la maison : 9 étapes (avec photos)
Faire une télécommande d'aspect professionnel pour votre projet Arduino à la maison : j'ai fait un projet qui a utilisé un arduino et une bibliothèque à distance IR pour contrôler quelques choses. Donc, dans cette instructable, je vais vous montrer comment vous pouvez réutiliser n'importe quelle télécommande pour être utilisé votre prochain projet. Et vous n'avez besoin de rien d'extraordinaire pour faire de bonnes toilettes
Rideaux de maison automatisés - Mini projet avec le module BluChip (nRF51 BLE) de MakerChips : 7 étapes (avec images)
Rideaux de maison automatisés - Mini projet avec le module BluChip (nRF51 BLE) de MakerChips : imaginez vous réveiller et vouloir avoir un rayon de soleil à travers vos fenêtres, ou fermer les rideaux pour que vous puissiez dormir plus loin, sans l'effort de vous rapprocher de vous aux rideaux mais plutôt d'une simple pression sur un bouton de votre smartph
Graveur alimenté par USB ! Ce projet peut brûler à travers les plastiques/bois/papier (le projet amusant doit également être du bois très fin) : 3 étapes
Graveur alimenté par USB ! Ce projet peut brûler à travers du plastique/du bois/du papier (le projet amusant doit également être du bois très fin) : NE PAS FAIRE CELA EN UTILISANT UN USB !!!! J'ai découvert qu'il peut endommager votre ordinateur à partir de tous les commentaires. mon ordinateur va bien. Utilisez un chargeur de téléphone 600ma 5v. Je l'ai utilisé et cela fonctionne bien et rien ne peut être endommagé si vous utilisez une prise de sécurité pour arrêter l'alimentation