Orodha ya maudhui:

Mfumo wa Nyumbani wa Arduino: Hatua 7
Mfumo wa Nyumbani wa Arduino: Hatua 7

Video: Mfumo wa Nyumbani wa Arduino: Hatua 7

Video: Mfumo wa Nyumbani wa Arduino: Hatua 7
Video: Lesson 22: Using Seven Segment Display with Arduino and Electronic Dice | SunFounder Robojax 2024, Julai
Anonim
Mfumo wa Nyumbani wa Arduino
Mfumo wa Nyumbani wa Arduino
Mfumo wa Nyumbani wa Arduino
Mfumo wa Nyumbani wa Arduino

Katika Agizo hili tutakuonyesha jinsi ya kuunda mfumo wako mzuri wa nyumba na Mbuni wa App wa MATLAB na bodi ya Sparkfun Red. Agizo hili linaweza kutumiwa kusaidia kupata uelewa wa msingi wa Mbuni wa App wa MATLAB, na pia kutumia kipiga picha, servomotor, na sensorer ya mwendo wa PIR.

Hatua ya 1: Kuanza: Vifaa

Mradi huu unahitaji vifaa vifuatavyo:

- Arduino Uno (Kwa mradi huu tulitumia bodi Nyekundu ya Sparkfun)

- Mpiga picha mmoja

- Moja mini-servo motor

- Moja inayoendelea servo motor

- Sensor moja ya mwendo wa PIR

- sensorer moja ya joto

- 2 LEDs

- waya na vipinga inapohitajika

Hatua ya 2: Hatua ya 2: Kukaribia Shida ya Kutatua

Lengo kuu la mradi huu ilikuwa kuunda mfumo rahisi wa kutumia nyumba kwa kuweka alama kwenye bodi ya Arduino Uno na MATLAB. Kwanza tulifikiria juu ya kufanya kazi tu na sensorer ya joto na unyevu, hata hivyo ikiwa tukikaa na sensorer hizo mbili mfumo wetu wa nyumba nzuri hauwezi kuuzwa kwa hadhira ya jumla. Tuliamua kuwa tunataka kuunda mfumo wa jumla wa nishati ya nyumbani ambao utafanya kazi kama thermostat smart na mfumo wa usalama. Mwishowe, tulitaka kufanya kazi na AppDesigner ya MATLAB ili mtumiaji aweze kubadilisha kwa urahisi nyumba nzuri kama apendavyo.

Hatua ya 3: Hatua ya 3: Kusanidi GUI na Mtiririko wa Msimbo wa Msingi

Hatua ya 3: Kusanidi GUI na Mtiririko wa Msimbo wa Msingi
Hatua ya 3: Kusanidi GUI na Mtiririko wa Msimbo wa Msingi

Kuanza utahitaji kufungua MATLABs AppDesigner na uweke yafuatayo:

Sehemu mbili za kuhariri nambari kwa pembejeo ya moto na baridi

Kitufe cha kufungua mlango

Na taa nne za kiashiria cha mahali pa moto, mlango, shabiki, na taa ya mafuriko.

Lebo mbili za kuwasiliana na mtumiaji.

Kwa mradi huu tumeona ni rahisi kufanya kazi na anuwai za ulimwengu na kazi ya kuanza ndani ya mbuni. Utahitaji vigeuzi hivi ndani ya kazi ya kuanza:

kimataifa a

a = arduino ('COM3', 'uno', 'Maktaba', 'Servo'); ulimwengu wa kimataifa p kimataifa hotUI kimataifa baridiUI kufungua ulimwengu temp ya ulimwengu curr_temp kimataifa int_light

Hivi sasa tuna kazi ya kutofautisha ili kompyuta yako iweze kusoma arduino. COM3 inaweza kutofautiana kulingana na bandari ambayo kompyuta yako inaweza kutumia.

Unapoendesha nambari, itaanza ndani ya kazi ya kuanza kuunda anuwai za ulimwengu na kurekebisha mfumo. Mwisho wa kazi hii kutakuwa na kazi ya kipima muda inayoita mali tuliyoiita Timer. Ndani ya mali hii ya Timer tunaweka nambari inayotumia mfumo wa nyumbani ili kipima muda kisirudishe nambari ya upimaji.

Kumbuka: Hatukupa maagizo yoyote ya wiring kwa mfumo. Tulirejelea mwongozo unaokuja na bodi ya SparkFun Red.

Hatua ya 4: Hatua ya 3: Kuanzisha Mfumo wa Thermostat

Hatua ya 3: Kuanzisha Mfumo wa Thermostat
Hatua ya 3: Kuanzisha Mfumo wa Thermostat
Hatua ya 3: Kuanzisha Mfumo wa Thermostat
Hatua ya 3: Kuanzisha Mfumo wa Thermostat

Kazi ya thermostat inafanya kazi kama ifuatavyo:

Mtumiaji ataingiza hali ya joto anayoiona kuwa ya moto sana au baridi sana. Mara tu kipima joto kinaposoma, ikiwa nyumba ni baridi sana basi "mahali pa moto" (taa nyekundu ya LED) itawasha na kuchoma nyumba. Ikiwa nyumba ni ya moto sana basi "shabiki" (injini inayoendelea ya servo) atawasha baridi nyumbani.

Ili kuweka kanuni ya mfumo wa Thermostat:

Tutaanza ndani ya kazi ya kuanza ili kuonyesha temp ya sasa na kumruhusu mtumiaji aingize vizingiti vyao baridi na moto.

p = 'A0'% Photoresistor pin

volt = kusomaVoltage (a, temp); celc = (volt-0.5). * 100; curr_temp = celc * 9/5 + 32; programu. Label_4. Text = num2str (curr_temp); Nambari ya lebo inaweza kubadilisha pause (10); Huenda wanataka kubadilika !!!!!

Kisha tutakamilisha mfumo wa thermostat ndani ya mali ya Timer.

curr_temp ya kimataifa

coldUI kimataifa global hotUI ikiwa curr_temp hotUI app. FanStateLamp. Color = [0.47 0.67 0.19]; % Inabadilisha kuandika kwa taa ya kijani ya GUIPWMDutyCycle (a, 'D11',.9)% Mistari mitatu inayofuata ya nambari inaendesha pumziko la shabiki wa servo (10) andikaPWMDutyCycle (a, 'D11',.0) programu nyingine. FireplaceStateLamp. Color = [0.90 0.90 0.90]; % Hii inazima taa zote za GUI na programu ya mahali pa moto. FanStateLamp. Color = [0.9 0.9 0.9]; andikaDigitalPin (a, 'D13', 0); mwisho

Hatua ya 5: Hatua ya 4: Kuweka Mfumo wa Mlango

Hatua ya 4: Kuweka Mfumo wa Milango
Hatua ya 4: Kuweka Mfumo wa Milango

Kazi ya mlango hufanya kazi kama ifuatavyo:

Wakati wa kwanza kutumia nambari yako ya MATLAB, programu itakuuliza ufungue mlango ili muuzaji wa picha aweze kusoma usomaji wa mwangaza. Mara tu hiyo itakapokamilika, kipima muda kitaamilisha na muuzaji wa picha atachukua usomaji wa nuru ya pili. Ikiwa kusoma kwa nuru ya sekondari ni nyepesi kuliko ile ya mwanzo, motor ya servo itafunga mlango. Ikiwa mtumiaji anataka mlango kufunguliwa, anaweza kubonyeza kitufe kwenye programu ambayo itafungua mlango.

Kusanidi servo motor na photoresistor:

Ili kuweka mfumo wa milango:

Tutaanza ndani ya kazi ya kuanza kuchukua usomaji wa mwangaza wa kwanza.

s = servo (a, 'D9')% Siri inaweza kubadilika kulingana na wiring

app. Label_4. Text = 'Tafadhali fungua mlango wa kusawazisha mfumo'; pumzika (15); Hii inatoa wakati kwa mtumiaji kufungua mlango int_light = Voltage (a, p); app. Label_4. Text = 'Unaweza kuondoa kidole chako';

Ifuatayo, tutakamilisha nambari ndani ya mali ya Timer

kufungua kimataifa

global int_light global s global a% Pata usomaji wa sasa wa mwanga ili kulinganisha curr_light = readVoltage (a, p); % - Mlango wa Kufuli - ikiwa int_light <curr_light writePosition (s, 1)% Nafasi za Servo zinaweza kutofautiana kwa pause ya gari (0.5); programu. DoorStateLamp. Color = [0.47 0.67 0.19]; mwisho% - Kufungua Mlango - ikiwa kufungua == 1234 pause (0.5); programu ya kuandikaPosition (s,.52). DoorStateLamp. Color = [0.85 0.33 0.10]; mwisho

Mwishowe tutaunda kitufe cha kufungua tena. Mara tu mtumiaji akibonyeza kitufe cha kufungua, kufungua kwa kutofautisha kwa ulimwengu kutapewa nambari ambayo inaweza kukamilisha mwisho ikiwa taarifa katika mali ya Timer.

kufungua kimataifa

kufungua = 1234;

Hatua ya 6: Hatua ya 6: Kuanzisha Mfumo wa Nuru ya Mafuriko

Hatua ya 6: Kuanzisha Mfumo wa Nuru ya Mafuriko
Hatua ya 6: Kuanzisha Mfumo wa Nuru ya Mafuriko

Kazi ya taa ya mafuriko inafanya kazi kama ifuatavyo:

Unapoanza nambari ya MATLAB, sensa ya mwendo ya PIR itaanza kugundua mwendo. Mara tu itakapogundua aina fulani ya mwendo, itakata ishara ya nguvu. Mara tu ishara hiyo ikakatwa, taa ya mafuriko itawasha nje ya nyumba.

Kusanidi mfumo wa taa ya mafuriko:

Kuweka mfumo wa taa ya mafuriko:

Wakati huu tunaweza kuruka kwa mali ya Timer kwa sababu hatuitaji kuandika anuwai yoyote ya ziada.

human_detected = somaDigitalPin (a, 'D2'); % Pin inaweza kubadilika kulingana na usanidi ikiwa human_detected == 0 writeDigitalPin (a, 'D7', 1)% Pin inaweza kubadilisha programu. FloodLightStateLamp. Color = [0.47 0.67 0.19]; kingine ikiwa kibinadamu_ kiligunduliwa == programu 1. FloodLightStateLamp. Color = [0.9 0.9 0.9]; andikaDigitalPin (a, 'D7', 0) mwisho

Hatua ya 7: Hitimisho

Sasa kwa kuwa una rasimu ya GUI yako na Mbuni wa App na nambari yako ya Arduino uko tayari kufanya mabadiliko yako mwenyewe au kuziba Arduino yako na uende!

Ilipendekeza: