Innehållsförteckning:
- Steg 1: Ljuskänslig LED
- Steg 2: Mini -strömbrytare
- Steg 3: Andra fotocellen
- Steg 4: RGB LED
- Steg 5: Temperatursensor
- Steg 6: DAGU -växelmotor
- Steg 7: Kod
Video: EF230 Smart Home Project: 7 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:45
Nödvändiga delar och material:
- 1 Arduino MKR 1000
- 3 brödbrädor
- 2 minifotoceller
- 1 NPN -transistorer
- 1 mini strömbrytare
- 1 LED - RGB (4 stift)
- 1 LED (valfri färg)
- 1 diod 1N4148
- 1 10K Ohm motstånd
- 5 100 Ohm motstånd
- 1 temperatursensor TMP36
- 1 DAGU 48: 1 Ratio Gearmotor
- 25 hopptrådar
- USB -sladd
- MATLAB -program
-
SIK Experiment Guide för Arduino 101/Genuino 101 Board - SIK Experiment Guide Link
Detta projekt beskriver den konceptuella utformningen av ett smart hemsystem som skulle använda data för att hjälpa husägare att optimera sin energianvändning och säkerhet. Den innehåller en ljussensor för att tända utomhusbelysning på natten, en ljussensor för säkerhet och en temperatursensor och fläkt för temperaturkontroll inomhus.
Steg 1: Ljuskänslig LED
- Den ljuskänsliga LED -inställningen är avsedd att representera utomhusbelysningen i ett hus som tänds på natten.
- När minifotocellen känner av en minskad mängd ljus tänds lysdioden.
- För ett smart hem har detta konsekvenser för energi och säkerhet. Det sparar energi genom att släcka lamporna under dagen och ger ökad säkerhet på natten.
- Den exakta ledningen och inställningen för denna del av projektet finns under experiment 7 i SIK Experiment Guide.
Steg 2: Mini -strömbrytare
- Växeln är det första steget i säkerhetsprocessen för det smarta hemmet.
- När den är påslagen kommer omkopplaren att initiera ett svar som frågar användaren om de vill gå till "Hem" -läge eller "Borta" -läge.
- Om "Hem" -läget är valt anses säkerheten vara avstängd, men att välja "Borta" -läget aktiverar säkerhetssystemet.
- Ledningarna för denna del av projektet finns under experiment 6 i experimentguiden. För smarta hem behöver lysdioderna och deras anslutningskablar som finns i experiment 6 inte inkluderas.
Steg 3: Andra fotocellen
- Den andra fotocellen fungerar som en rörelsesensor för smarta hemmets säkerhetssystem.
- Sensorn används endast när systemet sätts i "Borta" -läge enligt beskrivningen i föregående steg.
- Om fotocellen upplever en minskning av mängden ljus som den tar emot, känner den igen det som rörelse inuti huset.
- Upplägget för denna del av projektet finns under experiment 7 i SIK Experiment Guide. Endast fotocellen och dess anslutningskablar behöver dock ingå i ledningarna.
Steg 4: RGB LED
- RGB -lysdioden används i kombination med mini -strömbrytaren och den andra fotocellen för det smarta hemmets säkerhetssystem.
- De tre olika färgerna används som indikatorer för det smarta hemmet.
- När systemet är i hemläge blir lysdioden blå. När systemet är placerat i "Borta" -läge lyser lysdioden grönt. När fotocellen som används som rörelsesensor utlöses blinkar lampan rött.
- Ledningarna för RGB LED finns i experiment 3 i SIK Experiment Guide.
Steg 5: Temperatursensor
- Temperatursensorn är en viktig del av energibesparingen i det smarta hemmet.
- Den boende kan ange önskad temperatur för sitt hem när det smarta hemmet används.
- Temperaturgivare är hur systemet vet hur långt den verkliga temperaturen är från önskad temperatur.
- Inställning för temperatursensorn finns i experiment 9 i SIK Experiment Guide.
Steg 6: DAGU -växelmotor
- Motorn tillåter det smarta hemmet att reglera temperaturen i huset baserat på önskad temperatur och avläsningar av temperaturgivaren.
- Motorn fungerar som AC -enhet i hemmet och kommer att snurra i olika hastigheter baserat på hur mycket högre den verkliga temperaturen är än önskad temperatur. Ju högre skillnad, desto snabbare snurrar motorn.
- Kablarna till motorn finns i experimentguiden under experiment 11.
Steg 7: Kod
- Koden för det smarta hemmet innehåller flera användargränssnitt som gör det möjligt för den boende att enkelt förstå hur det fungerar och enkelt ändra inställningarna.
- Med det smarta hemmasystemet får den boende en varning via e -post om rörelsesensorn är avstängd medan de är borta.
- Den enda ändringen som behöver göras är att infoga informationen för avsändarens e -post och mottagarens e -postadress.
rensa a; klara s; klart m; clc; Stäng alla; % Rensa arduino- och servovariabler så att de kan omdefinieras varje gång så att koden körs effektivt ("clear m" är nödvändigt för att en av looparna ska fungera korrekt) a = arduino (); % Ställ in arduino -variabeln
s = servo (a, 'D6'); % Ställ in servovariabel
% Initiera e -postvariabler för varningsmeddelanden från säkerhetssystemet
e -postmeddelanden = {'infoga mottagaradress'}; % Array av e -postmeddelanden för att få säkerhetsmeddelandet skickat till
% Inställningar för e -postinställningar som krävs för att använda ett Gmail att skicka e -post från
setpref ('Internet', 'E_mail', 'avsändarens e -postadress');
setpref ('Internet', 'SMTP_Username', 'sender's username');
setpref ('Internet', 'SMTP_Password', 'avsändarens lösenord');
rekvisita = 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 -postämne och textvariabler
subj = 'Intruder Alert at Your Home';
text = 'Hej! Detta är ditt Smart Home -säkerhetssystem som informerar dig om att det har upptäckts rörelse utanför ditt hem. Vi har vidtagit nödvändiga åtgärder och kontaktat myndigheter för dig. Var försiktig.';
medan det är sant
prompt = {'Ange önskad hemtemperatur (mellan 65F och 85F):'}; % Fråga om användarinmatningsmeny
dlgtitle = 'Temperaturval'; % Titel för användarinmatningsmeny
dims = [1 30]; % Mått för användarinmatningsmeny
definput = {'72'}; % Standardinmatning som visas när menyn öppnas första gången
tempsel_array = inputdlg (prompt, dlgtitle, dims, definput); % Popup -användarinmatningsmeny som sparar det inmatade numret i en matris
if ~ isempty (tempsel_array) % Om matrisen INTE är tom
tempsel_char = cell2mat (tempsel_array); % Konvertera matrisen till en teckensträng
tempsel = str2double (tempsel_char); % Konvertera teckensträngen till siffror
thingSpeakWrite (chID, tempsel, 'WriteKey', writeKey, 'Fields', 1); % Skriv den valda temperaturen till din ThingSpeak -kanal
break % Bryt dig från medan loop så att menyn inte dyker upp flera gånger
annars % Om användaren klickar avbryt istället för att ange en temperatur
msg1 = msgbox ('Ingen temperatur vald, som standard 85F', 'Varning!'); % Meddelande visas för användaren efter att ha klickat på Avbryt
vänta på (msg1); % Vänta tills meddelandefältet stängs innan du fortsätter
tempsel = 85; % Ställ in temperaturen på det som stod i meddelanderutan
thingSpeakWrite (chID, tempsel, 'WriteKey', writeKey, 'Fields', 1); % Skriv den valda temperaturen till din ThingSpeak -kanal
break % Bryt dig från medan loop så att menyn inte dyker upp flera gånger
slutet
slutet
medan det är sant
chID = 745517; % ThingSpeak -kanal -ID
writeKey = 'G9XOQTP8KOVSCT0N'; % Nyckel för åtkomst till ThingSpeak -kanalen
% Initiera sensorer för att hämta data
tempread = readVoltage (a, 'A3'); % Läs av temperaturgivarens spänning
lightl1 = readVoltage (a, 'A2'); % Ljusnivå för fotoresistorn som går till den röda lysdioden
lightl2 = readVoltage (a, 'A5'); % Ljusnivå för fotoresistorn som går till säkerhetssystemet
switchv = readVoltage (a, 'A0'); % Värde för omkopplaren
% Konvertera temperaturdata från spänning till grader Fahrenheit
tempC = (tempread - 0,5) * 100; % Konvertera spänning till temperatur i Celsius
tempF = (tempC * 9/5) + 32; % Konvertera temperaturen i Celsius till temperaturen i Fahrenheit
% Initiera stiftnumren för flerfärgad LED
redp = 'D9'; % Pin för rött ljus från LED
greenp = 'D10'; % Pin för grönt ljus från LED
bluep = 'D11'; % Pin för blått ljus från LED
om tempsel <tempF % Om den valda temperaturen är högre än rumstemperaturen
writePosition (s, 1); % Servo börjar flytta
paus (10) % Servo fortsätter att snurra i 10 sekunder för att representera att AC: n stängs av efter en viss tid
writePosition (s, 0); % Stäng av fläkten för att fortsätta koden utan fläkt
tempsel = 150; % Ändra temperaturvärdet för att bryta ut ur slingan efter att fläkten har stängts av, igen bara för att fortsätta koden
slutet
if lightl1 <= 3 % Om den första fotoresistorn detekterar en låg ljusnivå
writeDigitalPin (a, 'A1', 1); % Slå på röd LED som representerar utomhusbelysning
annars % Om ljusnivån är hög igen
writeDigitalPin (a, 'A1', 0); % Stäng av den röda lysdioden när ljusnivån är tillräckligt hög igen
slutet
om switchv> 3 % Om omkopplaren är påslagen
A = existera ('m', 'var'); % Kontrollera om det finns variabel 'm', detta kommer att initieras för medan loop och låter den brytas när ett menyalternativ väljs (det är därför tydligt m måste göras i början av koden)
medan A == 0 % loop kommer att köras tills variabeln 'm' existerar
menutext = 'Vilket säkerhetsläge vill du ange?'; % Text för popup -menyn för säkerhet
choice = {'Hem', 'Borta'}; % Val för popup -menyn för säkerhet
m = meny (menutext, val); % Popup -meny för säkerhetssystemlägen
break % Säkerställer att medan loop är bruten så att menyn inte dyker upp flera gånger
slutet
om m == 1 % Om läget "Hem" är valt
writeDigitalPin (a, bluep, 1); % Slå på bara blått ljus i den färgförändrande lysdioden
writeDigitalPin (a, redp, 0);
writeDigitalPin (a, greenp, 0);
elseif m == 2 % Om "Borta" -läget är valt
writeDigitalPin (a, bluep, 0);
writeDigitalPin (a, redp, 0);
writeDigitalPin (a, greenp, 1); % Slå på bara det gröna ljuset i den färgförändrande lysdioden
om lightl2 <= 3 % Om ljusnivån i den andra fotoresistorn är låg, representerar rörelse detekterad av säkerhetssystemet
sendmail (mejl, subj, text); % Skicka ett e -postmeddelande med tidigare definierade e -postegenskaper writeDigitalPin (a, greenp, 0); % Flash röd färg på och av 2 gånger
writeDigitalPin (a, redp, 1);
paus (0,3)
writeDigitalPin (a, redp, 0);
paus (0,3)
writeDigitalPin (a, redp, 1);
paus (0,3)
writeDigitalPin (a, redp, 0);
paus (0,3)
writeDigitalPin (a, redp, 1); % Avsluta med fast rött efter att ha blinkat för att visa att det finns rörelse tills ljusnivån går upp igen
msg2 = msgbox ('Inkräktare upptäckt av säkerhetssystemet, ett e -postmeddelande har skickats till husägarna för att informera dem.', 'VARNING!'); % Meddelanderuta för att informera användaren om rörelse och för att informera om e -postmeddelandet som väntar på (msg2) % Vänta tills meddelanderutan stängs innan du fortsätter
annan
writeDigitalPin (a, greenp, 1); % När ljusnivån har stigit igen blir den grön igen
slutet
slutet
elseif switchv <3,3 % Om omkopplaren är avstängd
writeDigitalPin (a, bluep, 0); % Stäng av lysdioden helt för att visa att säkerhetssystemet är avstängt
writeDigitalPin (a, redp, 0);
writeDigitalPin (a, greenp, 0);
slutet
slutet
Rekommenderad:
Smart Home av Raspberry Pi: 5 steg (med bilder)
Smart Home av Raspberry Pi: Det finns redan flera produkter där ute som gör din lägenhet smartare, men de flesta av dem är egna lösningar. Men varför behöver du en internetanslutning för att byta ljus med din smartphone? Det var en anledning för mig att bygga mitt eget Smar
IOT Home Automation DIY Project #1: 7 Steg
IOT Home Automation DIY Project # 1: # INLEDNING Hemautomation är automatiseringsprocessen för hushållsapparater som AC, fläkt, kylskåp, lampor och listan fortsätter så att de kan styras med din telefon, dator eller till och med på distans. Detta projekt behandlar esp2866
Sonoff B1 Firmware Home Automation Openhab Google Home: 3 steg
Sonoff B1 Firmware Home Automation Openhab Google Home: Jag gillar verkligen Tasmota -firmware för mina Sonoff -switchar. Men a var inte riktigt nöjd med Tasmota-firmware på min Sonoff-B1. Jag lyckades inte helt integrera det i min Openhab och styra det via Google Home. Därför skrev jag mitt eget företag
Project Aurora: en smart spelmusmatta för 20 €: 13 steg (med bilder)
Project Aurora: ett smart spelmousepad för 20 €: Grundidén är, varför spendera 50 $ för en RGB -musmatta som bara innehåller ljusshower? Okej, de är coola och ultratunna, men de lägger också till en programvara på din dator för att anpassa ljusa färger som inte exakt är " lätt " om du anser
Project 2 Smart-Hjälm: 6 steg (med bilder)
Projekt 2 Smart-Hjälm: Vi, Benoot Sven, Staelens Lennert och Dujardin Laurens, var tvungna att göra ett projekt för skolan. Vi fick arbeta tillsammans med en student från IPO (Industrial Product Design). Han kom på idén att göra en smart motorcykelhjälm. Han gjorde designen av