Innholdsfortegnelse:
- Trinn 1: Lysfølsom LED
- Trinn 2: Mini -strømbryter
- Trinn 3: Andre fotocelle
- Trinn 4: RGB LED
- Trinn 5: Temperatursensor
- Trinn 6: DAGU girmotor
- Trinn 7: Kode
Video: EF230 Smart Home Project: 7 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
Nødvendige deler og materialer:
- 1 Arduino MKR 1000
- 3 brødbrett
- 2 mini fotoceller
- 1 NPN -transistorer
- 1 mini strømbryter
- 1 LED - RGB (4 pinner)
- 1 LED (valgfri farge)
- 1 Diode 1N4148
- 1 10K ohm motstander
- 5 100 Ohm motstand
- 1 temperatursensor TMP36
- 1 DAGU 48: 1 Ratio Gearmotor
- 25 hoppetråder
- USB -kabel
- MATLAB -program
-
SIK Experiment Guide for Arduino 101/Genuino 101 Board - SIK Experiment Guide Link
Dette prosjektet beskriver konseptdesign av et smarthus system som ville bruke data for å hjelpe huseiere optimalisere energibruken og sikkerhet. Det inkluderer en lyssensor for å slå på utendørs lys om natten, en lyssensor for sikkerhet, og en temperatursensor og vifte for innendørs temperaturkontroll.
Trinn 1: Lysfølsom LED
- Det lysfølsomme LED -oppsettet er ment å representere utelysene i et hus som tennes om natten.
- Når minifotocellen registrerer en redusert mengde lys, lyser LED -en.
- For et smart hjem har dette konsekvenser for energi og sikkerhet. Det vil spare energi ved å la lysene være slukket i løpet av dagen og vil gi økt sikkerhet om natten.
- Den eksakte kabling og oppsett for denne delen av prosjektet finner du under eksperiment 7 i SIK Experiment Guide.
Trinn 2: Mini -strømbryter
- Bryteren er det første trinnet i sikkerhetsprosessen til det smarte hjemmet.
- Når den er slått på, vil bryteren initiere en respons ber brukeren om de ønsker å gå inn i 'Hjem' -modus eller 'borte' modus.
- Hvis "Hjem" -modus er valgt, anses sikkerheten som deaktivert, men å velge "Borte" -modus vil aktivere sikkerhetssystemet.
- Kablingene for denne delen av prosjektet finner du under eksperiment 6 i eksperimentguiden. For det smarte hjemmet trenger ikke LED -lampene og tilkoblingskablene som finnes i eksperiment 6 å være inkludert.
Trinn 3: Andre fotocelle
- Den andre fotocellen fungerer som en bevegelsessensor for sikkerhetssystemet til det smarte hjemmet.
- Sensoren brukes bare når systemet settes i "Borte" -modus som beskrevet i forrige trinn.
- Hvis fotocellen opplever en reduksjon i lysmengden den mottar, gjenkjenner den dette som bevegelse inne i huset.
- Oppsettet for denne delen av prosjektet finner du under eksperiment 7 i SIK Experiment Guide. Imidlertid er det bare fotocellen og tilkoblingskablene som må inkluderes i ledningene.
Trinn 4: RGB LED
- RGB LED blir anvendt sammen med den ministrømbryteren og den andre fotocellen for sikkerhetssystemet av smart hjem.
- De tre forskjellige fargene brukes som indikatorer for smarthusboeren.
- Når systemet er i "Hjem" -modus, blir LED -en blå. Når systemet er i "Bort" -modus, lyser LED -en grønt. Når fotocellen som brukes som bevegelsessensor er utløst, blinker lyset rødt.
- Kablingene for RGB -LED -en finnes i eksperiment 3 i SIK -eksperimentguiden.
Trinn 5: Temperatursensor
- Temperatursensoren er en viktig del av energibesparelsen i det smarte hjemmet.
- Beboeren kan angi ønsket temperatur for hjemmet sitt når det smarte hjemmet er i bruk.
- Temperatursensor er hvordan systemet vet hvor langt den faktiske temperaturen er fra ønsket temperatur.
- Oppsett for temperatursensoren finnes i eksperiment 9 i SIK Experiment Guide.
Trinn 6: DAGU girmotor
- Motoren lar det smarte hjemmet regulere temperaturen i huset basert på ønsket temperatur og avlesninger av temperatursensoren.
- Fungerende som AC-enhet i hjemmet, vil motoren spinne på ulike hastigheter basert på hvor mye høyere den faktiske temperaturen er enn ønsket temperatur. Jo høyere forskjell, jo raskere snurrer motoren.
- Ledningen til motoren finner du i eksperimentguiden under eksperiment 11.
Trinn 7: Kode
- Koden for det smarte hjemmet inneholder flere brukergrensesnitt som lar beboeren enkelt forstå hvordan det fungerer og enkelt endre innstillingene.
- Med det smarte hjemmesystemet vil beboeren motta og varsle e -post hvis bevegelsessensoren er satt av mens de er borte.
- Den eneste endringen som må gjøres er å sette inn informasjonen for avsenderens e -post og mottakerens e -postadresse.
klar a; klar s; klar m; clc; Lukk alle; % Fjern arduino og servo variabler slik at de kan redefineres hver gang slik at koden vil kjøre effektivt ("clear m" er nødvendig for at en av mens loopene skal fungere skikkelig) a = arduino (); % Angi arduino -variabelen
s = servo (a, 'D6'); % Sett servovariabelen
% Initialiser e -postvariabler for e -post med advarsler om sikkerhetssystem
emails = {'insert mottaker address'}; % Array av e -poster for å få sikkerhets -e -posten sendt til
% Innstillinger for e -postinnstilling nødvendig for å bruke en Gmail å sende e -post fra
setpref ('Internett', 'E_mail', 'avsenders e -postadresse');
setpref ('Internett', 'SMTP_Username', 'senderens brukernavn');
setpref ('Internett', 'SMTP_Password', 'senderens passord');
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 -postemne og tekstvariabler
subj = 'Varsel om inntrenger hjemme';
text = 'Hei, dette er ditt Smart Home -sikkerhetssystem som informerer deg om at det har blitt oppdaget bevegelse utenfor hjemmet ditt. Vi har tatt de nødvendige tiltakene og kontaktet myndigheter for deg. Vær trygg. ';
mens det er sant
prompt = {'Skriv inn ønsket hjemmetemperatur (mellom 65F og 85F):'}; % Spør om brukerinntastingsmeny
dlgtitle = 'Temperaturvalg'; % Tittel for brukerinntastingsmeny
dims = [1 30]; % Dimensjoner for brukerinntastingsmeny
definput = {'72'}; % Standardinngang som vises når menyen først åpnes
tempsel_array = inputdlg (prompt, dlgtitle, dims, definput); % Popup -brukerinntastingsmeny som lagrer det angitte nummeret i en matrise
if ~ isempty (tempsel_array) % Hvis matrisen IKKE er tom
tempsel_char = cell2mat (tempsel_array); % Konverter matrisen til en tegnstreng
tempsel = str2double (tempsel_char); % Konverter tegnstrengen til tall
thingSpeakWrite (chID, tempsel, 'WriteKey', writeKey, 'Fields', 1); % Skriv den valgte temperaturen til ThingSpeak -kanalen din
pause % Bryt fra mens -sløyfen, slik at menyen ikke dukker opp flere ganger
ellers % Hvis brukeren klikker, avbryt i stedet for å angi en temperatur
msg1 = msgbox ('Ingen temperatur valgt, standard til 85F', 'Advarsel!'); % Melding vises til brukeren etter å ha klikket Avbryt
waitfor (msg1); % Vent til meldingsboksen lukkes før du fortsetter
tempsel = 85; % Still inn temperaturen til det som stod i meldingsboksen
thingSpeakWrite (chID, tempsel, 'WriteKey', writeKey, 'Fields', 1); % Skriv den valgte temperaturen til ThingSpeak -kanalen din
pause % Bryt fra mens -sløyfen, slik at menyen ikke dukker opp flere ganger
slutt
slutt
mens det er sant
chID = 745517; % ThingSpeak -kanal -ID
writeKey = 'G9XOQTP8KOVSCT0N'; % Nøkkel for tilgang til ThingSpeak -kanalen
% Initialiser sensorer for å hente data
tempread = readVoltage (a, 'A3'); % Les spenningen til temperatursensoren
lightl1 = readVoltage (a, 'A2'); % Lysnivå for fotoresistoren som går til den røde lysdioden
lightl2 = readVoltage (a, 'A5'); % Lysnivå for fotoresistoren som går til sikkerhetssystemet
switchv = readVoltage (a, 'A0'); % Verdi for bryteren
% Konverter temperaturdata fra spenning til grader Fahrenheit
tempC = (tempread - 0,5) * 100; % Konverter spenning til temperatur i Celsius
tempF = (tempC * 9/5) + 32; % Konverter temperaturen i Celsius til temperaturen i Fahrenheit
% Initialiser pin -tallene for flerfarget LED
redp = 'D9'; % Pin for rødt lys fra LED
greenp = 'D10'; % Pin for grønt lys fra LED
bluep = 'D11'; % Pin for blått lys fra LED
hvis tempsel <tempF % Hvis den valgte temperaturen er større enn romtemperaturen
writePosition (s, 1); % Servo begynner å bevege seg
pause (10) % Servo vil fortsette å spinne i 10 sekunder for å representere at AC ville slå seg av etter en bestemt tid
writePosition (s, 0); % Slå av viften for å fortsette koden uten vifte på
tempsel = 150; % Endre temperaturverdien for å bryte ut av sløyfen etter at viften er slått av, igjen bare for å fortsette koden
slutt
hvis lightl1 <= 3 % Hvis den første fotoresistoren oppdager et lavt lysnivå
writeDigitalPin (a, 'A1', 1); % Slå på rød LED som representerer utelys
ellers % Hvis lysnivået er høyt igjen
writeDigitalPin (a, 'A1', 0); % Slå av rød LED når lysnivået er høyt nok igjen
slutt
hvis switchv> 3% Hvis bryteren er slått på
A = finnes ('m', 'var'); % Kontroller om det finnes variabel 'm', dette vil initialiseres for mens -sløyfen og tillate at den brytes når et menyelement velges (det er derfor klart m må gjøres i begynnelsen av koden)
mens A == 0 % Loop vil utføres til variabelen 'm' eksisterer
menutext = 'Hvilken sikkerhetsmodus vil du gå inn i?'; % Tekst for hurtigmenyen for sikkerhet
choice = {'Home', 'Away'}; % Valg for sikkerhetsmenyen
m = meny (menutekst, valg); % Popup -meny for sikkerhetssystemmoduser
break % Sikrer at mens loop er brutt, slik at menyen ikke vil dukke opp flere ganger
slutt
hvis m == 1 % Hvis "Hjem" -modus er valgt
writeDigitalPin (a, bluep, 1); % Slå på bare blått lys i fargen endrer LED
writeDigitalPin (a, redp, 0);
writeDigitalPin (a, greenp, 0);
elseif m == 2 % Hvis "Bort" -modus er valgt
writeDigitalPin (a, bluep, 0);
writeDigitalPin (a, redp, 0);
writeDigitalPin (a, greenp, 1); % Slå på bare det grønne lyset i fargeskiftende LED
hvis lightl2 <= 3 % Hvis lysnivået i den andre fotoresistoren er lavt, representerer bevegelse detektert av sikkerhetssystemet
sendmail (e-post, subj, tekst); % Send en e -post med de tidligere definerte e -postegenskapene writeDigitalPin (a, greenp, 0); % Blinker rød farge på og av 2 ganger
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); % Fullfør med fast rødt etter å ha blinket for å vise at det er bevegelse til lysnivået går opp igjen
msg2 = msgbox ('Innbrudd oppdaget av sikkerhetssystemet, en e -post er sendt til huseierne for å informere dem.', 'ADVARSEL!'); % Meldingsboks for å informere brukeren om bevegelse og for å informere om e -posten som er sendt waitfor (msg2) % Vent til meldingsboksen lukkes før du fortsetter
ellers
writeDigitalPin (a, greenp, 1); % Når lysnivået har steget igjen, blir det grønt
slutt
slutt
elseif switchv <3,3 % Hvis bryteren er slått av
writeDigitalPin (a, bluep, 0); % Slå av LED -en helt for å vise at sikkerhetssystemet er slått av
writeDigitalPin (a, redp, 0);
writeDigitalPin (a, greenp, 0);
slutt
slutt
Anbefalt:
Smart Home av Raspberry Pi: 5 trinn (med bilder)
Smart Home av Raspberry Pi: Det er allerede flere produkter der ute som gjør leiligheten din smartere, men de fleste av dem er proprietære løsninger. Men hvorfor trenger du en internettforbindelse for å bytte lys med smarttelefonen din? Det var en grunn for meg til å bygge mitt eget Smar
STONE LCD med Smart Home: 5 trinn
STONE LCD With Smart Home: I dag har jeg STONEs serielle portdisplay, som kan kommunisere gjennom MCUs serielle port, og UI -logikkdesignet til denne skjermen kan designes direkte ved å bruke VGUS -programvaren på STONEs offisielle nettsted, som er veldig sammenkomst
Sonoff B1 Firmware Home Automation Openhab Google Home: 3 trinn
Sonoff B1 Firmware Home Automation Openhab Google Home: Jeg liker Tasmota -fastvaren for Sonoff -switchene mine. Men a var egentlig ikke fornøyd med Tasmota-fastvaren på min Sonoff-B1. Jeg lyktes ikke fullt ut med å integrere det i Openhab og kontrollere det via Google Home. Derfor skrev jeg mitt eget firma
Project Aurora: en smart gaming -musematte for 20 €: 13 trinn (med bilder)
Project Aurora: en smart gaming -musematte for 20 €: Den grunnleggende ideen er, hvorfor bruke 50 $ for en RGB -musematte som bare har lysshow? Ok, de er kule og ultratynne, men de legger også til en programvare på din PC for å tilpasse lyse farger som ikke akkurat er "lette". hvis du tenker
Project 2 Smart-Hjelm: 6 trinn (med bilder)
Prosjekt 2 Smart-hjelm: Vi, Benoot Sven, Staelens Lennert og Dujardin Laurens, måtte lage et prosjekt for skolen. Vi måtte jobbe sammen med en student fra IPO (Industrial Product Design). Han kom på ideen om å lage en smart motorsykkelhjelm. Han laget designet av