Turinys:
- 1 žingsnis: šviesai jautrus šviesos diodas
- 2 žingsnis: mini maitinimo jungiklis
- 3 žingsnis: antrasis fotoelementas
- 4 žingsnis: RGB šviesos diodas
- 5 žingsnis: temperatūros jutiklis
- 6 žingsnis: DAGU pavarų variklis
- 7 žingsnis: kodas
Video: „EF230 Smart Home“projektas: 7 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Reikalingos dalys ir medžiagos:
- 1 „Arduino MKR 1000“
- 3 Duonos lentos
- 2 mini fotoelementai
- 1 NPN tranzistoriai
- 1 mini maitinimo jungiklis
- 1 LED - RGB (4 šakos)
- 1 šviesos diodas (pasirinkta spalva)
- 1 diodas 1N4148
- 1 10K omų rezistoriai
- 5 100 omų rezistorius
- 1 Temperatūros jutiklis TMP36
- 1 DAGU 48: 1 santykis pavarų variklis
- 25 trumpieji laidai
- USB laidas
- MATLAB programa
-
SIK eksperimento vadovas „Arduino 101“/„Genuino 101“lentai - SIK eksperimento vadovo nuoroda
Šiame projekte išsamiai aprašytas sumanių namų sistemos, kuri naudotų duomenis, idėja padėtų namų savininkams optimizuoti energijos vartojimą ir saugumą. Jame yra šviesos jutiklis, skirtas įjungti lauko žibintus naktį, šviesos jutiklis, skirtas saugumui, ir temperatūros jutiklis bei ventiliatorius patalpų temperatūrai valdyti.
1 žingsnis: šviesai jautrus šviesos diodas
- Šviesai jautrios šviesos diodų sąranka skirta atspindėti lauko žibintus namuose, kurie užsidega naktį.
- Kai mini fotoelementas pajus sumažintą šviesos kiekį, užsidegs šviesos diodas.
- Pažangiems namams tai turi įtakos energetikai ir saugumui. Tai sutaupys energijos, palikdama šviesą dienos metu ir užtikrins didesnį saugumą naktį.
- Tikslius šios projekto dalies laidus ir sąranką rasite SIK eksperimento vadovo 7 eksperimente.
2 žingsnis: mini maitinimo jungiklis
- Jungiklis yra pirmas žingsnis išmaniųjų namų saugumo procese.
- Kai įjungtas, jungiklis inicijuos atsakymą ir paklaus, ar vartotojas nori įjungti „namų“arba „toli“režimą.
- Jei pasirinktas režimas „Pagrindinis“, saugumas laikomas išjungtu, tačiau pasirinkus režimą „Away“apsaugos sistema bus įjungta.
- Šios projekto dalies laidus rasite eksperimento vadovo 6 eksperimente. Išmaniesiems namams nereikia įtraukti 6 eksperimente rastų šviesos diodų ir jų jungiamųjų laidų.
3 žingsnis: antrasis fotoelementas
- Antrasis fotoelementas tarnauja kaip judėjimo jutiklis išmaniųjų namų apsaugos sistemai.
- Jutiklis naudojamas tik tada, kai sistema įjungta į „Away“režimą, kaip aprašyta ankstesniame žingsnyje.
- Jei fotoelementas sumažina gaunamos šviesos kiekį, jis tai atpažįsta kaip judesį namuose.
- Šios projekto dalies sąranką rasite SIK eksperimento vadovo 7 eksperimente. Tačiau į laidus reikia įtraukti tik fotoelementą ir jį jungiančius laidus.
4 žingsnis: RGB šviesos diodas
- RGB šviesos diodas naudojamas kartu su mini maitinimo jungikliu ir antruoju išmaniųjų namų apsaugos sistemos fotoelementu.
- Trys skirtingos spalvos naudojamos kaip išmaniųjų namų gyventojo rodikliai.
- Kai sistema perjungiama į „namų“režimą, šviesos diodas tampa mėlynas. Kai sistema perjungiama į „Away“režimą, šviesos diodas užsidega žaliai. Kai fotoelementas naudojamas kaip judesio jutiklis, lemputė mirksi raudonai.
- RGB šviesos diodų laidus rasite SIK eksperimento vadovo 3 eksperimente.
5 žingsnis: temperatūros jutiklis
- Temperatūros jutiklis yra svarbi energijos taupymo išmaniuosiuose namuose dalis.
- Naudojant išmaniuosius namus, gyventojas gali įvesti norimą temperatūrą savo namams.
- Temperatūros jutiklis yra tai, kaip sistema žino, kiek toli yra norima temperatūra.
- Temperatūros jutiklio sąranką rasite SIK eksperimento vadovo 9 eksperimente.
6 žingsnis: DAGU pavarų variklis
- Variklis leidžia išmaniesiems namams reguliuoti namo temperatūrą, atsižvelgiant į norimą temperatūrą ir temperatūros jutiklio rodmenis.
- Veikdamas kaip kintamosios srovės įrenginys namuose, variklis sukasi skirtingu greičiu, atsižvelgiant į tai, kiek faktinė temperatūra yra aukštesnė už norimą. Kuo didesnis skirtumas, tuo greičiau variklis sukasi.
- Variklio laidus rasite Eksperimento vadovo 11 eksperimente.
7 žingsnis: kodas
- Išmaniųjų namų kodas apima kelias vartotojo sąsajas, kurios leidžia gyventojui lengvai suprasti, kaip jis veikia, ir lengvai pakeisti nustatymus.
- Naudodamas išmaniųjų namų sistemą, gyventojas gaus įspėjimą ir el. Laišką, jei judesio jutiklis bus išjungtas, kol jie nebus.
- Vienintelis pakeitimas, kurį reikia atlikti, yra įvesti informaciją apie siuntėjo el. Paštą ir gavėjo el. Pašto adresą.
išvalyti a; aiškus s; aiškus m; clc; uždaryti viską; % Išvalyti arduino ir servo kintamuosius, kad juos būtų galima iš naujo apibrėžti kiekvieną kartą, kad kodas veiktų efektyviai („aiškus m“yra būtinas, kad viena iš ciklų tinkamai veiktų) a = arduino (); % Nustatykite kintamąjį arduino
s = servo (a, 'D6'); % Nustatykite servo kintamąjį
% Inicijuokite el. Pašto kintamuosius saugos sistemos įspėjamiesiems el
el. laiškai = {'įterpti gavėjo adresą'}; % El. Laiškų, į kuriuos turi būti siunčiamas saugos el. Laiškas, masyvas
% El. Pašto nuostatų nustatymai, būtini norint naudoti „Gmail“, norint siųsti laiškus
setpref („Internetas“, „El. paštas“, „siuntėjo el. pašto adresas“);
setpref ('Internetas', 'SMTP_Username', 'siuntėjo vartotojo vardas');
setpref ('Internetas', 'SMTP_Password', 'siuntėjo slaptažodis');
rekvizitai = 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');
% El. Pašto temos ir teksto kintamieji
subj = 'Įspėjimas apie įsibrovėlį jūsų namuose';
text = 'Sveiki, tai jūsų išmaniųjų namų apsaugos sistema, informuojanti jus, kad už jūsų namų ribų buvo aptiktas judesys. Mes ėmėmės reikiamų priemonių ir susisiekėme su jumis. Lik saugus.';
kol tiesa
prompt = {'Įveskite norimą namų temperatūrą (nuo 65 F iki 85 F):'}; % Paprašykite vartotojo įvesties meniu
dlgtitle = 'Temperatūros pasirinkimas'; % Vartotojo įvesties meniu pavadinimas
blankus = [1 30]; % Vartotojo įvesties meniu matmenys
apibrėžimas = {'72'}; % Numatytoji įvestis, rodoma pirmą kartą atidarius meniu
tempsel_array = inputdlg (greitas, dlgtitle, dims, definput); % Iššokantis vartotojo įvesties meniu, kuris įrašys įvestą numerį į masyvą
jei ~ isempty (tempsel_array) % Jei masyvas NĖRA tuščias
tempsel_char = cell2mat (tempsel_array); % Konvertuokite masyvą į simbolių eilutę
tempsel = str2double (tempsel_char); % Konvertuokite simbolių eilutę į skaičius
thingSpeakWrite (chID, tempsel, 'WriteKey', writeKey, 'Fields', 1); % Įrašykite pasirinktą temperatūrą į „ThingSpeak“kanalą
break % Pertrauka nuo ciklo, kad meniu nebūtų rodomas kelis kartus
else % Jei vartotojas spustelėja atšaukti, o ne įveda temperatūrą
msg1 = msgbox ('Temperatūra nepasirinkta, numatytoji vertė 85 F', 'Įspėjimas!'); % Pranešimas rodomas vartotojui spustelėjus atšaukti
laukti (msg1); % Prieš tęsdami palaukite, kol pranešimų langas bus uždarytas
tempselis = 85; % Nustatykite temperatūrą, kuri buvo nurodyta pranešimų laukelyje
thingSpeakWrite (chID, tempsel, 'WriteKey', writeKey, 'Fields', 1); % Įrašykite pasirinktą temperatūrą į „ThingSpeak“kanalą
break % Pertrauka nuo ciklo, kad meniu nebūtų rodomas kelis kartus
galas
galas
kol tiesa
chID = 745517; % „ThingSpeak“kanalo ID
writeKey = 'G9XOQTP8KOVSCT0N'; % Raktas prieigai prie „ThingSpeak“kanalo
% Inicijuokite jutiklius, kad gautumėte duomenis
tempread = readVoltage (a, 'A3'); % Perskaitykite temperatūros jutiklio įtampą
lightl1 = skaitymo įtampa (a, 'A2'); % Fotorezistoriaus šviesos lygis pereina į raudoną šviesos diodą
lightl2 = skaitymo įtampa (a, 'A5'); % Fotoresistoriaus, einančio į apsaugos sistemą, šviesos lygis
switchv = readVoltage (a, 'A0'); % Vertė jungikliui
% Konvertuokite temperatūros duomenis iš įtampos į Farenheito laipsnius
tempC = (tempread - 0,5) * 100; % Konvertuokite įtampą į temperatūrą Celsijaus laipsniais
tempF = (tempC * 9/5) + 32; % Konvertuokite temperatūrą pagal Celsijų į Farenheito temperatūrą
% Inicijuokite daugiaspalvio šviesos diodo kaiščių numerius
redp = 'D9'; % Kaištis raudonai šviesai iš LED
greenp = 'D10'; % Kištukas žaliai šviesai iš LED
bluep = 'D11'; % Mėlynos šviesos iš LED kaištis
jei temppsel <tempF % Jei pasirinkta temperatūra yra didesnė už kambario temperatūrą
writePosition (s, 1); % Servo pradės judėti
pauzė (10) % „Servo“toliau suksis 10 sekundžių, rodydama, kad po tam tikro laiko AC išsijungs
writePosition (s, 0); % Išjunkite ventiliatorių, kad tęstumėte kodą neįjungę ventiliatoriaus
tempselis = 150; % Pakeiskite temperatūros vertę, kad išeitumėte iš ciklo, kai ventiliatorius išjungtas, dar kartą tik tam, kad tęstumėte kodą
galas
jei lightl1 <= 3 % Jei pirmasis fotorezistorius aptinka silpną apšvietimo lygį
writeDigitalPin (a, 'A1', 1); % Įjunkite raudoną šviesos diodą, kuris reiškia lauko žibintus
else % Jei šviesos lygis vėl yra aukštas
writeDigitalPin (a, 'A1', 0); % Išjunkite raudoną šviesos diodą, kai šviesos lygis vėl yra pakankamai aukštas
galas
jei jungiklisv> 3 % Jei jungiklis įjungtas
A = egzistuoja ('m', 'var'); % Patikrinkite, ar egzistuoja kintamasis „m“, jis bus inicijuotas ciklo „ciklas“metu ir leis jį sulaužyti, kai bus pasirinktas meniu elementas (todėl kodo pradžioje reikia padaryti aiškų m)
tuo tarpu A == 0 % ciklas vykdomas tol, kol egzistuoja kintamasis „m“
menutext = 'Kurį saugos režimą norėtumėte įjungti?'; % Iššokančiojo saugos teksto tekstas
options = {'Home', 'Away'}; % Iššokančio saugumo meniu pasirinkimas
m = meniu (meniu tekstas, pasirinkimai); % Iššokantis meniu apsaugos sistemos režimams
break % Užtikrina, kad ciklas while yra nutrūkęs, todėl meniu nebus rodomas kelis kartus
galas
jei m == 1 % Jei pasirinktas „Pagrindinis“režimas
writeDigitalPin (a, bluep, 1); % Įjunkite tik mėlyną šviesą spalvas keičiančiame LED
writeDigitalPin (a, redp, 0);
writeDigitalPin (a, greenp, 0);
elseif m == 2 % Jei pasirinktas režimas „Away“
writeDigitalPin (a, bluep, 0);
writeDigitalPin (a, redp, 0);
writeDigitalPin (a, greenp, 1); % Įjunkite tik žalią spalvą keičiančio šviesos diodo lemputę
jei lightl2 <= 3 % Jei antrojo fotorezistoriaus šviesos lygis yra žemas, tai reiškia, kad apsaugos sistema aptiko judesį
sendmail (el. laiškai, subj, tekstas); % Siųsti el. Laišką su anksčiau apibrėžtomis el. Pašto savybėmis writeDigitalPin (a, greenp, 0); % Blykstės raudona spalva įjungta ir išjungta 2 kartus
writeDigitalPin (a, redp, 1);
pauzė (0,3)
writeDigitalPin (a, redp, 0);
pauzė (0,3)
writeDigitalPin (a, redp, 1);
pauzė (0,3)
writeDigitalPin (a, redp, 0);
pauzė (0,3)
writeDigitalPin (a, redp, 1); % Užbaikite raudona spalva, kai mirksi, kad būtų parodytas judėjimas, kol šviesos lygis vėl pakils
msg2 = msgbox ('Apsaugos sistema aptiko įsibrovėlį, namų savininkams buvo išsiųstas el. laiškas, kad jie būtų informuoti.', 'ĮSPĖJIMAS!'); % Pranešimų dėžutė, skirta informuoti vartotoją apie judesį ir informuoti apie išsiųstą el. Laišką laukiant (msg2) % Palaukite, kol pranešimų langas bus uždarytas
Kitas
writeDigitalPin (a, greenp, 1); % Kai šviesos lygis vėl pakils, jis vėl taps žalias
galas
galas
elseif jungiklisv <3,3 % Jei jungiklis išjungtas
writeDigitalPin (a, bluep, 0); % Visiškai išjunkite šviesos diodą, kad parodytumėte, jog apsaugos sistema yra išjungta
writeDigitalPin (a, redp, 0);
writeDigitalPin (a, greenp, 0);
galas
galas
Rekomenduojamas:
Linijos sekėjas „HoGent“- „Synthese“projektas: 8 žingsniai
Linijos sekėjas HoGent - Syntheseproject: Voor het vak syntheseproject kregen we de opdracht een linefollower te maken. In deze instructable zal ik uitleggen hoe ik deze gemaakt heb, en tegen welke problemen ik o.a ben aangelopen
Gimbalo stabilizatoriaus projektas: 9 žingsniai (su nuotraukomis)
„Gimbal Stabilizer Project“: kaip padaryti gimbalą Sužinokite, kaip padaryti 2 ašių gimbalą jūsų veiksmo kamerai. Šiandienos kultūroje mes visi mėgstame įrašyti vaizdo įrašus ir užfiksuoti akimirkas, ypač kai esate turinio kūrėjas, kaip aš, tikrai susidūrėte su problema toks neramus video
(IOT projektas) Gaukite orų duomenis naudodami ESP8266 ir „Openweather“API: 5 žingsniai
(IOT projektas) Gaukite orų duomenis naudodami ESP8266 ir „Openweather“API: Šioje instrukcijoje mes sukursime paprastą IOT projektą, kurio metu iš mūsų svetainės „openweather.com/api“nuskaitysime orų duomenis ir parodysime juos naudodami apdorojimo programinę įrangą
„IOT Home Automation DIY“projektas #1: 7 žingsniai
„IOT Home Automation DIY“projektas Nr. 1: # ĮVADAS Namų automatizavimas yra buitinių prietaisų, tokių kaip kintamosios srovės, ventiliatoriaus, šaldytuvo, lempučių, automatizavimo procesas ir sąrašas tęsiamas, kad juos būtų galima valdyti telefonu, kompiuteriu ar net nuotoliniu būdu. Šis projektas susijęs su esp2866
USB degiklis! Šis projektas gali sudegti per plastiką / medieną / popierių (įdomus projektas taip pat turi būti labai plonas medis): 3 žingsniai
USB degiklis! Šis projektas gali sudegti per plastiką / medieną / popierių (įdomus projektas taip pat turi būti labai plonas medis): NEDARYKITE ŠIO NAUDOTI USB! iš visų komentarų sužinojau, kad tai gali pakenkti jūsų kompiuteriui. mano kompiuteris gerai. Naudokite 600 mA 5v telefono įkroviklį. Aš tai naudoju ir jis veikia gerai, ir niekas negali būti sugadintas, jei naudosite apsauginį kištuką, kad sustabdytumėte maitinimą