INHOUDSOPGAWE:
- Stap 1: Liggevoelige LED
- Stap 2: Mini -kragskakelaar
- Stap 3: Tweede fotosel
- Stap 4: RGB LED
- Stap 5: Temperatuursensor
- Stap 6: DAGU -ratmotor
- Stap 7: Kode
Video: EF230 Smart Home -projek: 7 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
Onderdele en materiaal benodig:
- 1 Arduino MKR 1000
- 3 Broodplanke
- 2 mini fotoselle
- 1 NPN -transistors
- 1 mini -skakelaar
- 1 LED - RGB (4 tande)
- 1 LED (kleur van u keuse)
- 1 Diode 1N4148
- 1 10K Ohm weerstande
- Weerstand van 5 100 Ohm
- 1 Temperatuursensor TMP36
- 1 DAGU 48: 1 Verhouding ratmotor
- 25 Springdrade
- USB koord
- MATLAB -program
-
SIK -eksperimentgids vir die Arduino 101/Genuino 101 -bord - skakel SIK -eksperimentgids
Hierdie projek beskryf die konseptuele ontwerp van 'n slimhuisstelsel wat data sal gebruik om huiseienaars te help om hul energieverbruik en sekuriteit te optimaliseer. Dit bevat 'n ligsensor om snags buiteligte aan te skakel, 'n ligsensor vir sekuriteit, en 'n temperatuursensor en waaier vir binnentemperatuurbeheer.
Stap 1: Liggevoelige LED
- Die liggevoelige LED -opstelling is bedoel om die buiteligte by 'n huis wat snags aanskyn, voor te stel.
- As die minifotosel 'n verminderde hoeveelheid lig voel, sal die LED brand.
- Vir 'n slim huis het dit energie- en sekuriteitsimplikasies. Dit bespaar energie deur die ligte gedurende die dag uit te laat en verhoogde veiligheid in die nag.
- Die presiese bedrading en opset vir hierdie deel van die projek kan gevind word onder eksperiment 7 in die SIK -eksperimentgids.
Stap 2: Mini -kragskakelaar
- Die skakelaar is die eerste stap in die veiligheidsproses van die slimhuis.
- As dit aangeskakel is, sal die skakelaar 'n reaksie begin wat die gebruiker vra of hy 'tuis' of 'weg' wil afskakel.
- As die 'tuis' -modus gekies word, word die sekuriteit as ontwapen beskou, maar as u' weg '-modus kies, word die sekuriteitstelsel geaktiveer.
- Die bedrading vir hierdie gedeelte van die projek kan gevind word onder eksperiment 6 in die eksperimentgids. Vir die doeleindes van die slimhuis hoef die LED's en hul verbindingsdrade in eksperiment 6 nie ingesluit te word nie.
Stap 3: Tweede fotosel
- Die tweede fotosel dien as bewegingsensor vir die sekuriteitstelsel van die slimhuis.
- Die sensor word slegs gebruik as die stelsel in die 'Weg' -modus is, soos beskryf in die vorige stap.
- As die fotosel 'n afname in die hoeveelheid lig ondervind, herken dit dit as beweging binne -in die huis.
- Die opset vir hierdie deel van die projek kan gevind word onder eksperiment 7 in die SIK -eksperimentgids. Slegs die fotosel en sy verbindingsdrade moet egter by die bedrading ingesluit word.
Stap 4: RGB LED
- Die RGB LED word saam met die mini -skakelaar en die tweede fotosel vir die sekuriteitstelsel van die slimhuis gebruik.
- Die drie verskillende kleure word gebruik as aanwysers vir die slimhuisinwoner.
- As die stelsel in die 'huis' -modus geplaas word, word die LED blou. As die stelsel in die 'Weg' -modus geplaas word, word die LED groen. As die fotosel wat as bewegingsensor gebruik word, gestruikel word, flikker die lig rooi.
- Die bedrading vir die RGB LED kan gevind word in eksperiment 3 van die SIK -eksperimentgids.
Stap 5: Temperatuursensor
- Die temperatuursensor is 'n belangrike deel van die besparing van energie in die slimhuis.
- Die inwoner kan die gewenste temperatuur vir hul huis invoer wanneer die slimhuis gebruik word.
- Temperatuursensor is hoe die stelsel weet hoe ver die werklike temperatuur van die gewenste temperatuur is.
- Die opstelling van die temperatuursensor kan gevind word in eksperiment 9 van die SIK -eksperimentgids.
Stap 6: DAGU -ratmotor
- Met die motor kan die slimhuis die temperatuur in die huis reguleer op grond van die gewenste temperatuur en die lesings van die temperatuursensor.
- As 'n AC -eenheid in die huis, sal die motor teen verskillende snelhede draai, gebaseer op hoeveel hoër die werklike temperatuur is as die gewenste temperatuur. Hoe groter die verskil, hoe vinniger draai die motor.
- Die bedrading vir die motor kan gevind word in die eksperimentgids onder eksperiment 11.
Stap 7: Kode
- Die kode vir die slimhuis bevat veelvuldige gebruikerskoppelvlakke waarmee die inwoner maklik kan verstaan hoe dit werk en die instellings maklik kan verander.
- Met die slimhuisstelsel sal die inwoner 'n waarskuwing ontvang en e -pos stuur as die bewegingsensor afgeskakel word terwyl hulle weg is.
- Die enigste verandering wat aangebring moet word, is om die inligting vir die e -pos van die sender en die e -posadres van die ontvanger in te voeg.
duidelik a; duidelik s; duidelik m; clc; sluit almal; Maak arduino- en servo -veranderlikes skoon, sodat hulle elke keer herdefinieer kan word, sodat die kode effektief sal werk ('clear m' is nodig vir een van die terwyl die lusse behoorlik funksioneer) a = arduino (); % Stel die arduino -veranderlike in
s = servo (a, 'D6'); % Stel die servo -veranderlike in
% Inisialiseer e -pos veranderlikes vir e -pos waarskuwings e -pos
e -posse = {'voeg ontvangeradres in'}; Versameling e -posse om die e -pos na sekuriteit te stuur
% Instellings vir e -posvoorkeure wat nodig is vir die gebruik van 'n Gmail om e -pos vanaf te stuur
setpref ('Internet', 'E_mail', 'sender se e -posadres');
setpref ('Internet', 'SMTP_Username', 'sender's username');
setpref ('Internet', 'SMTP_Password', 'sender se wagwoord');
rekwisiete = 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 -pos onderwerp en teks veranderlikes
subj = 'Indringerwaarskuwing by u huis';
text = 'Hallo, dit is u Smart Home -sekuriteitstelsel wat u inlig dat daar beweging buite u huis opgemerk is. Ons het die nodige maatreëls getref en vir u die owerhede gekontak. Bly veilig.';
terwyl dit waar is
prompt = {'Voer die gewenste huistemperatuur in (tussen 65F en 85F):'}; % Vra vir gebruikersinvoer -kieslys
dlgtitle = 'Temperatuurkeuse'; % Titel vir gebruikersinvoer -kieslys
verdof = [1 30]; % Afmetings vir gebruikersinvoer -kieslys
definput = {'72'}; % Standaardinvoer wat verskyn wanneer die spyskaart die eerste keer oopgemaak word
tempsel_array = inputdlg (prompt, dlgtitle, dim, definput); Opspring -gebruikersinvoer -kieslys wat die ingevoerde nommer in 'n skikking sal stoor
as ~ isempty (tempsel_array) % As die skikking NIE leeg is nie
tempsel_char = cell2mat (tempsel_array); Skakel die skikking om na 'n tekenreeks
tempsel = str2double (tempsel_char); Skakel die tekenreeks om na getalle
thingSpeakWrite (chID, tempsel, 'WriteKey', writeKey, 'Fields', 1); % Skryf die gekose temperatuur na u ThingSpeak -kanaal
break % Breek weg van die while lus sodat die spyskaart nie meer as een keer verskyn nie
anders % As die gebruiker klik, kanselleer in plaas daarvan om 'n temperatuur in te voer
msg1 = msgbox ('Geen temperatuur gekies nie, standaard 85F', 'Waarskuwing!'); % Boodskap word aan die gebruiker gewys nadat u op Annuleer geklik het
wag vir (msg1); % Wag totdat die boodskapkassie toemaak voordat u verder gaan
tempsel = 85; Stel die temperatuur op wat in die boodskapkassie staan
thingSpeakWrite (chID, tempsel, 'WriteKey', writeKey, 'Fields', 1); % Skryf die gekose temperatuur na u ThingSpeak -kanaal
break % Breek weg van die while lus sodat die spyskaart nie meer as een keer verskyn nie
einde
einde
terwyl dit waar is
chID = 745517; % ThingSpeak -kanaal -ID
writeKey = 'G9XOQTP8KOVSCT0N'; % Sleutel vir toegang tot die ThingSpeak -kanaal
% Initialiseer sensors om data te gaan haal
tempread = readVoltage (a, 'A3'); % Lees die spanning van die temperatuursensor
lightl1 = readVoltage (a, 'A2'); % Ligvlak vir die fotoresistor wat na die rooi LED gaan
lightl2 = readVoltage (a, 'A5'); % Ligvlak vir die fotoresistor wat na die sekuriteitstelsel gaan
switchv = readVoltage (a, 'A0'); % Waarde vir die skakelaar
Skakel die temperatuurdata om van spanning na grade Fahrenheit
tempC = (tempread - 0.5) * 100; % Skakel spanning na temperatuur in Celsius om
tempF = (tempC * 9/5) + 32; Skakel temperatuur in Celsius om na temperatuur in Fahrenheit
% Begin die speldnommers vir die veelkleurige LED
redp = 'D9'; % Speld vir rooi lig van LED
greenp = 'D10'; % Speld vir groen lig van LED
bluep = 'D11'; % Speld vir blou lig van LED
as tempsel <tempF % As die gekose temperatuur groter is as die kamertemperatuur
skryfPosisie (s, 1); % Servo sal begin beweeg
pouse (10) % Servo sal 10 sekondes aanhou draai om aan te dui dat die wisselstroom na 'n bepaalde tyd sou uitskakel
skryfPosisie (s, 0); % Skakel waaier af om kode voort te sit sonder waaier aan
tempsel = 150; Verander die temperatuurwaarde om uit die lus te breek nadat die waaier afgeskakel is, weer net om die kode voort te sit
einde
if lightl1 <= 3 % As die eerste fotoresistor 'n lae ligvlak waarneem
writeDigitalPin (a, 'A1', 1); % Skakel rooi LED aan wat buiteligte voorstel
anders % As die ligvlak weer hoog is
writeDigitalPin (a, 'A1', 0); % Skakel rooi LED uit as die ligvlak weer hoog genoeg is
einde
as switchv> 3 % As die skakelaar aangeskakel is
A = bestaan ('m', 'var'); % Kontroleer of die veranderlike 'm' bestaan, dit sal vir die while lus inisialiseer en dit kan laat breek as 'n menu -item gekies word (daarom moet duidelike m aan die begin van die kode gedoen word)
terwyl A == 0 % lus sal uitgevoer word totdat veranderlike 'm' bestaan
menutext = 'Watter sekuriteitsmodus wil u binnegaan?'; % Teks vir die pop -up menu vir sekuriteit
keuses = {'Tuis', 'Weg'}; % Keuses vir die pop -up menu vir sekuriteit
m = spyskaart (menuteks, keuses); Opspringkieslys vir sekuriteitstelselmodusse
break % Verseker dat die while -lus gebreek word, sodat die spyskaart nie meer as een keer verskyn nie
einde
as m == 1 % As die 'tuis' -modus gekies is
writeDigitalPin (a, bluep, 1); Skakel net blou lig aan in die kleurveranderende LED
writeDigitalPin (a, redp, 0);
writeDigitalPin (a, greenp, 0);
elseif m == 2 % As 'Weg' -modus gekies is
writeDigitalPin (a, bluep, 0);
writeDigitalPin (a, redp, 0);
writeDigitalPin (a, greenp, 1); Skakel net die groen lig in die kleurveranderende LED aan
as lightl2 <= 3 % As die ligvlak in die tweede fotoresistor laag is, verteenwoordig dit beweging wat deur die sekuriteitstelsel opgespoor word
sendmail (e -pos, subj, teks); % Stuur 'n e -pos met die voorheen gedefinieerde e -pos eienskappe writeDigitalPin (a, greenp, 0); % Flits rooi kleur 2 keer aan en af
writeDigitalPin (a, redp, 1);
pouse (0.3)
writeDigitalPin (a, redp, 0);
pouse (0.3)
writeDigitalPin (a, redp, 1);
pouse (0.3)
writeDigitalPin (a, redp, 0);
pouse (0.3)
writeDigitalPin (a, redp, 1); % Voltooi met soliede rooi nadat dit geflits is om aan te toon dat daar beweging is totdat die ligvlak weer styg
msg2 = msgbox ('Inbreker opgespoor deur die sekuriteitstelsel, 'n e -pos is aan die huiseienaars gestuur om hulle in kennis te stel.', 'WAARSKUWING!'); % Boodskapsboks om die gebruiker in kennis te stel van beweging en om in te lig oor die e -pos wat gestuur is (msg2) % Wag totdat die boodskapkassie toemaak voordat u verder gaan
anders
writeDigitalPin (a, greenp, 1); % Sodra die ligvlak weer gestyg het, word dit weer groen
einde
einde
elseif switchv <3.3 % As die skakelaar afgeskakel is
writeDigitalPin (a, bluep, 0); % Skakel die LED heeltemal uit om te wys dat die sekuriteitstelsel af is
writeDigitalPin (a, redp, 0);
writeDigitalPin (a, greenp, 0);
einde
einde
Aanbeveel:
Smart Home deur Raspberry Pi: 5 stappe (met foto's)
Smart Home deur Raspberry Pi: Daar is reeds verskeie produkte wat u woonstel slimmer maak, maar die meeste daarvan is eie oplossings. Maar waarom het u 'n internetverbinding nodig om 'n lig met u slimfoon te verander? Dit was een van die redes waarom ek my eie Smar moes bou
STONE LCD With Smart Home: 5 stappe
STONE LCD With Smart Home: Vandag het ek die STONE -seriële poortaandrywing, wat via die seriële poort van MCU kan kommunikeer, gekry, en die UI -logika -ontwerp van hierdie skerm kan direk ontwerp word met behulp van die VGUS -sagteware wat op STONE se amptelike webwerf verskaf word, wat baie gerief
DIY Smart Garage Door Opener + Home Assistant Integration: 5 Stappe
DIY Smart Garage Door Opener + Home Assistant Integration: Maak u normale motorhuisdeur slim met hierdie DIY -projek. Ek sal jou wys hoe om dit te bou en te beheer met behulp van Home Assistant (oor MQTT), en ek kan die motorhuisdeur op afstand oop- en toemaak. Ek gebruik 'n ESP8266 -bord genaamd Wemos
Alexa Smart Home -stelsel met behulp van NodeMCU -aflosmodule: 10 stappe
Alexa Smart Home System met behulp van NodeMCU Relay Module: In hierdie IoT -projek het ek die Alexa Smart Home Automation -stelsel gemaak met behulp van die NodeMCU ESP8266 & Relay Module. U kan lig, waaier en ander huishoudelike toestelle maklik beheer met die stemopdrag. Om die Echo Dot -slimluidspreker met die
Sonoff B1 Firmware Home Automation Openhab Google Home: 3 stappe
Sonoff B1 Firmware Home Automation Openhab Google Home: Ek hou baie van die Tasmota -firmware vir my Sonoff -skakelaars. Maar ek was nie regtig tevrede met die Tasmota-firmware op my Sonoff-B1 nie. Ek het nie daarin geslaag om dit in my Openhab te integreer en dit via Google Home te beheer nie. Daarom het ek my eie firma geskryf