Obsah:

EF230 Smart Home Project: 7 kroků
EF230 Smart Home Project: 7 kroků

Video: EF230 Smart Home Project: 7 kroků

Video: EF230 Smart Home Project: 7 kroků
Video: EF 230 Roomba Project 2024, Červen
Anonim
EF230 Smart Home Project
EF230 Smart Home Project

Potřebné díly a materiály:

  • 1 Arduino MKR 1000
  • 3 prkénka
  • 2 mini fotobuňky
  • 1 NPN tranzistory
  • 1 Mini vypínač
  • 1 LED - RGB (4 hroty)
  • 1 LED (barva dle vašeho výběru)
  • 1 dioda 1N4148
  • 1 10K ohmové odpory
  • Rezistor 5 100 ohmů
  • 1 teplotní senzor TMP36
  • Převodový motor 1 DAGU 48: 1
  • 25 propojovacích drátů
  • USB kabel
  • Program MATLAB
  • Průvodce experimentem SIK pro desku Arduino 101/Genuino 101 - odkaz na průvodce experimentem SIK

Tento projekt podrobně popisuje koncepční návrh systému inteligentní domácnosti, který by pomocí dat pomáhal majitelům domů optimalizovat spotřebu energie a zabezpečení. Obsahuje světelný senzor pro zapnutí venkovních světel v noci, světelný senzor pro zabezpečení a teplotní senzor a ventilátor pro regulaci vnitřní teploty.

Krok 1: LED citlivá na světlo

  • Nastavení LED citlivé na světlo má reprezentovat venkovní osvětlení v domě, který se v noci rozsvítí.
  • Když mini fotobuňka zaznamená snížené množství světla, rozsvítí se LED.
  • Na inteligentní dům to má energetické a bezpečnostní důsledky. Ušetří energii ponecháním zhasnutých světel ve dne a v noci zajistí zvýšenou bezpečnost.
  • Přesné zapojení a nastavení pro tuto část projektu najdete v experimentu 7 v Průvodci experimentem SIK.

Krok 2: Mini Power Switch

  • Přepínač je prvním krokem v procesu zabezpečení chytré domácnosti.
  • Když je přepínač zapnutý, inicializuje odpověď s dotazem uživatele, zda chce přejít do režimu „Domů“nebo „Pryč“.
  • Pokud je zvolen režim „Domů“, zabezpečení je považováno za deaktivované, ale výběrem režimu „Pryč“se aktivuje zabezpečovací systém.
  • Zapojení pro tuto část projektu lze nalézt pod experimentem 6 v Průvodci experimenty. Pro účely inteligentní domácnosti nemusí být LED diody a jejich spojovací vodiče nalezené v experimentu 6 zahrnuty.

Krok 3: Druhá fotobuňka

Druhá fotobuňka
Druhá fotobuňka
  • Druhá fotobuňka slouží jako snímač pohybu bezpečnostního systému chytré domácnosti.
  • Senzor se používá pouze tehdy, když je systém v režimu „Pryč“, jak je popsáno v předchozím kroku.
  • Pokud fotobuňka zaznamená pokles množství světla, které přijímá, rozpozná to jako pohyb uvnitř domu.
  • Nastavení pro tuto část projektu lze nalézt pod experimentem 7 v Průvodci experimentem SIK. Do kabeláže je však třeba zahrnout pouze fotobuňku a její propojovací vodiče.

Krok 4: RGB LED

  • RGB LED se používá ve spojení s mini vypínačem a druhou fotobuňkou pro bezpečnostní systém chytré domácnosti.
  • Tři různé barvy se používají jako indikátory pro obyvatele chytré domácnosti.
  • Když je systém přepnut do režimu „Home“, kontrolka LED zmodrá. Když je systém v režimu „Pryč“, kontrolka LED se rozsvítí zeleně. Když se aktivuje fotobuňka používaná jako snímač pohybu, kontrolka bliká červeně.
  • Zapojení RGB LED lze nalézt v experimentu 3 příručky SIK Experiment Guide.

Krok 5: Snímač teploty

  • Teplotní senzor je hlavní součástí úspory energie v chytré domácnosti.
  • Když je inteligentní dům v provozu, je obyvatel schopen zadat požadovanou teplotu pro svůj domov.
  • Teplotní senzor je to, jak systém ví, jak daleko je skutečná teplota od požadované teploty.
  • Nastavení teplotního senzoru lze nalézt v experimentu 9 příručky SIK Experiment Guide.

Krok 6: Převodový motor DAGU

Převodový motor DAGU
Převodový motor DAGU
  • Motor umožňuje chytré domácnosti regulovat teplotu v domě na základě požadované teploty a odečtů teplotního čidla.
  • Motor, který v domácnosti funguje jako střídavá jednotka, se bude točit různými rychlostmi podle toho, o kolik je skutečná teplota vyšší než požadovaná teplota. Čím vyšší je rozdíl, tím rychleji se motor otáčí.
  • Zapojení motoru lze nalézt v Průvodci experimentem v experimentu 11.

Krok 7: Kód

  • Kód pro inteligentní domácnost obsahuje více uživatelských rozhraní, která rezidentovi umožňují snadno pochopit, jak funguje, a snadno změnit nastavení.
  • Se systémem inteligentní domácnosti bude obyvatel dostávat upozornění e -mailem, pokud je pohybový senzor vypnut, když jsou pryč.
  • Jedinou změnou, kterou je třeba provést, je vložení informací pro e -mail odesílatele a e -mailovou adresu příjemce.

vymazat a; jasné s; jasný m; clc; zavřít vše; % Vymazat proměnné arduino a servo, aby je bylo možné pokaždé předefinovat, aby kód běžel efektivně („clear m“je nutné pro správnou funkci smyček while) a = arduino (); % Nastavte proměnnou arduino

s = servo (a, 'D6'); % Nastavte proměnnou servo

% Inicializujte e -mailové proměnné pro výstražný e -mail systému zabezpečení

e -maily = {'vložte adresu příjemce'}; % Pole e -mailů, na které má být zaslán bezpečnostní e -mail

% Nastavení předvoleb e -mailu nutná pro odesílání pošty z Gmailu

setpref ('Internet', 'E_mail', 'e -mailová adresa odesílatele');

setpref ('Internet', 'SMTP_Username', 'uživatelské jméno odesílatele');

setpref ('Internet', 'SMTP_Password', 'heslo odesílatele');

props = 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');

% Proměnné předmětu a textu e -mailu

subj = 'Upozornění vetřelce u vás doma';

text = 'Dobrý den, toto je váš bezpečnostní systém Smart Home, který vás informuje, že byl mimo váš domov detekován pohyb. Přijali jsme pro vás nezbytná opatření a kontaktovali úřady. Zůstat v bezpečí.';

zatímco pravda

prompt = {'Zadejte požadovanou domácí teplotu (mezi 65 F a 85 F):'}; % Výzva k nabídce vstupu uživatele

dlgtitle = 'Výběr teploty'; % Název pro nabídku vstupu uživatele

dims = [1 30]; % Rozměry pro nabídku vstupu uživatele

definput = {'72'}; % Výchozí vstup, který se zobrazí při prvním otevření nabídky

tempsel_array = inputdlg (prompt, dlgtitle, dims, definput); % Rozbalovací nabídka vstupu uživatele, která uloží zadané číslo do pole

if ~ isempty (tempsel_array) % Pokud pole NENÍ prázdné

tempsel_char = cell2mat (tempsel_array); % Převeďte pole na řetězec znaků

tempsel = str2double (tempsel_char); % Převést řetězec znaků na čísla

thingSpeakWrite (chID, tempsel, 'WriteKey', writeKey, 'Fields', 1); % Zapište zvolenou teplotu do svého kanálu ThingSpeak

break % Přerušení smyčky while, aby se nabídka nezobrazila několikrát

else % Pokud uživatel klikne na zrušit místo zadávání teploty

msg1 = msgbox ('Není vybrána žádná teplota, výchozí hodnota je 85 F', 'Varování!'); % Zpráva zobrazená uživateli po kliknutí na zrušit

čekat na (msg1); % Před pokračováním počkejte, až se okno se zprávou zavře

tempsel = 85; % Nastavte teplotu na hodnotu uvedenou v okně zprávy

thingSpeakWrite (chID, tempsel, 'WriteKey', writeKey, 'Fields', 1); % Zapište zvolenou teplotu do svého kanálu ThingSpeak

break % Přerušení smyčky while, aby se nabídka nezobrazila několikrát

konec

konec

zatímco pravda

chID = 745517; % ID kanálu ThingSpeak

writeKey = 'G9XOQTP8KOVSCT0N'; % Klíč pro přístup ke kanálu ThingSpeak

% Inicializujte senzory pro načítání dat

tempread = readVoltage (a, 'A3'); % Odečtěte napětí teplotního čidla

lightl1 = readVoltage (a, 'A2'); % Úroveň světla pro fotorezistor přecházející na červenou LED

lightl2 = readVoltage (a, 'A5'); % Úroveň světla pro fotorezistor přecházející do zabezpečovacího systému

switchv = readVoltage (a, 'A0'); % Hodnota pro přepínač

% Převod teplotních dat z napětí na stupně Fahrenheita

tempC = (templát - 0,5) * 100; % Převod napětí na teplotu ve stupních Celsia

tempF = (tempC * 9/5) + 32; % Převést teplotu ve stupních Celsia na teplotu ve Fahrenheitech

% Inicializujte čísla pinů pro vícebarevnou LED

redp = 'D9'; % Pin pro červené světlo z LED

greenp = 'D10'; % Pin pro zelené světlo z LED

bluep = 'D11'; % Pin pro modré světlo z LED

if tempsel <tempF % Pokud je zvolená teplota vyšší než pokojová teplota

writePosition (s, 1); % Servo se začne pohybovat

pauza (10) % Servo se bude točit 10 sekund, což znamená, že se AC vypne po určeném čase

writePosition (s, 0); % Vypněte ventilátor za účelem pokračování kódu bez zapnutí ventilátoru

tempsel = 150; % Změňte hodnotu teploty, aby se vypnula ze smyčky poté, co se ventilátor vypnul, opět jen za účelem pokračování kódu

konec

if lightl1 <= 3 % Pokud první fotoodpor detekuje nízkou úroveň osvětlení

writeDigitalPin (a, 'A1', 1); % Zapněte červenou LED, která představuje venkovní osvětlení

else % Pokud je úroveň světla opět vysoká

writeDigitalPin (a, 'A1', 0); % Vypněte červenou LED, když je úroveň osvětlení opět dostatečně vysoká

konec

pokud je přepínač v> 3 % Je -li spínač zapnutý

A = existovat ('m', 'var'); % Zkontrolujte existenci proměnné 'm', tím se inicializuje smyčka while a umožní její přerušení, když je vybrána položka nabídky (proto je nutné na začátku kódu provést vymazání m)

zatímco smyčka A == 0 % se spustí, dokud nebude existovat proměnná 'm'

menutext = 'Do kterého režimu zabezpečení byste chtěli vstoupit?'; % Text pro vyskakovací nabídku zabezpečení

options = {'Domů', 'Pryč'}; % Možnosti pro vyskakovací nabídku zabezpečení

m = menu (menutext, volby); % Rozbalovací nabídka režimů zabezpečovacího systému

break % Zajistí, aby byla smyčka while přerušena, takže se nabídka nezobrazí několikrát

konec

pokud m == 1 % Pokud je vybrán režim „Domů“

writeDigitalPin (a, bluep, 1); % Zapněte pouze modré světlo v LED měnící barvu

writeDigitalPin (a, redp, 0);

writeDigitalPin (a, greenp, 0);

elseif m == 2 % Je -li vybrán režim „Pryč“

writeDigitalPin (a, bluep, 0);

writeDigitalPin (a, redp, 0);

writeDigitalPin (a, greenp, 1); % Zapněte pouze zelené světlo v LED měnící barvu

pokud lightl2 <= 3 % Pokud je úroveň světla v druhém fotorezistoru nízká, představuje pohyb detekovaný bezpečnostním systémem

sendmail (e -maily, subj, text); % Odeslat e -mail s dříve definovanými vlastnostmi e -mailu writeDigitalPin (a, greenp, 0); % Bleskově červená barva 2krát zapnutá a vypnutá

writeDigitalPin (a, redp, 1);

pauza (0,3)

writeDigitalPin (a, redp, 0);

pauza (0,3)

writeDigitalPin (a, redp, 1);

pauza (0,3)

writeDigitalPin (a, redp, 0);

pauza (0,3)

writeDigitalPin (a, redp, 1); % Dokončete plnou červenou barvou po blikání, abyste ukázali, že je pohyb, dokud se úroveň světla nevrátí nahoru

msg2 = msgbox ('Zabezpečovací systém detekoval narušitele, majitelům domů byl zaslán e -mail, aby je informoval.', 'UPOZORNĚNÍ!'); % Okno se zprávou pro informování uživatele o pohybu a informování o odeslaném e -mailu čekající na (msg2) % Před pokračováním počkejte, až se okno se zprávou zavře

jiný

writeDigitalPin (a, greenp, 1); % Jakmile hladina světla opět stoupne, změní se zpět na zelenou

konec

konec

elseif switchv <3,3 % Pokud je spínač vypnutý

writeDigitalPin (a, bluep, 0); % Úplným zhasnutím diody LED zobrazíte, že je bezpečnostní systém vypnutý

writeDigitalPin (a, redp, 0);

writeDigitalPin (a, greenp, 0);

konec

konec

Doporučuje: