Kazalo:
- 1. korak: Za začetek: Materiali
- 2. korak: 2. korak: Pristopite k rešitvi problema
- 3. korak: 3. korak: Konfiguriranje grafičnega vmesnika in pretoka osnovne kode
- 4. korak: 3. korak: Nastavitev sistema termostata
- 5. korak: 4. korak: Nastavitev sistema vrat
- Korak 6: Korak 6: Nastavitev sistema luči
- 7. korak: Zaključek
Video: Arduino sistem pametnega doma: 7 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
V tem navodilu vam bomo pokazali, kako ustvariti lasten sistem pametnega doma z oblikovalcem aplikacij MATLAB s ploščo Sparkfun Red. Ta Instructable lahko uporabite za lažje razumevanje oblikovalca aplikacij podjetja MATLAB, pa tudi z uporabo fotorezistorja, servomotorja in senzorja gibanja PIR.
1. korak: Za začetek: Materiali
Ta projekt zahteva naslednje materiale:
- Arduino Uno (Za ta projekt smo uporabili rdečo ploščo Sparkfun)
- En foto upor
- En mini servo motor
- En neprekinjen servo motor
- En PIR senzor gibanja
- En temperaturni senzor
- 2 LED
- Žice in upori po potrebi
2. korak: 2. korak: Pristopite k rešitvi problema
Glavni cilj tega projekta je bil ustvariti enostaven za uporabo sistem pametnega doma s kodiranjem plošče Arduino Uno z MATLAB -om. Najprej smo razmišljali o tem, da bi delali samo s senzorjem temperature in vlažnosti, če pa bi ostali pri teh dveh senzorjih, naš sistem pametnega doma ne bi bil zlahka tržen za splošno publiko. Odločili smo se, da želimo ustvariti celoten energetski sistem pametnega doma, ki bi deloval kot pameten termostat in varnostni sistem. Nazadnje smo želeli sodelovati z MATLAB -jevim AppDesignerjem, tako da lahko uporabnik preprosto spremeni pametni dom, kot želi.
3. korak: 3. korak: Konfiguriranje grafičnega vmesnika in pretoka osnovne kode
Za začetek boste morali odpreti aplikacijo MATLABs AppDesigner in postaviti naslednje:
Dva številska polja za vnos praga vročega in hladnega
Gumb za odklepanje vrat
In štiri indikatorske svetilke za kamin, vrata, ventilator in reflektor.
Dve nalepki za komunikacijo z uporabnikom.
Za ta projekt smo lažje delali z globalnimi spremenljivkami in zagonsko funkcijo znotraj oblikovalca. V zagonski funkciji boste potrebovali te spremenljivke:
globalni a
a = arduino ('COM3', 'uno', 'Knjižnice', 'Servo'); globalno s globalno p globalno hotUI globalno hladnoUI globalno odklepanje globalno temp globalno curr_temp globalno int_light
Trenutno imamo samo spremenljivko dodeljeno, tako da lahko vaš računalnik bere arduino. COM3 se lahko razlikuje glede na vrata, ki jih uporablja vaš računalnik.
Ko zaženete kodo, se bo začela v zagonski funkciji ustvarjati globalne spremenljivke in kalibrirati sistem. Na koncu te funkcije bo funkcija časovnika, ki pokliče lastnost, ki smo jo poimenovali Timer. Znotraj te lastnosti Timer vnesemo kodo, ki poganja domači sistem, da časovnik ne zažene znova kalibracijske kode.
Opomba: Za sistem nismo dali navodil za ožičenje. Sklicevali smo se na priročnik, ki je priložen plošči SparkFun Red.
4. korak: 3. korak: Nastavitev sistema termostata
Funkcija termostata deluje na naslednji način:
Uporabnik bo vnesel temperaturo, za katero meni, da je prevroča ali prehladna. Ko termometer odčita, če je dom prehladen, se vklopi "kamin" (rdeča LED) in ogreva dom. Če je v hiši prevroče, se vklopi "ventilator" (neprekinjeni servo motor), ki hladi hišo.
Za kodiranje sistema termostata:
Začeli bomo v zagonski funkciji, da prikažemo trenutno temperaturo in uporabniku omogočimo, da vnese svoje hladne in vroče pragove.
p = 'A0' %Pin za fotorezistor
volt = readVoltage (a, temp); celc = (volt-0,5).*100; curr_temp = celc*9/5+32; app. Label_4. Text = num2str (curr_temp); %Številka oznake lahko spremeni premor (10); %Se morda želi spremeniti !!!!!
Nato bomo v lastnostih Timer dokončali sistem termostata.
globalni curr_temp
globalno coldUI globalno globalno hotUI if curr_temp hotUI app. FanStateLamp. Color = [0,47 0,67 0,19]; %Vklopi zeleno lučko GUI writePWMDutyCycle (a, 'D11',.9) %Naslednje tri vrstice kode zaženejo pavzo ventilatorja servo (10) writePWMDutyCycle (a, 'D11',.0) else app. FireplaceStateLamp. Color = [0,90 0,90 0,90]; %To izklopi vse GUI svetilke in aplikacijo za kamin. FanStateLamp. Color = [0,9 0,9 0,9]; writeDigitalPin (a, 'D13', 0); konec
5. korak: 4. korak: Nastavitev sistema vrat
Funkcija vrat deluje na naslednji način:
Ko prvič zaženete kodo MATLAB, vas bo aplikacija prosila, da odprete vrata, da bo lahko fotorezistor najprej odčitaval svetlobo. Ko je to končano, se bo časovnik aktiviral in fotorezistor bo izvedel sekundarne odčitke svetlobe. Če je sekundarna luč lažja od začetne, bo vrata zaklenil servo motor. Če želi uporabnik odkleniti vrata, lahko v aplikaciji pritisne gumb, ki odklene vrata.
Za nastavitev servo motorja in fotorezistorja:
Za kodiranje sistema vrat:
Začeli bomo v okviru zagonske funkcije, da vzamemo začetne odčitke svetlobe.
s = servo (a, 'D9') %Pin se lahko spremeni glede na ožičenje
app. Label_4. Text = 'Prosimo, odprite vrata za umerjanje sistema'; premor (15); %To daje uporabniku čas, da odpre vrata int_light = readVoltage (a, p); app. Label_4. Text = 'Lahko odstranite prst';
Nato bomo dokončali kodo v lastnosti Timer
globalno odklepanje
global int_light global s global a %Pridobite trenutni odčitek svetlobe za primerjavo curr_light = readVoltage (a, p); % - Zaklepanje vrat - če int_light <curr_light writePosition (s, 1) % Položaji servo se lahko razlikujejo glede na pavzo motorja (0,5); app. DoorStateLamp. Color = [0,47 0,67 0,19]; konec % - Odklepanje vrat - če je odklepanje == 1234 premor (0,5); writePosition (s,.52) app. DoorStateLamp. Color = [0,85 0,33 0,10]; konec
Končno bomo ustvarili povratni klic z gumbom za odklepanje. Ko uporabnik pritisne gumb za odklepanje, bo globalni spremenljivki odklepanje dodeljena številka, ki lahko dokonča stavek if v lastnosti Timer.
globalno odklepanje
odkleni = 1234;
Korak 6: Korak 6: Nastavitev sistema luči
Funkcija reflektorja deluje na naslednji način:
Ko zaženete kodo MATLAB, bo senzor gibanja PIR začel zaznavati gibanje. Ko zazna določeno vrsto gibanja, prekine signal za vklop. Ko se signal prekine, se zunaj doma prižge luč za poplavo.
Če želite konfigurirati sistem reflektorjev:
Za kodiranje sistema luči:
Tokrat lahko preskočimo na lastnost Timer, ker nam ni treba pisati dodatnih spremenljivk.
human_detected = readDigitalPin (a, 'D2'); %Pin se lahko spremeni glede na konfiguracijo, če human_detected == 0 writeDigitalPin (a, 'D7', 1) %Pin se lahko spremeni 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) konec
7. korak: Zaključek
Zdaj, ko imate osnutek svojega grafičnega vmesnika z oblikovalcem aplikacij in kodo za Arduino, ste pripravljeni narediti lastne popravke ali priključiti svoj Arduino in iti!
Priporočena:
Naredite nadzorni sistem pametnega doma na disku STONE HMI: 23 korakov
Ustvarite sistem za nadzor pametnega doma na disku STONE HMI: Uvod v projekt Naslednja vadnica vam prikazuje, kako z uporabo modula na dotik STONE STVC050WT-01 narediti preprost sistem za upravljanje gospodinjskih aparatov
SmartBox - sistem pametnega doma za vašo sobo: 6 korakov
SmartBox - sistem pametnega doma za vašo sobo: Pozdravljeni! V tem navodilu vam bom razložil, kako narediti sistem pametne sobe. Ta sistem vsebuje dve napravi: splošno napravo s senzorjem vlažnosti in temperaturnim senzorjem, ki meri trenutno kakovost bivanja v vaši sobi. Ti boš
Sistem pametnega doma: 6 korakov
Sistem pametnega doma: Ta navodila vam bodo pomagala razložiti, kako nastaviti in uporabljati naš sistem pametnega doma z uporabo programske opreme Matlab in strojne opreme Raspberry Pi. Na koncu tega navodila bi morali z lahkoto v celoti uporabljati naš izdelek
Poceni in enostaven sistem pametnega doma: 7 korakov
Poceni in enostaven sistem pametnega doma: Pozdravljeni, jaz sem Ed, star sem 15 let in se navdušujem nad računalništvom, programiranjem in elektrotehniko. Ker sem precej mlad, živim v hiši svojih staršev. Ta projekt se je začel, ko sem se odločil preseliti v mansardno/ podstrešno sobo, v postopku oblikovanja
IoT sistem pametnega doma: 8 korakov
IoT sistem pametnega doma: To je sistem pametnega doma Keefe in Jons na iotu