Բովանդակություն:

Smart Home համակարգ ՝ 6 քայլ
Smart Home համակարգ ՝ 6 քայլ

Video: Smart Home համակարգ ՝ 6 քայլ

Video: Smart Home համակարգ ՝ 6 քայլ
Video: Journey to a Smart Home System #6 2024, Նոյեմբեր
Anonim
Խելացի տան համակարգ
Խելացի տան համակարգ

Այս հրահանգը կօգնի բացատրել, թե ինչպես ստեղծել և օգտագործել մեր Smart Home համակարգը ՝ օգտագործելով Matlab ծրագրաշարը և Raspberry Pi սարքավորումները: Այս հրահանգի վերջում դուք պետք է կարողանաք հեշտությամբ լիովին օգտագործել մեր արտադրանքը:

Քայլ 1: Քայլ 1: Պահանջվող մասեր և նյութեր

Քայլ 1: Պահանջվող մասեր և նյութեր
Քայլ 1: Պահանջվող մասեր և նյութեր
Քայլ 1: Պահանջվող մասեր և նյութեր
Քայլ 1: Պահանջվող մասեր և նյութեր
  • Ազնվամորի Պի
  • Հացաթուղթ (x2)
  • PIR Շարժման ցուցիչ
  • LCD մոդուլ
  • LED լույս
  • Կոնդենսատոր
  • Raspberry Pi տեսախցիկ
  • Միկրո սերվո շարժիչ
  • Երկկողմանի լարեր (20)

Քայլ 2: Քայլ 2: Խնդրի հայտարարություն

Այն խնդիրները, որոնց մեր արտադրանքը փորձում է լուծել, լույսի մեխանիկական վերահսկում են, ներքին ջերմաստիճանի վերահսկում և էներգաարդյունավետություն: Մենք կենտրոնացանք էներգիայի այն քանակի վրա, որն օգտագործում է միջին տունը և ցանկանում էինք էներգիայի սպառումը նվազեցնելու ուղիներ գտնել: Միացված լույսերը և ջերմոստատի անհարկի ջերմաստիճանը բացատրում են էներգիայի չափազանց մեծ անհարկի օգտագործումը: Լույսը կշարժվի այնտեղ, որտեղ նրանք փակվում են, երբ սենյակը դատարկ է, և թերմոստատը հարմարվում է էկոլոգիապես արդյունավետ ջերմաստիճանի ՝ ելնելով արտաքին ջերմաստիճանի ընթերցումից:

Քայլ 3: Քայլ 3. Շարժման ցուցիչի կազմաձևում

Քայլ 3: Շարժման ցուցիչի կազմաձևում
Քայլ 3: Շարժման ցուցիչի կազմաձևում

Շարժման սենսորը միացված է 3.3V հոսանքի քորոցին, գրունտի և ձեր ընտրած թվային կապին: Նրանք համապատասխանաբար միացված են շարժման տվիչի VCC, GND և OUT նավահանգիստներին: Շարժման սենսորը կբացահայտի, երբ ինչ -որ մեկը մոտ է և միացնում է LED- ը ՝ նշելու, որ լույսերը միացված են: Երբ շարժումն այլևս չի հայտնաբերվի, LED- ն ինքն իրեն կանջատվի: Կոդը հետևյալն է.

մինչդեռ ճշմարիտ է

motionDetected = կարդալDigitalPin (rpi, 3);

եթե շարժումը հայտնաբերված է == 1

writeDigitalPin (rpi, 16, 1)

ուրիշ

writeDigitalPin (rpi, 16, 0)

վերջ

վերջ

Քայլ 4: Քայլ 4: LCD մոդուլի ցուցադրում

Քայլ 4: LCD մոդուլի ցուցադրում
Քայլ 4: LCD մոդուլի ցուցադրում

LCD- ն վերցնում է ջերմաստիճանի տվյալները ինտերնետից տրամադրվող կենդանի եղանակի մասին տեղեկատվությունից: LCD մոդուլն այնուհետև ցուցադրում է ընթացիկ ջերմաստիճանի ընթերցումը: Matlab- ում ջերմաստիճանը կարդացվում է, այնուհետև անցնում է if օղակով `որոշելու, թե որքանով է հարմարվելու տան ջերմաստիճանի կարգավորումը: Կոդը հետևյալն է.

url = 'https://forecast.weather.gov/MapClick.php? lat = 35.9606 & lon = -83.9207 & FcstType = json';

տվյալներ = վեբ ընթերցում (url);

a = data.currentobservation. Temp;

fprintf ('Արտաքին ջերմաստիճանը %s / n', ա)

x = str2num (a);

եթե x> 80

fprintf («Թերմոստատը 15 աստիճանով իջեցրեք»)

writeDigitalPin (rpi, 26, 1) %-ը միացնում է լույսերը

elseif x> 75 && x <80

fprintf ('Անջատել ջերմաստիճանը / n')

writeDigitalPin (rpi, 26, 1) %-ը միացնում է լույսերը

elseif x 55

fprintf ('Թերմոստատը բարձրացրեք 10 աստիճան / n')

writeDigitalPin (rpi, 26, 0) %-ը անջատում է լույսերը

elseif x 45

fprintf ('Թերմոստատը բարձրացրեք 20 աստիճան / n')

writeDigitalPin (rpi, 26, 0) %-ը անջատում է լույսերը

elseif x 40

fprintf ('Թերմոստատը բարձրացրեք 25 աստիճան / n')

writeDigitalPin (rpi, 26, 0) %-ը անջատում է լույսերը

elseif x 30

fprintf ('Թերմոստատը բարձրացրեք 35 աստիճան / n')

ուրիշ

fprintf ('Թերմոստատը միացրեք մինչև 65 աստիճան / n')

վերջ

Քայլ 5: Քայլ 5. Շարժիչային սերվո մոդուլ

Քայլ 5: Motor Servo մոդուլ
Քայլ 5: Motor Servo մոդուլ

Motor Servo մոդուլը պետք է ներկայացնի վարագույրները բացելու և փակելու ունակությունը: Երբ տունը պետք է հովանա, շերտավարագույրները կփակվեն և թույլ կտան ավելի քիչ ջերմություն ներս մտնել: Երբ տունը պետք է տաքացնել, շերտավարագույրները կբացվեն, որպեսզի այն ավելի արագ տաքանա: Voառայողը որոշում է, թե ինչ անել ՝ օգտվողից մուտք գործելով ՝ փոխազդելով ընտրանքների ընտրացանկի հետ: Շարժիչի ծածկագիրը հետևյալն է.

s = servo (rpi, 3)

writeDigitalPin (rpi, 4, 1)

writePosition (ներ, 45)

temp_sys = ընտրացանկ («Ինչպե՞ս ես քեզ զգում»:) %temp ճշգրտիչ

եթե temp_sys == 1 %տաք է

writeDigitalPin (rpi, 26, 1) %-ը միացնում է լույսերը

writePosition (ներ, 0) %-ը շրջում է շարժիչը CW/CCW

փակեք վարագույրները, անջատեք լույսերը

elseif temp_sys == 2 %ցուրտ

writeDigitalPin (rpi, 26, 0) %-ը անջատում է լույսերը

writePosition (ներ, 180) %-ը շրջում է շարժիչը CCW/CW

բաց վարագույրներ, միացրեք լույսերը

elseif temp_sys == 3 %ճիշտ է

fprintf ('temperatureերմաստիճանի կարգավիճակի պահպանում. / n')

վերջ

Քայլ 6: Քայլ 6. Շարժման ցուցիչ տեսախցիկ

Քայլ 6: Շարժման ցուցիչ տեսախցիկ
Քայլ 6: Շարժման ցուցիչ տեսախցիկ

Շարժման տվիչի տեսախցիկը լուսանկարում է նրանց, ովքեր մտնում կամ դուրս են գալիս սենյակ: Մենք սա ընտրեցինք որպես անվտանգության լրացուցիչ գործառույթ նրանց համար, ովքեր հետաքրքրված են, թե ով է եղել իրենց տանը: Երբ շարժման սենսորը հայտնաբերում է շարժումը, Matlab- ի ծածկագիրը խցիկին ասում է, որ նկար վերցնի և ցուցադրի այն: Կոդը հետևյալն է.

i = 0

հստակ տեսախցիկ

տեսախցիկ = խցիկ (rpi);

մինչդեռ ես == 0

լուսանկար (տեսախցիկ); %հստակ պատկերի բուֆեր

img = լուսանկար (տեսախցիկ);

պատկերներ (img);

վերջ

Խորհուրդ ենք տալիս: