Բովանդակություն:
- Քայլ 1: Սկսելու համար. Նյութեր
- Քայլ 2: Քայլ 2. Մոտենալով լուծման խնդրին
- Քայլ 3. Քայլ 3. Կարգավորեք GUI- ն և հիմնական կոդի հոսքը
- Քայլ 4: Քայլ 3. Թերմոստատի համակարգի կարգավորում
- Քայլ 5: Քայլ 4. Դռների համակարգի կարգավորում
- Քայլ 6: Քայլ 6. Loodրհեղեղի լույսի համակարգի կարգավորում
- Քայլ 7: Եզրակացություն
Video: Arduino Smart Home համակարգ ՝ 7 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:48
Այս Instructable- ում մենք ձեզ ցույց կտանք, թե ինչպես ստեղծել ձեր սեփական խելացի տան համակարգը MATLAB- ի App Designer- ի միջոցով Sparkfun Red տախտակով: Այս Instructable- ը կարող է օգտագործվել MATLAB- ի App Designer- ի վերաբերյալ հիմնական պատկերացում ձեռք բերելու, ինչպես նաև ֆոտոընդդիմադիր, սերվոմոտորային և PIR շարժման տվիչ օգտագործելու համար:
Քայլ 1: Սկսելու համար. Նյութեր
Այս նախագիծը պահանջում է հետևյալ նյութերը.
- Arduino Uno (այս նախագծի համար մենք օգտագործեցինք Sparkfun Red տախտակ)
- Մեկ ֆոտոընդդիմադիր
- Մեկ մինի-սերվո շարժիչ
- Մեկ անընդհատ servo շարժիչ
- Մեկ PIR շարժման տվիչ
- Մեկ ջերմաստիճանի տվիչ
- 2 լուսադիոդ
- Հաղորդալարեր և ռեզիստորներ ըստ անհրաժեշտության
Քայլ 2: Քայլ 2. Մոտենալով լուծման խնդրին
Այս նախագծի հիմնական նպատակն էր ստեղծել հեշտ օգտագործման խելացի տան համակարգ `Arduino Uno տախտակի ծածկագրմամբ MATLAB- ով: Մենք սկզբում մտածում էինք միայն ջերմաստիճանի և խոնավության տվիչի հետ աշխատելու մասին, սակայն եթե այդ երկու սենսորների հետ մնայինք, մեր խելացի տան համակարգը հեշտ շուկայահանելի չէր լինի ընդհանուր լսարանի համար: Մենք որոշեցինք, որ ցանկանում ենք ստեղծել ընդհանուր խելացի տան էներգետիկ համակարգ, որը կաշխատի որպես խելացի թերմոստատ և անվտանգության համակարգ: Ի վերջո, մենք ցանկանում էինք աշխատել MATLAB- ի AppDesigner- ի հետ, որպեսզի օգտվողը կարողանա հեշտությամբ փոխել խելացի տունը, ինչպես ցանկանում է:
Քայլ 3. Քայլ 3. Կարգավորեք GUI- ն և հիմնական կոդի հոսքը
Սկսելու համար հարկավոր է բացել MATLABs AppDesigner և տեղադրել հետևյալը.
Երկու թվային խմբագրման դաշտ ՝ տաք և սառը շեմի մուտքագրման համար
Կոճակ դուռը բացելու համար
Եվ չորս ցուցիչ լամպեր բուխարիի, դռան, օդափոխիչի և ջրհեղեղի համար:
Երկու պիտակ օգտագործողի հետ շփվելու համար:
Այս նախագծի համար մենք ավելի հեշտ գտանք աշխատել գլոբալ փոփոխականների և դիզայների ներսում գործարկման գործառույթի հետ: Գործարկման գործառույթում ձեզ անհրաժեշտ կլինեն այս փոփոխականները.
գլոբալ ա
a = arduino («COM3», «uno», «Գրադարաններ», «Servo»); global s global p global hotUI global coldUI global unlock global temp global curr_temp global int_light
Այս պահին մենք ունենք միայն փոփոխականի առաջադրանք, որպեսզի ձեր համակարգիչը կարողանա կարդալ arduino- ն: COM3- ը կարող է տարբեր լինել `կախված այն բանից, թե ձեր համակարգիչն ինչ պորտից կարող է օգտվել:
Երբ գործարկեք կոդը, այն կսկսվի գործարկման գործառույթի շրջանակներում ՝ ստեղծելով գլոբալ փոփոխականներ և կալիբրացնել համակարգը: Այս ֆունկցիայի վերջում կլինի ժմչփ գործառույթ, որը կանչում է մի հատկություն, որը մենք անվանել ենք ժմչփ: Timամաչափի այս հատկության մեջ մենք տեղադրում ենք տան համակարգը աշխատող կոդը, որպեսզի ժամաչափը չվերագործարկի ստուգաչափման կոդը:
Նշում. Մենք համակարգի համար միացման ցուցումներ չենք տվել: Մենք վկայակոչեցինք ձեռնարկը, որն ուղեկցվում է SparkFun Red տախտակով:
Քայլ 4: Քայլ 3. Թերմոստատի համակարգի կարգավորում
Թերմոստատի գործառույթը հետևյալն է.
Օգտվողը մուտքագրելու է այն ջերմաստիճանը, որը նա համարում է չափազանց տաք կամ շատ ցուրտ: Theերմաչափը կարդալուց հետո, եթե տունը շատ ցուրտ է, ապա «բուխարին» (կարմիր LED) կբացվի և կջերմացնի տունը: Եթե տունը շատ տաք է, ապա «օդափոխիչը» (շարունակական servo շարժիչ) միացնում է տան հովացումը:
Թերմոստատ համակարգը կոդավորելու համար.
Մենք կսկսենք գործարկման գործառույթի շրջանակներում `ներկայիս ջերմաստիճանը ցուցադրելու համար և թույլ կտանք օգտվողին մուտքագրել իր սառը և տաք շեմերը:
p = 'A0' %Photoresistor pin
volt = readVoltage (a, temp); celc = (վոլտ -0.5):*100; curr_temp = celc*9/5+32; app. Label_4. Text = num2str (curr_temp); %Պիտակի համարը կարող է փոխել դադարը (10); %Կարող է փոխվել !!!!!
Այնուհետև մենք կավարտենք Թերմոստատի համակարգը Timer հատկության սահմաններում:
գլոբալ curr_temp
global coldUI global a global hotUI if curr_temp hotUI app. FanStateLamp. Color = [0.47 0.67 0.19]; %Ստացվում է GUI լամպը կանաչ գրելու համար PWMDutyCycle (a, 'D11',.9) %Կոդի հաջորդ երեք տողերը գործարկում են servo fan pause (10) writePWMDutyCycle (a, 'D11',.0) else app. FireplaceStateLamp. Color = [0,90 0,90 0,90]; %Սա անջատում է բոլոր GUI լամպերը և բուխարիի հավելվածը: fanStateLamp. Color = [0.9 0.9 0.9]; writeDigitalPin (a, 'D13', 0); վերջ
Քայլ 5: Քայլ 4. Դռների համակարգի կարգավորում
Դռան գործառույթը գործում է հետևյալ կերպ.
Երբ դուք առաջին անգամ գործարկեք ձեր MATLAB ծածկագիրը, ծրագիրը կխնդրի ձեզ բացել դուռը, որպեսզի ֆոտոընդդիմադիրը կարողանա լույսի նախնական ընթերցում կատարել: Երբ դա ավարտվի, ժմչփը կակտիվանա, և ֆոտոռեզիստորը կիրականացնի երկրորդային լուսային ընթերցումներ: Եթե երկրորդային լույսի ընթերցումը ավելի թեթև է, քան նախնականը, ապա servo շարժիչը կողպելու է դուռը: Եթե օգտվողը ցանկանում է, որ դուռն ապակողպված լինի, կարող է սեղմել հավելվածի կոճակը, որը կբացի դուռը:
Servo շարժիչը և ֆոտոընդդիմադիրը կազմաձևելու համար.
Դռների համակարգը կոդավորելու համար.
Մենք կսկսենք գործարկման ֆունկցիայի շրջանակում ՝ սկզբնական լուսաչափերը վերցնելու համար:
s = servo (a, 'D9') %Pin- ը կարող է փոխվել `հիմնված էլեկտրագծերի վրա
app. Label_4. Text = 'Խնդրում ենք բացել դուռը համակարգը չափագրելու համար'; դադար (15); %Սա ժամանակ է տալիս օգտվողին բացել դուռը int_light = readVoltage (a, p); app. Label_4. Text = 'Դուք կարող եք հեռացնել ձեր մատը';
Հաջորդը, մենք կավելացնենք ծածկագիրը Timer հատկության սահմաններում
գլոբալ ապակողպում
global int_light global s global a %Ստացեք ընթացիկ լուսային ընթերցում `համեմատելու համար curr_light = readVoltage (a, p); % - Կողպեք դուռը - եթե int_light <curr_light writePosition (s, 1) % Servo դիրքերը կարող են տարբերվել մեկ շարժիչային դադարից (0.5); app. DoorStateLamp. Color = [0.47 0.67 0.19]; վերջ % - Բացել դուռը - եթե բացել == 1234 դադար (0.5); writePosition (ներ,.52) app. DoorStateLamp. Color = [0.85 0.33 0.10]; վերջ
Վերջապես մենք կստեղծենք ապակողպման կոճակի հետադարձ կապ: Երբ օգտվողը սեղմում է ապակողպման կոճակը, գլոբալ փոփոխականին բացելու համար կտրվի մի թիվ, որը կարող է լրացնել ifամաչափի հատկության վերջնական if հայտարարությունը:
գլոբալ ապակողպում
բացել = 1234;
Քայլ 6: Քայլ 6. Loodրհեղեղի լույսի համակարգի կարգավորում
Theրհեղեղի լույսի գործառույթը գործում է հետևյալ կերպ.
Երբ սկսում եք MATLAB ծածկագիրը, PIR շարժման տվիչը կսկսի հայտնաբերել շարժումը: Երբ որևէ տեսակի շարժում է հայտնաբերում, այն կկտրի էներգիայի ազդանշանը: Երբ այդ ազդանշանը կտրվի, ջրհեղեղի լույսը կվառվի տնից դուրս:
Theրհեղեղի լուսային համակարգը կազմաձևելու համար.
Theրհեղեղի լույսի համակարգը կոդավորելու համար.
Այս անգամ մենք կարող ենք անցնել erամաչափի հատկությանը, քանի որ լրացուցիչ փոփոխականներ գրելու կարիք չունենք:
human_detected = կարդալDigitalPin (a, 'D2'); %Pin- ը կարող է փոխվել ՝ կազմաձևման հիման վրա, եթե human_detected == 0 writeDigitalPin (a, 'D7', 1) %Pin- ը կարող է փոխել 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) վերջ
Քայլ 7: Եզրակացություն
Այժմ, երբ ունեք ձեր GUI- ի նախագիծը App Designer- ի և ձեր Arduino- ի ծածկագրի հետ, պատրաստ եք կատարել ձեր սեփական խմբագրումները կամ միացնել ձեր Arduino- ն և գնալ:
Խորհուրդ ենք տալիս:
Alexa Smart Home համակարգ ՝ օգտագործելով NodeMCU փոխանցման մոդուլը ՝ 10 քայլ
Alexa Smart Home System- ը ՝ օգտագործելով NodeMCU ռելեի մոդուլը. Այս IoT նախագծում ես պատրաստել եմ Alexa Smart Home Automation համակարգը ՝ օգտագործելով NodeMCU ESP8266 & Ռելե մոդուլ: Ձայնային հրամանով հեշտությամբ կարող եք կառավարել լույսը, օդափոխիչը և այլ կենցաղային տեխնիկա: Echo Dot խելացի բարձրախոսը միացնելու համար
Գույնի տեսակավորման համակարգ. Arduino- ի վրա հիմնված համակարգ `երկու գոտիով` 8 քայլ
Գույնի տեսակավորման համակարգ. Arduino- ի վրա հիմնված համակարգ `երկու գոտիով. Արդյունաբերական ոլորտում ապրանքների և իրերի տեղափոխումը և/կամ փաթեթավորումը կատարվում է փոխակրիչ գոտիների միջոցով պատրաստված գծերի միջոցով: Այդ գոտիները օգնում են որոշակի արագությամբ իրը մի կետից մյուսը տեղափոխել: Որոշ մշակման կամ նույնականացման առաջադրանքներ կարող են լինել
SmartBox - Smart Home համակարգ ձեր սենյակի համար `6 քայլ
SmartBox - Խելացի տան համակարգ ձեր սենյակի համար. Բարև բոլորին: Այս ուսանելի ծրագրում ես ձեզ կբացատրեմ, թե ինչպես պատրաստել խելացի սենյակի համակարգ: Այս համակարգը պարունակում է երկու սարք: Խոնավության տվիչով և ջերմաստիճանի տվիչով ընդհանուր սարք, որը չափում է ձեր սենյակի կյանքի ընթացիկ որակը: Դու
Smart Home համակարգ ՝ 6 քայլ
Smart Home System: Այս ուսանելի ծրագիրը կօգնի բացատրել, թե ինչպես ստեղծել և օգտագործել մեր Smart Home համակարգը ՝ օգտագործելով Matlab ծրագրակազմը և Raspberry Pi սարքավորումները: Այս հրահանգի վերջում դուք պետք է կարողանաք հեշտությամբ լիովին օգտագործել մեր արտադրանքը:
Ինչպես ճիշտ միացնել և կարգավորել Mini HiFi դարակի համակարգ (Ձայնային համակարգ). 8 քայլ (նկարներով)
Ինչպես ճիշտ միացնել և կարգավորել Mini HiFi դարակի համակարգ (Ձայնային համակարգ). Ես մարդ եմ, ով հաճույք է ստանում էլեկտրատեխնիկայի մասին սովորելուց: Ես Էն Ռիչարդսի երիտասարդ կանանց առաջնորդների դպրոցի ավագ դպրոց եմ: Սա խրատական եմ դարձնում օգնելու բոլոր նրանց, ովքեր ցանկանում են վայելել իրենց երաժշտությունը Mini LG HiFi Shelf Syste- ից