Tartalomjegyzék:
- Lépés: Fényérzékeny LED
- 2. lépés: Mini tápkapcsoló
- 3. lépés: Második fotocella
- 4. lépés: RGB LED
- 5. lépés: Hőmérséklet -érzékelő
- 6. lépés: DAGU hajtóműves motor
- 7. lépés: Kód
Videó: EF230 intelligens otthon projekt: 7 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:42
Szükséges alkatrészek és anyagok:
- 1 Arduino MKR 1000
- 3 Kenyeretábla
- 2 mini fotocella
- 1 NPN tranzisztor
- 1 mini tápkapcsoló
- 1 LED - RGB (4 érintkezős)
- 1 LED (választott szín)
- 1 dióda 1N4148
- 1 10K ohmos ellenállás
- 5 100 Ohm ellenállás
- 1 TMP36 hőmérséklet -érzékelő
- 1 DAGU 48: 1 arányú hajtóműves motor
- 25 Jumper vezetékek
- USB kábel
- MATLAB program
-
SIK kísérleti útmutató az Arduino 101/Genuino 101 táblához - SIK kísérleti útmutató link
Ez a projekt részletezi az intelligens otthoni rendszer koncepcionális tervezését, amely adatokat használna fel a lakástulajdonosok energiafelhasználásának és biztonságának optimalizálásához. Tartalmaz egy fényérzékelőt a kültéri lámpák éjszakai bekapcsolásához, egy fényérzékelőt a biztonság érdekében, valamint egy hőmérséklet -érzékelőt és ventilátort a beltéri hőmérséklet szabályozásához.
Lépés: Fényérzékeny LED
- A fényérzékeny LED -elrendezés az éjszaka kigyulladó ház kültéri lámpáit jelenti.
- Amikor a mini fénysorompó csökkentett mennyiségű fényt érzékel, a LED kigyullad.
- Egy okos otthon számára ennek energia- és biztonsági vonatkozásai vannak. Energiát takarít meg, ha nappal kikapcsolja a lámpákat, és fokozott biztonságot nyújt éjszaka.
- A projekt ezen részének pontos bekötése és beállítása megtalálható a SIK kísérleti útmutató 7. kísérletében.
2. lépés: Mini tápkapcsoló
- A kapcsoló az első lépés az intelligens otthon biztonsági folyamatában.
- Amikor be van kapcsolva, a kapcsoló válaszol, és megkérdezi a felhasználót, hogy szeretne -e „otthoni” vagy „távol” módba lépni.
- Ha az „Otthoni” mód van kiválasztva, a biztonság hatástalanítottnak minősül, de az „Idegen” mód kiválasztása élesíti a biztonsági rendszert.
- A projekt ezen részének kábelezése megtalálható a kísérleti útmutató 6. kísérlete alatt. Az intelligens otthon szempontjából a 6. kísérletben található LED -eket és azok összekötő vezetékét nem kell belefoglalni.
3. lépés: Második fotocella
- A második fotocella mozgásérzékelőként szolgál az intelligens otthon biztonsági rendszeréhez.
- Az érzékelőt csak akkor használja, ha a rendszer „távol” üzemmódba van állítva az előző lépésben leírtak szerint.
- Ha a fotocella csökkenti a kapott fény mennyiségét, akkor ezt a házon belüli mozgásként ismeri fel.
- A projekt ezen részének beállítása megtalálható a SIK kísérleti útmutató 7. kísérletében. A vezetékekbe azonban csak a fotocellát és a csatlakozó vezetékeket kell beépíteni.
4. lépés: RGB LED
- Az RGB LED -et a mini tápkapcsolóval és a második fotocellával együtt használják az intelligens otthon biztonsági rendszeréhez.
- A három különböző szín indikátorként szolgál az okos otthon lakója számára.
- Amikor a rendszer „Home” módba van állítva, a LED kéken világít. Amikor a rendszert „távol” üzemmódba állítja, a LED zöldre vált. Amikor a mozgásérzékelőként használt fotocella kiold, a fény pirosan villog.
- Az RGB LED kábelezése megtalálható a SIK kísérleti útmutató 3. kísérletében.
5. lépés: Hőmérséklet -érzékelő
- A hőmérséklet -érzékelő az intelligens otthon energiatakarékosságának fontos része.
- A lakó a kívánt hőmérsékletet tudja megadni otthonának, amikor az intelligens otthon használatban van.
- A hőmérséklet -érzékelő az, amellyel a rendszer tudja, hogy a tényleges hőmérséklet milyen messze van a kívánt hőmérséklettől.
- A hőmérséklet -érzékelő beállítása megtalálható a SIK kísérleti útmutató 9. kísérletében.
6. lépés: DAGU hajtóműves motor
- A motor lehetővé teszi az intelligens otthon számára, hogy a kívánt hőmérséklet és a hőmérséklet -érzékelő leolvasása alapján szabályozza a ház hőmérsékletét.
- Az otthoni váltakozó áramú egységként működő motor különböző sebességgel forog attól függően, hogy a tényleges hőmérséklet mennyivel magasabb, mint a kívánt hőmérséklet. Minél nagyobb a különbség, annál gyorsabban forog a motor.
- A motor bekötése megtalálható a kísérleti útmutatóban a 11. kísérlet alatt.
7. lépés: Kód
- Az intelligens otthon kódja több felhasználói felületet tartalmaz, amelyek lehetővé teszik a lakó számára, hogy könnyen megértse működését és könnyen módosítsa a beállításokat.
- Az intelligens otthon rendszerrel a lakó e -mailben értesítést kap, ha a mozgásérzékelő kikapcsol, amíg távol vannak.
- Az egyetlen változtatás, amelyet meg kell tenni, az a feladó e -mail címére és a címzett e -mail címére vonatkozó információk beszúrása.
tiszta a; tiszta s; tiszta m; clc; minden bezárása; % Törölje az arduino és a szervo változókat, hogy minden alkalommal újradefiniálhassák őket, így a kód hatékonyan fog futni ("clear m" szükséges, hogy az egyik ciklus megfelelően működjön) a = arduino (); % Állítsa be az arduino változót
s = szervo (a, 'D6'); % Állítsa be a szervo változót
% Inicializálja az e -mail változókat a biztonsági rendszer figyelmeztető e -mailjeihez
e -mailek = {'címzett címének beszúrása'}; % E -mailek tömbje, amelyekre a biztonsági e -mailt el kell küldeni
% Az e -mail beállítások szükségesek ahhoz, hogy a Gmail leveleket küldjön
setpref ('Internet', 'E_mail', 'feladó e -mail címe');
setpref ('Internet', 'SMTP_felhasználónév', 'feladó felhasználóneve');
setpref ('Internet', 'SMTP_Password', 'feladó jelszava');
kellékek = 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 -mail tárgy és szöveg változók
subj = 'Riasztás otthonában';
text = 'Helló, ez az Ön intelligens otthoni biztonsági rendszere, amely arról tájékoztat, hogy mozgást észlelt otthonán kívül. Megtettük a szükséges intézkedéseket, és felvettük a kapcsolatot a hatóságokkal. Maradj biztonságban.';
míg igaz
prompt = {'Adja meg a kívánt otthoni hőmérsékletet (65F és 85F között):'}; % Felhasználói beviteli menü kérése
dlgtitle = 'Hőmérsékletválasztás'; % A felhasználói beviteli menü címe
halvány = [1 30]; % Méretek a felhasználói beviteli menüben
definput = {'72'}; % Alapértelmezett bemenet, amely a menü első megnyitásakor jelenik meg
tempsel_array = inputdlg (prompt, dlgtitle, dims, definput); % Felugró felhasználói beviteli menü, amely a megadott számot tömbbe menti
if ~ isempty (tempsel_array) % Ha a tömb NEM üres
tempsel_char = cell2mat (tempsel_array); % A tömb átalakítása karakterlánccá
tempsel = str2double (tempsel_char); % A karakterlánc konvertálása számokká
thingSpeakWrite (chID, tempsel, 'WriteKey', writeKey, 'Fields', 1); % Írja be a kiválasztott hőmérsékletet a ThingSpeak csatornájába
break % Break from while loop, így a menü nem fog többször felbukkanni
else % Ha a felhasználó a Mégse gombra kattint a hőmérséklet megadása helyett
msg1 = msgbox ('Nincs hőmérséklet kiválasztva, alapértelmezés szerint 85F', 'Figyelem!'); % Üzenet jelenik meg a felhasználónak a Mégse gombra kattintás után
várni (msg1); % Várja meg, amíg az üzenetmező bezáródik, mielőtt folytatná
tempsel = 85; % Állítsa be a hőmérsékletet az üzenetmezőben megadott értékre
thingSpeakWrite (chID, tempsel, 'WriteKey', writeKey, 'Fields', 1); % Írja be a kiválasztott hőmérsékletet a ThingSpeak csatornájára
break % Break from while loop, így a menü nem fog többször felbukkanni
vége
vége
míg igaz
chID = 745517; % ThingSpeak csatornaazonosító
writeKey = 'G9XOQTP8KOVSCT0N'; % Kulcs a ThingSpeak csatorna eléréséhez
% Inicializálja az érzékelőket az adatok lekéréséhez
tempread = readVoltage (a, 'A3'); % Olvassa le a hőmérséklet -érzékelő feszültségét
lightl1 = readVoltage (a, 'A2'); % A fényellenállás fényereje a piros LED felé
lightl2 = readVoltage (a, 'A5'); % Fényszint a biztonsági rendszerhez tartozó fotorezisztor számára
switchv = readVoltage (a, 'A0'); % Érték a kapcsolóhoz
% Konvertálja a hőmérséklet adatait feszültségről Fahrenheit fokra
tempC = (tempread - 0,5) * 100; % Konvertálja a feszültséget Celsius -féle hőmérsékletre
tempF = (tempC * 9/5) + 32; % Konvertálja a Celsius -fokban mért hőmérsékletet Fahrenheit -fokra
% Inicializálja a pin -számokat a többszínű LED -hez
redp = 'D9'; % Tű a piros LED -től
greenp = 'D10'; % Tű a zöld LED -től
bluep = 'D11'; % Tű a kék fényhez a LED -től
ha temppsel <tempF % Ha a kiválasztott hőmérséklet nagyobb, mint a szobahőmérséklet
writePosition (s, 1); % Servo elkezd mozogni
szünet (10) % A szervó 10 másodpercig forog tovább, jelezve, hogy az AC meghatározott idő után kikapcsol.
writePosition (s, 0); % Kapcsolja ki a ventilátort, ha a kódot ventilátor bekapcsolása nélkül szeretné folytatni
tempsel = 150; % Változtassa meg a hőmérséklet értékét, hogy a ventilátor kikapcsolása után kitörjön a hurokból, ismét csak a kód folytatása céljából
vége
ha lightl1 <= 3 % Ha az első fotorezisztor gyenge fényszintet észlel
writeDigitalPin (a, 'A1', 1); % Kapcsolja be a piros LED -et, amely a kültéri lámpákat jelzi
else % Ha a fényerő ismét magas
writeDigitalPin (a, 'A1', 0); % Kapcsolja ki a piros LED -et, ha a fényerő ismét elég magas
vége
ha kapcsolóv> 3 % Ha a kapcsoló be van kapcsolva
A = létezik ('m', 'var'); % Ellenőrizze az 'm' változó meglétét, ez inicializálja a while ciklusot, és lehetővé teszi, hogy megtörje a menüelem kiválasztásakor (ezért a m elején törölni kell a kódot)
míg A == 0 % Loop addig fut, amíg az „m” változó nem létezik
menutext = 'Melyik biztonsági módba szeretne belépni?'; % A biztonsági előugró menü szövege
options = {'Otthon', 'Távol'}; % A biztonsági előugró menü választási lehetőségei
m = menü (menutext, választási lehetőségek); % Előugró menü a biztonsági rendszermódokhoz
break % Biztosítja, hogy a while ciklus megszakadjon, így a menü nem jelenik meg többször
vége
ha m == 1 % Ha a 'Home' mód van kiválasztva
writeDigitalPin (a, bluep, 1); % Kapcsolja be a kék fényt a színváltó LED -ben
writeDigitalPin (a, redp, 0);
writeDigitalPin (a, greenp, 0);
elseif m == 2 % Ha a "Távol" mód van kiválasztva
writeDigitalPin (a, bluep, 0);
writeDigitalPin (a, redp, 0);
writeDigitalPin (a, greenp, 1); % Csak a zöld fényt kapcsolja be a színváltó LED -ben
ha lightl2 <= 3 % Ha a fényerő a második fotorezisztorban alacsony, ami a biztonsági rendszer által észlelt mozgást jelzi
sendmail (e -mailek, subj, szöveg); % E -mail küldése a korábban meghatározott email tulajdonságokkal writeDigitalPin (a, greenp, 0); % Vörös vaku kétszer ki- és bekapcsolva
writeDigitalPin (a, redp, 1);
szünet (0,3)
writeDigitalPin (a, redp, 0);
szünet (0,3)
writeDigitalPin (a, redp, 1);
szünet (0,3)
writeDigitalPin (a, redp, 0);
szünet (0,3)
writeDigitalPin (a, redp, 1); % Villogás után fejezze be a pirosat, jelezve, hogy mozgás van, amíg a fényszint vissza nem emelkedik
msg2 = msgbox ('A biztonsági rendszer észlelte a betolakodót, e -mailt küldtünk a háztulajdonosoknak, hogy tájékoztassuk őket.', 'FIGYELEM!'); % Üzenetdoboz a felhasználó tájékoztatására a mozgásról és az elküldött e -mail értesítésére várni (msg2) % Várja meg, amíg az üzenetmező bezáródik, mielőtt folytatja
más
writeDigitalPin (a, greenp, 1); % Miután a fényerő ismét emelkedett, zöldre vált
vége
vége
elseif kapcsolóv <3,3 % Ha a kapcsoló ki van kapcsolva
writeDigitalPin (a, bluep, 0); % Kapcsolja ki teljesen a LED -et, hogy a biztonsági rendszer ki legyen kapcsolva
writeDigitalPin (a, redp, 0);
writeDigitalPin (a, greenp, 0);
vége
vége
Ajánlott:
Távoli intelligens otthon: 5 lépés
Távoli intelligens otthon: Anyag: dunne gelamineerde hout platen. 1 x grondplaat és átmérőjű kisteherautó 1 cm -es nagels
Intelligens otthon Arduino -val: 11 lépés (képekkel)
Intelligens otthon Arduino -val: Helló. Megmutatom, hogyan kell saját intelligens otthonát építeni. Kijelzi a külső és belső hőmérsékletet, ha az ablak nyitva vagy csukva van, jelzi, ha esik az eső, és riaszt, ha a PIR -érzékelő mozog. Az alkalmazást androidra készítettem, hogy
HackerBox 0054: Intelligens otthon: 8 lépés
HackerBox 0054: Intelligens otthon: Üdvözlet a HackerBox Hackereknek világszerte! A HackerBox 0054 intelligens kapcsolók, érzékelők és egyebek segítségével fedezi fel az otthoni automatizálást. Konfigurálja a Sonoff WiFi intelligens kapcsolókat. Módosítsa az intelligens kapcsolókat, hogy programozási fejléceket és alternatív firmware -t adjon hozzá
ForgetMeNot - Intelligens otthon értesítési platform: 14 lépés (képekkel)
ForgetMeNot - Intelligens otthon értesítési platform: Elfoglalt egyetemistákként, az órák, munkahelyek és családi kötelezettségek között rohangálva hajlamosak vagyunk elfelejteni az apróságokat. A születésnap úgy jön és megy, hogy észre sem vesszük, egy fontos határidő elmúlik a feledékenység miatt, és néha
Olcsó intelligens otthon - vezérlés bárhonnan a világon: 6 lépés
Olcsó intelligens otthon - Irányítás bárhonnan a világon: Körülbelül Manapság mindkét szülő azon dolgozik, hogy kényelmes életet biztosítson a családnak. Tehát sok olyan elektronikai készülék van otthonunkban, mint a fűtés, a légkondicionáló, a mosógép stb. Amikor visszatérnek az otthonukba, nagyon kényelmesen kell érezniük magukat