Բովանդակություն:
- Քայլ 1: Լույսի զգայուն LED
- Քայլ 2: Mini Power անջատիչ
- Քայլ 3: Երկրորդ ֆոտոցել
- Քայլ 4: RGB LED
- Քայլ 5: Temերմաստիճանի ցուցիչ
- Քայլ 6: DAGU Gearmotor
- Քայլ 7: Կոդ
Video: EF230 Smart Home նախագիծ. 7 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:48
Պահանջվող մասեր և նյութեր
- 1 Arduino 1000 դրամ
- 3 Breadboards
- 2 մինի ֆոտոցել
- 1 NPN տրանզիստորներ
- 1 Mini Power անջատիչ
- 1 LED - RGB (4 ոտնակ)
- 1 LED (ձեր ընտրած գույնը)
- 1 դիոդ 1N4148
- 1 10K Օմ դիմադրիչներ
- 5 100 Օմ դիմադրություն
- 1 MPերմաստիճանի տվիչ TMP36
- 1 DAGU 48: 1 հարաբերություն Gearmotor
- 25 Jumper լարերը
- USB լարը
- MATLAB ծրագիր
-
SIK փորձի ուղեցույց Arduino 101/Genuino 101 տախտակի համար - SIK փորձի ուղեցույցի հղում
Այս նախագիծը մանրամասն ներկայացնում է խելացի տան համակարգի հայեցակարգային դիզայնը, որը կօգտագործի տվյալներ ՝ տանտերերին օգնելու օպտիմալացնել իրենց էներգիայի սպառումը և անվտանգությունը: Այն ներառում է լուսային սենսոր ՝ գիշերը արտաքին լույսերը միացնելու համար, լուսավորության տվիչ ՝ անվտանգության համար, և ջերմաստիճանի տվիչ և օդափոխիչ ՝ ներքին ջերմաստիճանի վերահսկման համար:
Քայլ 1: Լույսի զգայուն LED
- Լույսի նկատմամբ զգայուն լուսադիոդների տեղադրումը նախատեսված է ներկայացնել գիշերային լույսերով բացվող տան արտաքին լույսերը:
- Երբ մինի ֆոտոէլեկտրակայանը զգում է նվազված քանակությամբ լույս, LED լուսավորվում է:
- Խելացի տան համար սա էներգիա և անվտանգություն ունի: Այն կխնայի էներգիան ՝ ցերեկը լույսերը անջատած թողնելով, իսկ գիշերը կապահովի անվտանգության բարձրացում:
- Partրագրի այս մասի ճշգրիտ էլեկտրագծերը և տեղադրումը կարելի է գտնել 7 -րդ փորձի ներքո `SIK Experiment Guide- ում:
Քայլ 2: Mini Power անջատիչ
- Անջատիչը խելացի տան անվտանգության գործընթացի առաջին քայլն է:
- Երբ միացված է, անջատիչը կսկսի պատասխան ՝ օգտվողին հարցնելով, արդյոք նա ցանկանում է մտնել «Տուն» ռեժիմ կամ «Հեռու» ռեժիմ:
- Եթե ընտրվի «Տուն» ռեժիմը, անվտանգությունը համարվում է զինաթափված, սակայն «Հեռու» ռեժիմի ընտրությունը զինելու է անվտանգության համակարգը:
- Thisրագրի այս հատվածի էլեկտրագծերը կարելի է գտնել Փորձի ուղեցույց 6 -րդ փորձի ներքո: Խելացի տան նպատակների համար 6 -րդ փորձի մեջ հայտնաբերված LED- ները և դրանց միացնող լարերը պետք չէ ներառել:
Քայլ 3: Երկրորդ ֆոտոցել
- Երկրորդ լուսաբջիջը ծառայում է որպես շարժման սենսոր խելացի տան անվտանգության համակարգի համար:
- Սենսորը օգտագործվում է միայն այն դեպքում, երբ համակարգը դրված է «Հեռու» ռեժիմում, ինչպես նկարագրված է նախորդ քայլին:
- Եթե լուսաբջջում նկատվում է ստացած լույսի քանակի նվազում, այն ճանաչում է որպես շարժում տան ներսում:
- Partրագրի այս մասի կարգավորումները կարելի է գտնել SIK Experiment Guide- ի 7 -րդ փորձի ներքո: Այնուամենայնիվ, էլեկտրագծերի մեջ անհրաժեշտ է ներառել միայն լուսաբջիջը և դրա միացնող լարերը:
Քայլ 4: RGB LED
- RGB LED- ն օգտագործվում է մինի հոսանքի անջատիչի և խելացի տան անվտանգության համակարգի երկրորդ ֆոտոխցիկի հետ համատեղ:
- Երեք տարբեր գույներն օգտագործվում են որպես ցուցանիշներ խելացի տան բնակչի համար:
- Երբ համակարգը տեղադրվում է «Տուն» ռեժիմում, LED- ն դառնում է կապույտ: Երբ համակարգը տեղադրվում է «Հեռու» ռեժիմում, LED- ը դառնում է կանաչ: Երբ շարժման սենսոր օգտագործվող լուսաբջիջը խափանում է, լույսը կարմիր գույն է տալիս:
- RGB LED- ի էլեկտրագծերը կարելի է գտնել SIK Experiment Guide- ի 3 -րդ փորձի մեջ:
Քայլ 5: Temերմաստիճանի ցուցիչ
- Theերմաստիճանի տվիչը խելացի տան էներգիայի պահպանման հիմնական մասն է:
- Բնակիչն ի վիճակի է մուտքագրել իր տան համար անհրաժեշտ ջերմաստիճանը, երբ խելացի տունն օգտագործվում է:
- Երմաստիճանի ցուցիչն այն է, թե ինչպես համակարգը գիտի, թե որքանով է իրական ջերմաստիճանը ցանկալի ջերմաստիճանից հեռու:
- Temperatureերմաստիճանի տվիչի կարգավորումը կարելի է գտնել SIK փորձի ուղեցույցի 9 -րդ փորձարկումում:
Քայլ 6: DAGU Gearmotor
- Շարժիչը թույլ է տալիս խելացի տանը կարգավորել ջերմաստիճանը տանը `հիմնվելով ցանկալի ջերմաստիճանի և ջերմաստիճանի տվիչի ցուցմունքների վրա:
- Գործելով որպես AC- ի միավոր տան մեջ, շարժիչը պտտվելու է տարբեր արագություններով `հիմնվելով այն բանի վրա, թե իրականում որքան ավելի բարձր է ցանկալի ջերմաստիճանից: Որքան մեծ է տարբերությունը, նա ավելի արագ է պտտում շարժիչը:
- Շարժիչի էլեկտրագծերը կարելի է գտնել Փորձի ուղեցույցում ՝ 11 -րդ փորձի ներքո:
Քայլ 7: Կոդ
- Խելացի տան ծածկագիրը ներառում է բազմաթիվ ինտերֆեյսեր, որոնք թույլ են տալիս բնակչին հեշտությամբ հասկանալ, թե ինչպես է այն աշխատում և հեշտությամբ փոխել կարգավորումները:
- Խելացի տան համակարգով բնակիչը էլեկտրոնային փոստով ահազանգ կստանա, եթե շարժման սենսորը միացված լինի, երբ նրանք հեռու են:
- Միակ փոփոխությունը, որը պետք է կատարվի, ուղարկողի էլփոստի և ստացողի էլ. Հասցեի տեղեկատվության տեղադրումն է:
մաքրել a; հստակ s; պարզ m; clc; փակել բոլորը; % Մաքրել arduino և servo փոփոխականները, որպեսզի դրանք կարողանան վերաիմաստավորվել ամեն անգամ, որպեսզի ծածկագիրը արդյունավետ գործարկվի («հստակ m» - ն անհրաժեշտ է, որպեսզի loops- ներից մեկը ճիշտ գործի) a = arduino (); % Սահմանել arduino փոփոխականը
s = servo (a, 'D6'); % Սահմանել servo փոփոխականը
% Նախաստորագրեք էլփոստի փոփոխականները անվտանգության համակարգի նախազգուշացման էլ
նամակներ = {'տեղադրեք ստացողի հասցեն'}; % Էլփոստերի զանգված, որոնց պետք է ուղարկվի անվտանգության էլ
% Էլփոստի նախընտրելի կարգավորումներ, որոնք անհրաժեշտ են Gmail- ից նամակ ուղարկելու համար
setpref («Ինտերնետ», «E_mail», «ուղարկողի էլ. փոստի հասցեն»);
setpref («Ինտերնետ», «SMTP_Username», «ուղարկողի օգտվողի անուն»);
setpref («Ինտերնետ», «SMTP_Password», «ուղարկողի գաղտնաբառ»);
props = java.lang. System.getProperties;
props.setProperty ('mail.smtp.auth', 'true');
props.setProperty ('mail.smtp.socketFactory.class', 'javax.net.ssl. SSLSocketFactory'); props.setProperty ('mail.smtp.socketFactory.port', '465');
% Էլփոստի թեմայի և տեքստի փոփոխականներ
subj = 'Intruder Alert at Your Home';
text = 'Բարև, սա ձեր Smart Home անվտանգության համակարգն է, որը տեղեկացնում է ձեզ, որ ձեր տնից դուրս շարժումներ են նկատվել: Մենք ձեռնարկել ենք անհրաժեշտ միջոցները և կապ հաստատել ձեզ համար: Մնացեք ապահով: ';
մինչդեռ ճշմարիտ է
հուշում = {'Մուտքագրեք տան ցանկալի ջերմաստիճանը (65F- ից մինչև 85F):'}; % Հուշում օգտվողի մուտքագրման ընտրացանկի համար
dlgtitle = 'Selectերմաստիճանի ընտրություն'; % Վերնագիր օգտվողի մուտքագրման ընտրացանկի համար
dims = [1 30]; % Չափերը օգտվողի մուտքագրման ընտրացանկի համար
definput = {'72'}; % Լռելյայն մուտքագրում, որը հայտնվում է ընտրացանկի առաջին բացման ժամանակ
tempsel_array = inputdlg (հուշում, dlgtitle, dims, definput); % Օգտագործողի մուտքագրման թռուցիկ ընտրացանկ, որը կպահի մուտքագրված թիվը զանգվածի մեջ
եթե ~ դատարկ է (tempsel_array) % Եթե զանգվածը դատարկ չէ
tempsel_char = cell2mat (tempsel_array); % Conանգվածը փոխակերպեք բնույթի տողի
tempsel = str2 կրկնակի (tempsel_char); % Փոխարկել բնույթի տողը թվերի
thingSpeakWrite (chID, tempsel, 'WriteKey', writeKey, 'Fields', 1); % Գրեք ընտրված ջերմաստիճանը ձեր ThingSpeak ալիքին
break % Break from the time loop- ից, որպեսզի ընտրացանկը մի քանի անգամ չբացվի
else % Եթե օգտագործողը կտտացնում է ջերմաստիճանը մուտքագրելու փոխարեն ՝ չեղարկել
msg1 = msgbox («temperatureերմաստիճանը ընտրված չէ, կանխադրվածը 85F է», «arnգուշացում»); % Հաղորդագրությունը ցուցադրվում է օգտվողին չեղարկելուց սեղմելուց հետո
սպասել (msg1); % Շարունակելուց առաջ սպասեք հաղորդագրությունների տուփի փակմանը
tempsel = 85; % Setերմաստիճանը սահմանեք այն, ինչ նշված էր հաղորդագրությունների վանդակում
thingSpeakWrite (chID, tempsel, 'WriteKey', writeKey, 'Fields', 1); % Գրեք ընտրված ջերմաստիճանը ձեր ThingSpeak ալիքին
break % Break from the time loop- ից, որպեսզի ընտրացանկը մի քանի անգամ չբացվի
վերջ
վերջ
մինչդեռ ճշմարիտ է
chID = 745517; % ThingSpeak ալիքի ID
writeKey = 'G9XOQTP8KOVSCT0N'; % Բանալի ThingSpeak ալիքին մուտք գործելու համար
% Տվյալների ստացման համար նախնականացնել սենսորները
tempread = readVoltage (a, 'A3'); % Կարդացեք ջերմաստիճանի տվիչի լարումը
lightl1 = կարդալՎոլտաժ (a, 'A2'); % Լույսի մակարդակը ֆոտոընդդիմադրիչի համար, որը անցնում է կարմիր LED- ին
lightl2 = readVoltage (a, 'A5'); % Անվտանգության համակարգ անցնող ֆոտոընդդիմադիրի լուսավորության մակարդակը
switchv = readVoltage (a, 'A0'); % Անջատիչի արժեքը
% Փոխարկեք ջերմաստիճանի տվյալները լարման աստիճանից Ֆարենհայտ աստիճան
tempC = (tempread - 0.5) * 100; % Փոխարկեք լարումը ջերմաստիճանի ջերմաստիճանում
tempF = (tempC * 9/5) + 32; % Փոխակերպել ջերմաստիճանը elsելսիուսի ջերմաստիճանում Ֆարենհեյթում
% Նախաձեռնել կապի համարները բազմագույն LED- ի համար
redp = 'D9'; % LED լուսադիոդից կարմիր լույսի համար
greenp = 'D10'; % LED լուսադիոդից կանաչ լույսի համար
bluep = 'D11'; % LED կապույտ լույսի կապում
եթե tempsel <tempF % Եթե ընտրված ջերմաստիճանը ավելի մեծ է, քան սենյակի ջերմաստիճանը
writePosition (ներ, 1); Servo- ն կսկսի շարժվել
դադար (10) % Servo- ն կշարունակի պտտվել 10 վայրկյան ՝ ցույց տալու համար, որ AC- ն անջատված կլինի որոշակի ժամանակ անց
writePosition (ներ, 0); % Անջատեք օդափոխիչը `առանց կոդի միացման շարունակելու նպատակով
tempsel = 150; % Փոխեք ջերմաստիճանի արժեքը, որպեսզի այն դուրս գա օղակից, օդափոխիչի անջատումից հետո, կրկին պարզապես ծածկագիրը շարունակելու նպատակով
վերջ
եթե lightl1 <= 3 % Եթե առաջին ֆոտոռեզիստորը հայտնաբերում է ցածր լուսավորության մակարդակ
writeDigitalPin (a, 'A1', 1); Միացրեք կարմիր LED- ը, որը ներկայացնում է արտաքին լույսերը
else % Եթե լույսի մակարդակը կրկին բարձր է
writeDigitalPin (a, 'A1', 0); % Անջատեք կարմիր LED- ը, երբ լույսի մակարդակը կրկին բավական բարձր լինի
վերջ
եթե switchv> 3 % Եթե անջատիչը միացված է
A = գոյություն ('m', 'var'); % Ստուգեք 'm' փոփոխականի առկայությունը, սա կսկսի սկզբնական շրջանում հանգույցը և թույլ կտա այն կոտրվել, երբ ընտրվում է ընտրացանկի տարրը (այդ պատճառով կոդի սկզբում պետք է կատարվի հստակ m)
մինչդեռ A == 0 % Loop- ը կգործի մինչև «m» փոփոխականի գոյությունը
menutext = 'Անվտանգության ո՞ր ռեժիմը կցանկանայիք մտնել:'; % Անվտանգության թռուցիկ ընտրացանկի տեքստ
ընտրություններ = {'Տուն', 'Հեռու'}; % Անվտանգության թռուցիկ ընտրացանկի ընտրանքներ
m = մենյու (menutext, ընտրանքներ); % Բացվող ընտրացանկ անվտանգության համակարգի ռեժիմների համար
break % Ապահովում է, որ while օղակը կոտրված է, որպեսզի ընտրացանկը մի քանի անգամ չբացվի
վերջ
եթե m == 1 % Եթե ընտրված է «Տուն» ռեժիմը
writeDigitalPin (a, bluep, 1); Միացրեք միայն կապույտ լույսը գույնի փոփոխվող LED- ում
writeDigitalPin (a, redp, 0);
writeDigitalPin (a, greenp, 0);
elseif m == 2 % Եթե ընտրված է «Հեռու» ռեժիմը
writeDigitalPin (a, bluep, 0);
writeDigitalPin (a, redp, 0);
writeDigitalPin (a, greenp, 1); Միացրեք միայն կանաչ լույսը գույնի փոփոխվող LED- ում
եթե lightl2 <= 3 % Եթե երկրորդ ֆոտոդիմադրիչի լուսավորության մակարդակը ցածր է, ներկայացնում է անվտանգության համակարգի կողմից հայտնաբերված շարժումը
sendmail (էլ. նամակներ, subj, տեքստ); % Ուղարկել նամակ նախկինում սահմանված էլփոստի հատկություններով writeDigitalPin (a, greenp, 0); Ֆլեշ կարմիր գույնը միացված և անջատված է 2 անգամ
writeDigitalPin (a, redp, 1);
դադար (0.3)
writeDigitalPin (a, redp, 0);
դադար (0.3)
writeDigitalPin (a, redp, 1);
դադար (0.3)
writeDigitalPin (a, redp, 0);
դադար (0.3)
writeDigitalPin (a, redp, 1); % Ingրամեկուսացումից հետո ավարտեք պինդ կարմիր գույնով `ցույց տալով, որ շարժում կա, մինչև լուսավորության մակարդակը նորից բարձրանա
msg2 = msgbox ('Անվտանգության համակարգի կողմից հայտնաբերվել է ներխուժող անձ, տան սեփականատերերին էլ. նամակ է ուղարկվել `նրանց տեղեկացնելու համար': ' % Հաղորդագրության տուփ ՝ շարժման մասին օգտագործողին տեղեկացնելու և ուղարկված էլ.
ուրիշ
writeDigitalPin (a, greenp, 1); Երբ լույսի մակարդակը նորից բարձրանա, այն նորից կդառնա կանաչ
վերջ
վերջ
elseif switchv <3.3 % Եթե անջատիչն անջատված է
writeDigitalPin (a, bluep, 0); % Անջատեք լուսադիոդն ամբողջությամբ ՝ անվտանգության համակարգը անջատված լինելու համար
writeDigitalPin (a, redp, 0);
writeDigitalPin (a, greenp, 0);
վերջ
վերջ
Խորհուրդ ենք տալիս:
Կենդանիների սննդի ամանի ավտոմատ նախագիծ. 13 քայլ
Կենդանիների սննդի գավաթների ավտոմատ նախագիծ. Այս հրահանգը կներկայացնի և կբացատրի, թե ինչպես կարելի է կառուցել ավտոմատացված, ծրագրավորվող ընտանի կենդանիների սնուցող սարք `կցված սննդի ամաններով: Ես կցել եմ այստեղ տեսանյութ, որը պատկերում է, թե ինչպես են գործում ապրանքները և ինչ տեսք ունի
(IOT նախագիծ) Եղանակի տվյալներ ստացեք ՝ օգտագործելով ESP8266 և Openweather API ՝ 5 քայլ
(IOT նախագիծ) Եղանակի տվյալներ ձեռք բերեք ESP8266- ի և Openweather API- ի միջոցով. Այս ուսանելի ծրագրում մենք պատրաստվում ենք կառուցել մի պարզ IOT նախագիծ, որը մեր քաղաքի եղանակի տվյալները կբերի openweather.com/api կայքից և կցուցադրի այն մշակման ծրագրակազմի միջոցով:
IOT Home Automation DIY նախագիծ #1: 7 քայլ
IOT Home Automation DIY նախագիծ # 1: # ՆԵՐԱՈ HomeԹՅՈՆ Տան ավտոմատացումը կենցաղային տեխնիկայի ավտոմատացման գործընթացն է, ինչպիսիք են AC, Fan, Սառնարան, լույսերը, և ցանկը շարունակվում է, որպեսզի դրանք կառավարվեն ձեր հեռախոսով, համակարգչով կամ նույնիսկ հեռակա կարգով: Այս նախագիծը վերաբերում է esp2866
10 հիմնական Arduino նախագիծ սկսնակների համար: Կատարեք առնվազն 15 նախագիծ մեկ տախտակով: 6 քայլ
10 հիմնական Arduino նախագիծ սկսնակների համար: Կատարեք առնվազն 15 նախագիծ մեկ տախտակով: Arduino Project & Ուսուցողական խորհուրդ; Ներառում է 10 հիմնական Arduino նախագիծ: Բոլոր կոդերը, Gerber ֆայլը և այլն: Ոչ SMD! Հեշտ զոդում բոլորի համար: Հեշտ շարժական և փոխարինելի բաղադրիչներ: Դուք կարող եք կատարել առնվազն 15 նախագիծ մեկ բո
Նախագիծ 2 Smart-Helmet: 6 քայլ (նկարներով)
Նախագիծ 2 «Սմարթ-սաղավարտ». Մենք ՝ Բենոութ Սվենը, Ստալենս Լեներտը և Դյուժարդեն Լորենսը, պետք է նախագիծ պատրաստեինք դպրոցի համար: Մենք ստիպված էինք աշխատել IPO (Արդյունաբերական արտադրանքի դիզայն) ուսանողի հետ միասին: Նրա մոտ ծագեց մոտոցիկլետի խելացի սաղավարտ պատրաստելու գաղափարը: Նա նախագծել է