Talaan ng mga Nilalaman:
- Hakbang 1: Upang Magsimula: Mga Kagamitan
- Hakbang 2: Hakbang 2: Papalapit sa Suliranin upang Malutas
- Hakbang 3: Hakbang 3: Pag-configure ng GUI at Pangunahing Daloy ng Code
- Hakbang 4: Hakbang 3: Pagse-set up ng Therostat System
- Hakbang 5: Hakbang 4: Pag-set up ng Sistema ng Pinto
- Hakbang 6: Hakbang 6: Pag-set up ng Flood Light System
- Hakbang 7: Konklusyon
Video: Arduino Smart Home System: 7 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:13
Sa Instructable na ito, ipapakita namin sa iyo kung paano lumikha ng iyong sariling smart home system kasama ang App Designer ng MATLAB na may Sparkfun Red board. Ang Instructable na ito ay maaaring magamit upang makatulong na makakuha ng isang pangunahing pag-unawa sa App Designer ng MATLAB, pati na rin ang paggamit ng isang photoresistor, servomotor, at isang sensor ng paggalaw ng PIR.
Hakbang 1: Upang Magsimula: Mga Kagamitan
Ang proyektong ito ay nangangailangan ng mga sumusunod na materyales:
- Arduino Uno (Para sa proyektong ito, gumamit kami ng Sparkfun Red board)
- Isang photoresistor
- Isang mini-servo motor
- Isang tuluy-tuloy na servo motor
- Isang sensor ng paggalaw ng PIR
- Isang sensor ng temperatura
- 2 LEDs
- Mga wire at resistor kung kinakailangan
Hakbang 2: Hakbang 2: Papalapit sa Suliranin upang Malutas
Ang pangunahing layunin ng proyektong ito ay upang lumikha ng isang madaling gamitin na smart home system sa pamamagitan ng pag-cod ng isang Arduino Uno board na may MATLAB. Una naming naisip ang pagtatrabaho lamang sa isang sensor ng temperatura at halumigmig, subalit kung manatili kami sa dalawang sensor na iyon ang aming smart home system ay hindi madaling maibebenta sa isang pangkalahatang madla. Napagpasyahan namin na nais naming lumikha ng isang pangkalahatang smart home system system na gagana na gagana bilang isang matalinong termostat at security system. Sa wakas, nais naming gumana sa AppLesigner ng MATLAB upang madaling baguhin ng gumagamit ang matalinong bahay ayon sa gusto nila.
Hakbang 3: Hakbang 3: Pag-configure ng GUI at Pangunahing Daloy ng Code
Upang magsimula kakailanganin mong buksan ang MATLABs AppDesigner at ilagay ang sumusunod:
Dalawang mga patlang ng pag-edit ng bilang para sa isang mainit at malamig na input ng threshold
Isang pindutan upang ma-unlock ang pinto
At apat na mga lampara ng tagapagpahiwatig para sa fireplace, pintuan, bentilador, at ilaw ng baha.
Dalawang label upang makipag-usap sa gumagamit.
Para sa proyektong ito, nakita naming mas madaling gumana sa mga pandaigdigan na variable at ang pag-andar ng startup sa loob ng taga-disenyo. Kakailanganin mo ang mga variable na ito sa loob ng pag-andar ng startup:
pandaigdigan a
a = arduino ('COM3', 'uno', 'Library', 'Servo'); pandaigdigang p p pandaigdigang hotUI pandaigdigan coldUI pandaigdigan pag-unlock ng pandaigdigang temp pandaigdigan curr_temp pandaigdigang int_light
Sa ngayon mayroon lamang kaming pagtatalaga para sa isang variable upang mabasa ng iyong computer ang arduino. Ang COM3 ay maaaring magkakaiba depende sa kung anong port ang maaaring gamitin ng iyong computer.
Kapag pinatakbo mo ang code, magsisimula ito sa loob ng pagpapaandar ng startup na lumilikha ng mga pandaigdigang variable at pagkakalibrate ng system. Sa pagtatapos ng pagpapaandar na ito magkakaroon ng isang function ng timer na tumatawag sa isang pag-aari na pinangalanan naming Timer. Sa loob ng pagmamay-ari ng Timer na ito inilalagay namin ang code na nagpapatakbo ng system ng bahay upang ang timer ay hindi muling patakbuhin ang code sa pagkakalibrate.
Tandaan: Hindi kami nagbigay ng anumang mga tagubilin sa mga kable para sa system. Sumangguni kami sa manwal na kasama ng SparkFun Red board.
Hakbang 4: Hakbang 3: Pagse-set up ng Therostat System
Ang pagpapaandar para sa termostat ay gumagana tulad ng sumusunod:
Ipapasok ng gumagamit kung anong temperatura ang isinasaalang-alang nilang masyadong mainit o sobrang lamig. Kapag ang thermometer ay tumatagal ng isang pagbabasa, kung ang bahay ay masyadong malamig pagkatapos ang "fireplace" (isang pulang LED) ay bubuksan at maiinit ang bahay. Kung ang bahay ay masyadong mainit pagkatapos ang isang "fan" (tuluy-tuloy na servo motor) ay magpapasara sa pagpapalamig ng bahay.
Upang mai-code ang Therostat system:
Magsisimula kami sa loob ng pag-andar ng startup upang ipakita ang kasalukuyang temp at hayaan ang gumagamit na mag-input ng kanilang malamig at mainit na mga threshold.
p = 'A0'% Pin ng Photoresistor
volt = readVoltage (a, temp); celc = (volt-0.5). * 100; curr_temp = celc * 9/5 + 32; app. Label_4. Txt = num2str (curr_temp); Maaaring baguhin ng numero ng label ang pag-pause (10); % Maaaring gustoing magbago !!!!!
Pagkatapos ay makukumpleto namin ang sistemang termostat sa loob ng pag-aari ng Timer.
pandaigdigang curr_temp
pandaigdigan coldUI pandaigdigan isang pandaigdigang hotUI kung curr_temp hotUI app. FanStateLamp. Color = [0.47 0.67 0.19]; % Lumiliko ang berdeng GUI na berde magsulatPWMDutyCycle (a, 'D11',.9)% Ang susunod na tatlong linya ng code ay patakbuhin ang servo fan pause (10) magsulat ngPWMDutyCycle (a, 'D11',.0) iba pang app. FireplaceStateLamp. Color = [0.90 0.90 0.90]; % Patayin nito ang lahat ng mga GUI lamp at fireplace app. FanStateLamp. Color = [0.9 0.9 0.9]; isulatDigitalPin (a, 'D13', 0); magtapos
Hakbang 5: Hakbang 4: Pag-set up ng Sistema ng Pinto
Ang pagpapaandar para sa pinto ay gumagana tulad ng sumusunod:
Kapag pinatakbo mo muna ang iyong MATLAB code, hihilingin sa iyo ng app na buksan ang pinto upang ang photoresistor ay maaaring kumuha ng paunang ilaw na pagbasa. Kapag nakumpleto na iyon, ang timer ay magpapagana at ang photoresistor ay kukuha ng pangalawang pagbasa ng ilaw. Kung ang pangalawang ilaw na pagbasa ay mas magaan kaysa sa pauna, isang servo motor ang magkakandado ng pinto. Kung nais ng gumagamit na i-unlock ang pinto, maaari nilang pindutin ang isang pindutan sa app na i-unlock ang pinto.
Upang mai-configure ang servo motor at photoresistor:
Upang mai-code ang system ng pinto:
Magsisimula kami sa loob ng pagpapaandar ng startup upang gawin ang paunang pagbasa ng ilaw.
s = servo (a, 'D9')% Pin ay maaaring magbago batay sa mga kable
app. Label_4. Txt = 'Mangyaring buksan ang pinto upang i-calibrate ang system'; i-pause (15); % Nagbibigay ito ng oras para sa gumagamit na buksan ang pintuan int_light = readVoltage (a, p); app. Label_4. Txt = 'Maaari mong alisin ang iyong daliri';
Susunod, makukumpleto namin ang code sa loob ng pag-aari ng Timer
pandaigdigang pag-unlock
global int_light global s global a% Kumuha ng isang kasalukuyang pagbasa ng ilaw upang ihambing ang curr_light = readVoltage (a, p); % - Lock Door - kung int_light <curr_light writePosition (s, 1)% Posibleng magkakaiba ang mga posisyon ng Servo bawat pag-pause ng motor (0.5); app. DoorStateLamp. Color = [0.47 0.67 0.19]; pagtatapos% - I-unlock ang Pinto - kung i-unlock == 1234 pause (0.5); isulat angPosisyon (s,.52) app. DoorStateLamp. Color = [0.85 0.33 0.10]; magtapos
Sa wakas lilikha kami ng unlock button na callback. Kapag pinindot ng gumagamit ang unlock button, ang global variable unlock ay bibigyan ng isang numero na maaaring makumpleto ang pangwakas kung pahayag sa pag-aari ng Timer.
pandaigdigang pag-unlock
i-unlock = 1234;
Hakbang 6: Hakbang 6: Pag-set up ng Flood Light System
Ang pagpapaandar para sa ilaw ng baha ay gumagana tulad ng sumusunod:
Kapag sinimulan mo ang MATLAB code, sisimulan ng sensor ng paggalaw ng PIR ang paggalaw. Kapag nakakita ito ng ilang uri ng paggalaw, puputulin nito ang isang signal ng kuryente. Kapag na-cut na ang signal na iyon, magbubukas ang ilaw ng baha sa labas ng bahay.
Upang mai-configure ang light light system:
Upang mai-code ang light light system:
Sa oras na ito maaari kaming lumaktaw sa pag-aari ng Timer dahil hindi namin kailangang magsulat ng anumang labis na mga variable.
human_detected = readDigitalPin (a, 'D2'); Maaaring magbago ang% Pin batay sa pagsasaayos kung human_detected == 0 writeDigitalPin (a, 'D7', 1)% Pin maaaring baguhin ang app. FloodLightStateLamp. Color = [0.47 0.67 0.19]; elseif human_detected == 1 app. FloodLightStateLamp. Color = [0.9 0.9 0.9]; isulat angDigitalPin (a, 'D7', 0)
Hakbang 7: Konklusyon
Ngayon na mayroon kang isang draft ng iyong GUI kasama ang App Designer at ang iyong code para sa Arduino handa ka nang gumawa ng iyong sariling mga pag-edit o i-plug ang iyong Arduino at pumunta!
Inirerekumendang:
Gumawa ng isang Smart Home Control System sa STONE HMI Disp: 23 Mga Hakbang
Gumawa ng isang Smart Home Control System sa STONE HMI Disp: Pagpapakilala ng proyekto Ipinapakita sa iyo ng sumusunod na tutorial kung paano gamitin ang module ng pagpapakita ng touch ng STONE STVC050WT-01 upang makagawa ng isang simpleng sistema ng pagkontrol sa appliance ng bahay
Mga Pagpipilian ng NVR para sa DIY Home Surveillance System: 3 Mga Hakbang
Mga Pagpipilian ng NVR para sa DIY Home Surveillance System: Sa bahagi 3 ng seryeng ito, sinusuri namin ang mga pagpipilian sa NVR para sa parehong Raspberry Pi at para sa isang Windows PC. Sinubukan namin ang MotionEye OS sa Raspberry Pi 3 at pagkatapos ay titingnan namin ang iSpy, na isang nangungunang, open-source, surveillance ng video at solusyon sa seguridad.
Kumuha ng Mga Alerto sa Email Mula sa Iyong Home Security System Gamit ang Arduino: 3 Mga Hakbang
Kumuha ng Mga Alerto sa Email Mula sa Iyong Home Security System Gamit ang Arduino: Gamit ang Arduino, madali naming mai-retrofit ang pangunahing pagpapaandar sa email sa halos anumang mayroon nang pag-install ng security system. Partikular na angkop ito para sa mas matandang mga system na malamang matagal nang na-disconnect mula sa isang serbisyo sa pagsubaybay
Arduino Home Security System: 7 Mga Hakbang (na may Mga Larawan)
Arduino Home Security System: Ito ay isang Home Security System na gumagamit ng Arduino Mega 2560, na mag-uudyok ng alarma kapag binuksan ang anumang pinto o nakita ang paggalaw sa silid kapag na-aktibo ang system. Napakagandang proyekto para sa sinuman sa huling taon sa unibersidad. maaari mong i-upgrade ito
Makapangyarihang Standalone Home Automation System - Pi, Sonoff, ESP8266 at Node-Red: 9 Mga Hakbang (na may Mga Larawan)
Napakahusay na Standalone Home Automation System - Pi, Sonoff, ESP8266 at Node-Red: Ang gabay na ito ay dapat na ihatid ka sa unang base kung saan maaari mong buksan / patayin ang isang ilaw o isang appliance sa pamamagitan ng anumang aparato na maaaring kumonekta sa iyong lokal na network, at may mahusay na napapasadyang web interface. Malawak ang saklaw para sa mga tampok na extension / pagdaragdag, kasama