Satura rādītājs:
- 1. darbība: lai sāktu: materiāli
- 2. solis: 2. solis: pieeja problēmai, kas jāatrisina
- 3. darbība: 3. darbība: GUI un pamata koda plūsmas konfigurēšana
- 4. darbība: 3. darbība: termostata sistēmas iestatīšana
- 5. darbība: 4. darbība: durvju sistēmas iestatīšana
- 6. darbība: 6. darbība: plūdu gaismas sistēmas iestatīšana
- 7. solis. Secinājums
Video: Arduino viedās mājas sistēma: 7 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
Šajā pamācībā mēs parādīsim, kā izveidot savu viedās mājas sistēmu, izmantojot MATLAB lietotņu noformētāju ar Sparkfun Red tāfeli. Šo pamācību var izmantot, lai palīdzētu labāk izprast MATLAB lietotņu dizaineru, kā arī izmantot fotorezistoru, servomotoru un PIR kustības sensoru.
1. darbība: lai sāktu: materiāli
Šim projektam nepieciešami šādi materiāli:
- Arduino Uno (šim projektam mēs izmantojām Sparkfun Red dēli)
- Viens fotorezistors
- Viens mini servomotors
- Viens nepārtraukts servomotors
- Viens PIR kustības sensors
- Viens temperatūras sensors
- 2 gaismas diodes
- Vadi un rezistori pēc vajadzības
2. solis: 2. solis: pieeja problēmai, kas jāatrisina
Šī projekta galvenais mērķis bija izveidot viegli lietojamu viedās mājas sistēmu, kodējot Arduino Uno plāksni ar MATLAB. Mēs vispirms domājām tikai par darbu ar temperatūras un mitruma sensoru, tomēr, ja mēs paliktu pie šiem diviem sensoriem, mūsu viedās mājas sistēma nebūtu viegli pārdodama plašai auditorijai. Mēs nolēmām, ka vēlamies izveidot vispārēju viedas mājas enerģijas sistēmu, kas darbotos kā viedais termostats un drošības sistēma. Visbeidzot, mēs vēlējāmies sadarboties ar MATLAB AppDesigner, lai lietotājs varētu viegli mainīt viedo māju, kā vēlas.
3. darbība: 3. darbība: GUI un pamata koda plūsmas konfigurēšana
Lai sāktu, jums ir jāatver MATLABs AppDesigner un jāievada:
Divi ciparu rediģēšanas lauki karstā un aukstā sliekšņa ievadei
Poga durvju atslēgšanai
Un četras indikatora lampas kamīnam, durvīm, ventilatoram un plūdu gaismai.
Divas etiķetes, lai sazinātos ar lietotāju.
Šim projektam mums bija vieglāk strādāt ar globālajiem mainīgajiem un startēšanas funkciju dizainera ietvaros. Startēšanas funkcijā jums būs nepieciešami šie mainīgie:
globāls a
a = arduino ('COM3', 'uno', 'Bibliotēkas', 'Servo'); global s global p global hotUI global coldUI global unlock global temp global curr_temp global int_light
Pašlaik mums ir tikai mainīgā piešķiršana, lai jūsu dators varētu lasīt arduino. COM3 var atšķirties atkarībā no datora izmantotā porta.
Palaižot kodu, tas sāksies palaišanas funkcijā, izveidojot globālos mainīgos un kalibrējot sistēmu. Šīs funkcijas beigās būs taimera funkcija, kas izsauks īpašumu, ko mēs nosaucām par taimeri. Šajā Taimera rekvizītā mēs ievietojam kodu, kas vada mājas sistēmu, lai taimeris atkārtoti neizpildītu kalibrēšanas kodu.
Piezīme. Mēs nesniedzām nekādus sistēmas vadu norādījumus. Mēs atsaucāmies uz rokasgrāmatu, kas pievienota SparkFun Red plāksnei.
4. darbība: 3. darbība: termostata sistēmas iestatīšana
Termostata funkcija darbojas šādi:
Lietotājs ievadīs temperatūru, ko uzskata par pārāk karstu vai pārāk aukstu. Tiklīdz termometrs nolasa rādījumus, ja mājās ir pārāk auksts, "kamīns" (sarkana gaismas diode) ieslēgsies un sildīs māju. Ja mājās ir pārāk karsts, tad "ventilators" (nepārtraukts servomotors) ieslēgs mājas dzesēšanu.
Lai kodētu termostata sistēmu:
Mēs sāksim palaišanas funkcijā, lai parādītu pašreizējo temperatūru un ļautu lietotājam ievadīt aukstuma un karstuma sliekšņus.
p = 'A0' %Fotorezistora tapa
volt = readVoltage (a, temp); celc = (volt-0,5).*100; curr_temp = celc*9/5+32; app. Label_4. Text = num2str (curr_temp); %Etiķetes numurs var mainīt pauzi (10); %Var gribēt mainīties !!!!!
Tad mēs pabeigsim termostata sistēmu Taimera īpašumā.
globālais curr_temp
global coldUI global a global hotUI if curr_temp hotUI app. FanStateLamp. Color = [0.47 0.67 0.19]; %Pārvērš GUI lampu zaļu rakstītPWMDutyCycle (a, 'D11',.9) %Nākamās trīs koda rindas palaiž servo ventilatora pauzi (10) writePWMDutyCycle (a, 'D11',.0) cits app. FireplaceStateLamp. Color = [0,90 0,90 0,90]; %Tas izslēdz visas GUI lampas un kamīna lietotni. FanStateLamp. Color = [0.9 0.9 0.9]; writeDigitalPin (a, 'D13', 0); beigas
5. darbība: 4. darbība: durvju sistēmas iestatīšana
Durvju funkcija darbojas šādi:
Pirmoreiz palaižot MATLAB kodu, lietotne lūgs jums atvērt durvis, lai fotorezistors varētu veikt sākotnējo gaismas nolasījumu. Kad tas ir pabeigts, taimeris aktivizēsies un fotorezistors veiks sekundāros gaismas rādījumus. Ja sekundārās gaismas rādījums ir vieglāks nekā sākotnējais, servodzinējs aizslēgs durvis. Ja lietotājs vēlas, lai durvis tiktu atslēgtas, lietotnē var nospiest pogu, kas durvis atbloķēs.
Lai konfigurētu servomotoru un fotorezistoru:
Lai kodētu durvju sistēmu:
Mēs sāksim startēšanas funkcijas ietvaros, lai veiktu sākotnējos gaismas rādījumus.
s = servo (a, 'D9') %Piespraude var mainīties atkarībā no elektroinstalācijas
app. Label_4. Text = 'Lūdzu, atveriet durvis, lai kalibrētu sistēmu'; pauze (15); %Tas dod laiku lietotājam atvērt durvis int_light = readVoltage (a, p); app. Label_4. Text = 'Jūs varat noņemt pirkstu';
Tālāk mēs aizpildīsim kodu īpašumā Taimeris
globāla atbloķēšana
global int_light global s global a %Iegūstiet pašreizējo gaismas rādījumu, lai salīdzinātu curr_light = readVoltage (a, p); % - Bloķēt durvis - ja int_light <curr_light writePosition (s, 1) % Servo pozīcijas var atšķirties atkarībā no motora pauzes (0,5); app. DoorStateLamp. Color = [0,47 0,67 0,19]; beigas % - atbloķēt durvis - ja atbloķēt == 1234 pauze (0,5); writePosition (s,.52) app. DoorStateLamp. Color = [0,85 0,33 0,10]; beigas
Visbeidzot, mēs izveidosim atbloķēšanas pogas atzvanīšanu. Kad lietotājs nospiež atbloķēšanas pogu, globālajam mainīgajam atbloķēšanai tiks piešķirts numurs, kas var aizpildīt galīgo if paziņojumu rekvizītā Taimeris.
globāla atbloķēšana
atbloķēt = 1234;
6. darbība: 6. darbība: plūdu gaismas sistēmas iestatīšana
Plūdu gaismas funkcija darbojas šādi:
Sākot MATLAB kodu, PIR kustības sensors sāks noteikt kustību. Kad tas nosaka kāda veida kustību, tas pārtrauks jaudas signālu. Kad šis signāls ir nogriezts, ārpus mājas iedegas plūdu gaisma.
Lai konfigurētu plūdu gaismas sistēmu:
Lai kodētu plūdu gaismas sistēmu:
Šoreiz mēs varam pāriet uz rekvizītu Taimeris, jo mums nav jāraksta papildu mainīgie.
human_detected = readDigitalPin (a, 'D2'); %Pin var mainīties atkarībā no konfigurācijas, ja human_detected == 0 writeDigitalPin (a, 'D7', 1) %Pin var mainīties 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) beigas
7. solis. Secinājums
Tagad, kad ar lietotņu noformētāju ir izveidots jūsu GUI uzmetums un Arduino kods, esat gatavs veikt savus labojumus vai pievienot Arduino un doties!
Ieteicams:
Alexa viedās mājas sistēma, izmantojot NodeMCU releja moduli: 10 soļi
Alexa viedās mājas sistēma, izmantojot NodeMCU releja moduli: Šajā IoT projektā esmu izveidojis Alexa viedās mājas automatizācijas sistēmu, izmantojot NodeMCU ESP8266 & Releju modulis. Jūs varat viegli kontrolēt gaismu, ventilatoru un citu sadzīves tehniku, izmantojot balss komandu. Lai savienotu viedo skaļruni Echo Dot ar
Viedās mājas sistēma: 6 soļi
Viedās mājas sistēma: šī pamācība palīdzēs izskaidrot, kā iestatīt un izmantot mūsu viedās mājas sistēmu, izmantojot Matlab programmatūru un Raspberry Pi aparatūru. Šīs pamācības beigās jums vajadzētu būt iespējai viegli un pilnībā izmantot mūsu produktu
Lēta un vienkārša viedās mājas sistēma: 7 soļi
Lēta un vienkārša viedās mājas sistēma: Sveiki! Es esmu Eds Es esmu 15 gadus vecs ar aizraušanos ar skaitļošanu, programmēšanu un elektrotehniku. Tā kā esmu diezgan jauna, es dzīvoju vecāku mājā, šis projekts sākās, kad nolēmu pārcelties uz mansarda/ mansarda istabu, izstrādājot
IoT viedās mājas sistēma: 8 soļi
IoT viedās mājas sistēma: šī ir Keefe un Jons viedās mājas sistēma iot
Viedās mājas uzraudzība, izmantojot Alexa un Arduino: 9 soļi (ar attēliem)
Viedās mājas uzraudzība, izmantojot Alexa un Arduino: Pašreizējā pasaulē cilvēki vairāk laika pavada darba vietā, nevis mājās. Tāpēc ir nepieciešama mājas uzraudzības sistēma, kurā cilvēki darba laikā var iepazīt mājas apstākļus. Būtu vēl labāk, ja viens