Indholdsfortegnelse:
- Trin 1: Lysfølsom LED
- Trin 2: Mini -afbryder
- Trin 3: Anden fotocelle
- Trin 4: RGB LED
- Trin 5: Temperatursensor
- Trin 6: DAGU Gearmotor
- Trin 7: Kode
Video: EF230 Smart Home -projekt: 7 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
Nødvendige dele og materialer:
- 1 Arduino MKR 1000
- 3 brødbrætter
- 2 mini fotoceller
- 1 NPN -transistorer
- 1 mini afbryder
- 1 LED - RGB (4 ben)
- 1 LED (farve efter eget valg)
- 1 Diode 1N4148
- 1 10K Ohm modstande
- 5 100 Ohm modstand
- 1 Temperatursensor TMP36
- 1 DAGU 48: 1 Ratio Gearmotor
- 25 Jumper Wires
- USB -ledning
- MATLAB -program
-
SIK Experiment Guide til Arduino 101/Genuino 101 Board - SIK Experiment Guide Link
Dette projekt beskriver det konceptuelle design af et smart home system, der ville bruge data til at hjælpe husejere med at optimere deres energiforbrug og sikkerhed. Det inkluderer en lyssensor til at tænde udendørs lys om natten, en lyssensor til sikkerhed og en temperatursensor og blæser til indendørs temperaturkontrol.
Trin 1: Lysfølsom LED
- Den lysfølsomme LED -opsætning er beregnet til at repræsentere udendørs lysene i et hus, der tændes om natten.
- Når mini -fotocellen registrerer en reduceret mængde lys, lyser LED'en.
- For et smart hjem har dette konsekvenser for energi og sikkerhed. Det vil spare energi ved at lade lyset være slukket i løbet af dagen og give øget sikkerhed om natten.
- Den nøjagtige ledning og opsætning for denne del af projektet findes under eksperiment 7 i SIK Experiment Guide.
Trin 2: Mini -afbryder
- Omskifteren er det første trin i sikkerhedsprocessen i det smarte hjem.
- Når den er tændt, starter kontakten et svar, der spørger brugeren, om de ønsker at gå i tilstanden 'Hjem' eller 'væk'.
- Hvis tilstanden 'Hjem' er valgt, betragtes sikkerheden som deaktiveret, men hvis du vælger 'væk', aktiveres sikkerhedssystemet.
- Ledningerne til denne del af projektet kan findes under eksperiment 6 i eksperimentguiden. I forbindelse med det smarte hjem behøver LED'erne og deres forbindelsestråde, der findes i forsøg 6, ikke at være inkluderet.
Trin 3: Anden fotocelle
- Den anden fotocelle tjener som en bevægelsessensor til det intelligente hjemmes sikkerhedssystem.
- Sensoren bruges kun, når systemet sættes i 'væk' -tilstand som beskrevet i det foregående trin.
- Hvis fotocellen oplever et fald i mængden af lys, den modtager, genkender den dette som bevægelse inde i huset.
- Opsætningen til denne del af projektet findes under eksperiment 7 i SIK Experiment Guide. Det er dog kun fotocellen og dens forbindelsestråde, der skal inkluderes i ledningerne.
Trin 4: RGB LED
- RGB -LED'en bruges sammen med mini -afbryderen og den anden fotocelle til sikkerhedssystemet i det smarte hjem.
- De tre forskellige farver bruges som indikatorer for smart home -beboeren.
- Når systemet er placeret i 'Hjem' -tilstand, bliver LED'en blå. Når systemet er placeret i 'væk' -tilstand, lyser LED'en grønt. Når fotocellen, der bruges som en bevægelsessensor, udløses, blinker lyset rødt.
- Ledningerne til RGB LED'en findes i eksperiment 3 i SIK Experiment Guide.
Trin 5: Temperatursensor
- Temperatursensoren er en vigtig del af energibesparelsen i det smarte hjem.
- Beboeren kan indtaste en ønsket temperatur for deres hjem, når det smarte hjem er i brug.
- Temperatursensor er, hvordan systemet ved, hvor langt den faktiske temperatur er fra den ønskede temperatur.
- Opsætning til temperatursensoren findes i forsøg 9 i SIK -eksperimentguiden.
Trin 6: DAGU Gearmotor
- Motoren gør det muligt for det smarte hjem at regulere temperaturen i huset baseret på den ønskede temperatur og målinger af temperatursensoren.
- Som AC -enhed i hjemmet vil motoren dreje med forskellige hastigheder baseret på, hvor meget den faktiske temperatur er højere end den ønskede temperatur. Jo større forskel, jo hurtigere snurrer motoren.
- Ledningerne til motoren findes i eksperimentguiden under forsøg 11.
Trin 7: Kode
- Koden til det smarte hjem indeholder flere brugergrænseflader, der gør det muligt for beboeren let at forstå, hvordan det fungerer og nemt ændre indstillingerne.
- Med smart home -systemet modtager beboeren en e -mail -advarsel, hvis bevægelsessensoren er slukket, mens de er væk.
- Den eneste ændring, der skal foretages, er at indsætte oplysningerne til afsenderens e -mail og modtagerens e -mail -adresse.
klar a; klare s; klart m; clc; luk alle; % Ryd arduino og servo variabler, så de kan redefineres hver gang, så koden kører effektivt ("clear m" er nødvendig for at en af mens loopene skal fungere korrekt) a = arduino (); % Indstil arduino -variablen
s = servo (a, 'D6'); % Indstil servovariablen
% Initialiser e -mailvariabler til advarselsmail til sikkerhedssystem
emails = {'indsæt modtageradresse'}; % Array af e -mails for at få sikkerheds -e -mail sendt til
% Indstillinger for e -mailpræference er nødvendige for at bruge en Gmail til at sende e -mail fra
setpref ('Internet', 'E_mail', 'afsenders e -mail -adresse');
setpref ('Internet', 'SMTP_Username', 'afsenders brugernavn');
setpref ('Internet', 'SMTP_Password', 'afsenders adgangskode');
rekvisitter = 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');
% E -mail -emne- og tekstvariabler
subj = 'Indbrudsadvarsel hjemme hos dig';
text = 'Hej, dette er dit Smart Home -sikkerhedssystem, der informerer dig om, at der er blevet registreret bevægelse uden for dit hjem. Vi har truffet de nødvendige foranstaltninger og kontaktet myndigheder for dig. Pas på dig selv.';
mens det er sandt
prompt = {'Indtast ønsket hjemmetemperatur (mellem 65F og 85F):'}; % Spørg om brugerindtastningsmenu
dlgtitle = 'Temperaturvalg'; % Titel for brugerindtastningsmenu
dæmper = [1 30]; % Dimensioner for brugerindtastningsmenu
definput = {'72'}; % Standardindgang, der vises, når menuen først åbnes
tempsel_array = inputdlg (prompt, dlgtitle, dims, definput); % Popup -brugerindtastningsmenu, der gemmer det indtastede nummer i et array
hvis ~ isempty (tempsel_array) % Hvis matrixen IKKE er tom
tempsel_char = cell2mat (tempsel_array); % Konverter arrayet til en tegnstreng
tempsel = str2double (tempsel_char); % Konverter tegnstrengen til tal
thingSpeakWrite (chID, tempsel, 'WriteKey', writeKey, 'Fields', 1); % Skriv den valgte temperatur til din ThingSpeak -kanal
break % Break from the while loop, så menuen ikke dukker op flere gange
ellers % Hvis brugeren klikker, annuller i stedet for at indtaste en temperatur
msg1 = msgbox ('Ingen temperatur valgt, som standard 85F', 'Advarsel!'); % Besked vises til bruger efter klik på annuller
waitfor (msg1); % Vent på, at meddelelsesboksen lukkes, før du fortsætter
tempsel = 85; % Indstil temperaturen til det, der stod i meddelelsesboksen
thingSpeakWrite (chID, tempsel, 'WriteKey', writeKey, 'Fields', 1); % Skriv den valgte temperatur til din ThingSpeak -kanal
break % Break from the while loop, så menuen ikke dukker op flere gange
ende
ende
mens det er sandt
chID = 745517; % ThingSpeak -kanal -id
writeKey = 'G9XOQTP8KOVSCT0N'; % Nøgle til adgang til ThingSpeak -kanalen
% Initialiser sensorer for at hente data
tempread = readVoltage (a, 'A3'); % Læs spændingen på temperatursensoren
lightl1 = readVoltage (a, 'A2'); % Lysniveau for fotoresistoren, der går til den røde LED
lightl2 = readVoltage (a, 'A5'); % Lysniveau for fotoresistoren, der går til sikkerhedssystemet
switchv = readVoltage (a, 'A0'); % Værdi for kontakten
% Konverter temperaturdata fra spænding til grader Fahrenheit
tempC = (tempread - 0,5) * 100; % Konverter spænding til temperatur i Celsius
tempF = (tempC * 9/5) + 32; % Konverter temperaturen i Celsius til temperaturen i Fahrenheit
% Initialiser pin -numrene for flerfarvet LED
redp = 'D9'; % Pin til rødt lys fra LED
greenp = 'D10'; % Pin til grønt lys fra LED
bluep = 'D11'; % Pin til blåt lys fra LED
hvis tempsel <tempF % Hvis den valgte temperatur er større end rumtemperaturen
writePosition (s, 1); % Servo begynder at bevæge sig
pause (10) % Servo vil blive ved med at dreje i 10 sekunder for at repræsentere, at vekselstrømmen ville slukke efter et bestemt tidsrum
writePosition (s, 0); % Sluk blæseren for at fortsætte koden uden ventilator tændt
tempsel = 150; % Skift temperaturværdien for at bryde ud af sløjfen, efter at blæseren er slukket, igen bare med det formål at fortsætte koden
ende
hvis lightl1 <= 3 % Hvis den første fotoresistor registrerer et lavt lysniveau
writeDigitalPin (a, 'A1', 1); % Tænd for rød LED, der repræsenterer udendørs lys
ellers % Hvis lysniveauet er højt igen
writeDigitalPin (a, 'A1', 0); % Sluk for den røde LED, når lysniveauet er højt nok igen
ende
hvis switchv> 3 % Hvis kontakten er tændt
A = findes ('m', 'var'); % Kontroller, om der er variabel 'm', dette initialiseres for mens loop og tillader, at det brydes, når et menupunkt vælges (det er derfor, at klart m skal udføres i starten af koden)
mens A == 0 % Loop udføres, indtil variablen 'm' eksisterer
menutext = 'Hvilken sikkerhedstilstand vil du gerne gå ind?'; % Tekst til popup -menuen til sikkerhed
choice = {'Home', 'Away'}; % Valg til popup -menuen til sikkerhed
m = menu (menutekst, valgmuligheder); % Popup -menu til sikkerhedssystemtilstande
break % Sikrer, at mens loop er brudt, så menuen ikke dukker op flere gange
ende
hvis m == 1 % Hvis tilstanden 'Hjem' er valgt
writeDigitalPin (a, bluep, 1); % Tænd kun for blåt lys i den farveændrende LED
writeDigitalPin (a, redp, 0);
writeDigitalPin (a, greenp, 0);
elseif m == 2 % Hvis tilstanden 'væk' er valgt
writeDigitalPin (a, bluep, 0);
writeDigitalPin (a, redp, 0);
writeDigitalPin (a, greenp, 1); % Tænd kun for det grønne lys i den farveændrende LED
hvis lightl2 <= 3 % Hvis lysniveauet i den anden fotoresistor er lavt, repræsenterer bevægelse detekteret af sikkerhedssystemet
sendmail (e -mails, subj, tekst); % Send en e -mail med de tidligere definerede e -mail -egenskaber writeDigitalPin (a, greenp, 0); % Blinker rød farve 2 gange
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); % Afslut med fast rød efter at have blinket for at vise, at der er bevægelse, indtil lysniveauet går op igen
msg2 = msgbox ('Indbrud opdaget af sikkerhedssystemet, en e -mail er sendt til husejerne for at informere dem.', 'ADVARSEL!'); % Beskedboks for at informere brugeren om bevægelse og for at informere om den e -mail, der er sendt til (msg2) % Vent på, at meddelelsesboksen lukkes, før du fortsætter
andet
writeDigitalPin (a, greenp, 1); % Når lysniveauet er steget igen, skifter det tilbage til grønt
ende
ende
elseif switchv <3,3 % Hvis kontakten er slukket
writeDigitalPin (a, bluep, 0); % Sluk lysdioden helt for at vise, at sikkerhedssystemet er slukket
writeDigitalPin (a, redp, 0);
writeDigitalPin (a, greenp, 0);
ende
ende
Anbefalede:
Smart Home af Raspberry Pi: 5 trin (med billeder)
Smart Home af Raspberry Pi: Der er allerede flere produkter derude, der gør din lejlighed smartere, men de fleste af dem er proprietære løsninger. Men hvorfor har du brug for en internetforbindelse for at skifte lys med din smartphone? Det var en af grundene til at jeg byggede mit eget Smar
STONE LCD Med Smart Home: 5 trin
STONE LCD With Smart Home: I dag fik jeg STONEs serielle portdrevdisplay, som kan kommunikere via MCUs serielle port, og UI -logikdesignet på denne skærm kan designes direkte ved hjælp af VGUS -softwaren på STONEs officielle websted, hvilket er meget indkvartering
DIY Smart Garage Door Opener + Home Assistant Integration: 5 trin
DIY Smart Garage Door Opener + Home Assistant Integration: Gør din normale garageport smart ved hjælp af dette DIY -projekt. Jeg vil vise dig, hvordan du bygger det og styrer det ved hjælp af Home Assistant (over MQTT) og har mulighed for eksternt at åbne og lukke din garageport.Jeg bruger et ESP8266 -bord kaldet Wemos
Lav et Smart Home -kontrolsystem på STONE HMI Disp: 23 trin
Lav et Smart Home Control System på STONE HMI Disp: Projekt introduktion Følgende vejledning viser dig, hvordan du bruger STONE STVC050WT-01 berøringsskærmsmodul til at lave et simpelt kontrolsystem til husholdningsapparater
Sonoff B1 Firmware Home Automation Openhab Google Home: 3 trin
Sonoff B1 Firmware Home Automation Openhab Google Home: Jeg kan virkelig godt lide Tasmota -firmwaren til mine Sonoff -switches. Men a var ikke rigtig tilfreds med Tasmota-firmwaren på min Sonoff-B1. Det lykkedes ikke fuldt ud at integrere det i min Openhab og kontrollere det via Google Home. Derfor skrev jeg mit eget firma