Tartalomjegyzék:
- 1. lépés: Kezdés: Anyagok
- 2. lépés: 2. lépés: A megoldandó probléma megközelítése
- 3. lépés: 3. lépés: A GUI és az alapvető kódfolyamat beállítása
- 4. lépés: 3. lépés: A termosztátrendszer beállítása
- 5. lépés: 4. lépés: Az ajtórendszer beállítása
- 6. lépés: 6. lépés: Az árvízfény rendszer beállítása
- 7. lépés: Következtetés
Videó: Arduino intelligens otthoni rendszer: 7 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
Ebben az utasításban megmutatjuk, hogyan hozhat létre saját intelligens otthoni rendszert a MATLAB App Designer alkalmazásával, Sparkfun Red táblával. Ez az útmutató segíthet a MATLAB alkalmazás -tervezőjének alaposabb megértésében, valamint fotorezisztor, szervomotor és PIR mozgásérzékelő használatával.
1. lépés: Kezdés: Anyagok
Ez a projekt a következő anyagokat igényli:
- Arduino Uno (ehhez a projekthez egy Sparkfun Red táblát használtunk)
- Egy fotorezisztor
- Egy mini szervomotor
- Egy folyamatos szervomotor
- Egy PIR mozgásérzékelő
- Egy hőmérséklet -érzékelő
- 2 LED
- Vezetékek és ellenállások szükség szerint
2. lépés: 2. lépés: A megoldandó probléma megközelítése
A projekt fő célja egy könnyen használható intelligens otthoni rendszer létrehozása volt az Arduino Uno kártya MATLAB kódolásával. Először arra gondoltunk, hogy csak hőmérséklet- és páratartalom -érzékelővel dolgozunk, de ha maradunk ennél a két érzékelőnél, az intelligens otthoni rendszerünk nem lenne könnyen értékesíthető a nagyközönség számára. Úgy döntöttünk, hogy egy átfogó intelligens otthoni energiarendszert szeretnénk létrehozni, amely intelligens termosztátként és biztonsági rendszerként működik. Végül a MATLAB AppDesigner programjával akartunk dolgozni, hogy a felhasználó könnyedén megváltoztathassa az okosotthont, ahogy akarja.
3. lépés: 3. lépés: A GUI és az alapvető kódfolyamat beállítása
Az induláshoz nyissa meg a MATLABs AppDesigner alkalmazást, és helyezze el a következőket:
Két numerikus szerkesztőmező hideg és meleg küszöbértékekhez
Egy gomb az ajtó kinyitásához
És négy jelzőlámpa a kandallóhoz, az ajtóhoz, a ventilátorhoz és az árvízfényhez.
Két címke kommunikál a felhasználóval.
Ennél a projektnél könnyebbnek találtuk a globális változókkal és a tervezőn belüli indítási funkcióval való munkát. Ezekre a változókra lesz szüksége az indítási funkcióban:
globális a
a = arduino ('COM3', 'uno', 'Libraries', 'Servo'); global s global p globális hotUI globális coldUI globális feloldás globális hőmérséklet globális curr_temp globális int_light
Jelenleg csak a változóhoz van hozzárendelésünk, hogy számítógépe olvashassa az arduino -t. A COM3 a számítógép által használt porttól függően eltérő lehet.
Amikor futtatja a kódot, az az indítási funkción belül kezdődik, létrehozva a globális változókat és kalibrálva a rendszert. Ennek a funkciónak a végén lesz egy időzítő funkció, amely meghívja az időzítő nevű tulajdonságot. Ezen a Timer tulajdonságon belül beírjuk az otthoni rendszert futtató kódot, hogy az időzítő ne futtassa újra a kalibrációs kódot.
Megjegyzés: Nem adtunk semmilyen kábelezési utasítást a rendszerhez. Utaltunk a SparkFun Red táblához mellékelt kézikönyvre.
4. lépés: 3. lépés: A termosztátrendszer beállítása
A termosztát funkciója a következőképpen működik:
A felhasználó megadja, hogy milyen hőmérsékletet tart túl forrónak vagy túl hidegnek. Ha a hőmérő leolvas, és ha az otthon túl hideg, akkor a "kandalló" (piros LED) bekapcsol és felmelegíti az otthont. Ha a ház túl meleg, akkor egy "ventilátor" (folyamatos szervomotor) bekapcsolja a ház hűtését.
A termosztát rendszer kódolása:
Kezdjük az indítási funkción belül, hogy megjelenítse az aktuális hőmérsékletet, és hagyja, hogy a felhasználó beírja a hideg és meleg küszöbértékeket.
p = 'A0' %Fotorezisztor csap
volt = olvasott feszültség (a, temp); celc = (volt-0,5).*100; curr_temp = celc*9/5+32; app. Label_4. Text = szám2str (curr_temp); %Címke száma megváltoztathatja a szünetet (10); %Lehet változtatni akar !!!!!
Ezután befejezzük a termosztát rendszert az Időzítő tulajdonságon belül.
globális curr_temp
global coldUI global a global hotUI if curr_temp hotUI app. FanStateLamp. Color = [0,47 0,67 0,19]; %Zöldre váltja a GUI lámpát írásbanPWMDutyCycle (a, 'D11',.9) %A következő három kódsor futtatja a szervóventilátor szünetét (10) writePWMDutyCycle (a, 'D11',.0) else app. FireplaceStateLamp. Color = [0,90 0,90 0,90]; %Ez kikapcsolja a GUI lámpákat és a kandalló alkalmazást. FanStateLamp. Color = [0,9 0,9 0,9]; writeDigitalPin (a, 'D13', 0); vége
5. lépés: 4. lépés: Az ajtórendszer beállítása
Az ajtó funkciója a következőképpen működik:
Amikor először futtatja a MATLAB kódot, az alkalmazás felkéri Önt, hogy nyissa ki az ajtót, hogy a fotorezisztor kezdeti fénymérést végezzen. Amint ez befejeződött, az időzítő aktiválódik, és a fényellenállás másodlagos fénymérést végez. Ha a másodlagos fényjelzés könnyebb, mint a kezdeti, akkor egy szervomotor zárja be az ajtót. Ha a felhasználó szeretné kinyitni az ajtót, megnyomhat egy gombot az alkalmazásban, amely kinyitja az ajtót.
A szervomotor és a fényellenállás konfigurálása:
Az ajtórendszer kódolása:
Az indítási funkción belül kezdjük el a kezdeti fényjelzéseket.
s = szervo (a, 'D9') %A tű a vezetékektől függően változhat
app. Label_4. Text = 'Kérjük, nyissa ki az ajtót a rendszer kalibrálásához'; szünet (15); %Ez időt ad a felhasználónak, hogy kinyissa az ajtót int_light = readVoltage (a, p); app. Label_4. Text = 'Eltávolíthatja az ujját';
Ezután befejezzük a kódot az Időzítő tulajdonságon belül
globális feloldás
globális int_light globális s globális a %Szerezzen aktuális fényértéket a curr_light = readVoltage (a, p) összehasonlításához; % - Ajtó zárása - ha int_light <curr_light writePosition (s, 1) % A szervo pozíciók motor szünetenként eltérhetnek (0,5); app. DoorStateLamp. Color = [0,47 0,67 0,19]; end % - Ajtó kinyitása - ha kinyit == 1234 szünet (0,5); writePosition (s,.52) app. DoorStateLamp. Color = [0,85 0,33 0,10]; vége
Végül elkészítjük a feloldógomb visszahívását. Amint a felhasználó megnyomja a feloldó gombot, a globális változó feloldása egy számot kap, amely befejezi a végső if utasítást az Időzítő tulajdonságban.
globális feloldás
feloldás = 1234;
6. lépés: 6. lépés: Az árvízfény rendszer beállítása
A fényszóró funkciója a következőképpen működik:
Amikor elindítja a MATLAB kódot, a PIR mozgásérzékelő elkezdi érzékelni a mozgást. Miután észlelt bizonyos típusú mozgást, megszakítja a tápellátást. Miután ezt a jelet megszüntették, az árvízlámpa kigyullad a házon kívül.
A fényszóró rendszer konfigurálása:
A fényszóró rendszer kódolása:
Ezúttal átugorhatjuk az Időzítő tulajdonságot, mert nincs szükség további változók írására.
human_detected = readDigitalPin (a, 'D2'); %Pin változhat a konfigurációtól függően, ha human_detected == 0 writeDigitalPin (a, 'D7', 1) %Pin változhat app. FloodLightStateLamp. Color = [0,47 0,67 0,19]; elseif human_detected == 1 app. FloodLightStateLamp. Color = [0,9 0,9 0,9]; writeDigitalPin (a, 'D7', 0) vége
7. lépés: Következtetés
Most, hogy megvan a GUI tervezete az App Designerrel és az Arduino kódja, készen áll a saját szerkesztések elvégzésére, vagy csatlakoztassa az Arduino -t, és menjen!
Ajánlott:
Alexa intelligens otthoni rendszer a NodeMCU relé modul használatával: 10 lépés
Alexa intelligens otthoni rendszer a NodeMCU relé modul használatával: Ebben az IoT projektben elkészítettem az Alexa Smart Home Automation rendszert a NodeMCU ESP8266 & Relé modul. A hangvezérléssel könnyedén vezérelheti a világítást, a ventilátort és más háztartási készülékeket. Az Echo Dot intelligens hangszóró csatlakoztatásához a
Intelligens otthoni rendszer: 6 lépés
Intelligens otthoni rendszer: Ez az útmutató segít elmagyarázni, hogyan állítsa be és használja intelligens otthoni rendszerünket a Matlab szoftver és a Raspberry Pi hardver használatával. Ennek az utasításnak a végén Önnek képesnek kell lennie arra, hogy könnyedén használhassa termékünket
Olcsó és egyszerű intelligens otthoni rendszer: 7 lépés
Olcsó és egyszerű intelligens otthoni rendszer: Szia! Ed vagyok. 15 éves vagyok, és rajongok a számítástechnika, a programozás és az elektrotechnika iránt. Mivel nagyon fiatal vagyok, a szüleim házában lakom, ez a projekt akkor kezdődött, amikor úgy döntöttem, hogy a tervezés során a Tetőtérbe/ Loft szobába költözöm
Arduino otthoni biztonsági rendszer: 7 lépés (képekkel)
Arduino otthoni biztonsági rendszer: Ez az Arduino Mega 2560 -at használó otthonbiztonsági rendszer, amely riasztást vált ki, amikor ajtót kinyitják, vagy mozgást észlel a szobában, amikor a rendszert aktiválják. Ez egy szép projekt bárkinek az utolsó évben az egyetemen. frissítheted
IoT intelligens otthoni rendszer: 8 lépés
IoT intelligens otthoni rendszer: Ez a Keefe és a Jons intelligens otthoni rendszer az iot -on