Мазмуну:

Акылдуу үй системасы: 6 кадам
Акылдуу үй системасы: 6 кадам

Video: Акылдуу үй системасы: 6 кадам

Video: Акылдуу үй системасы: 6 кадам
Video: 6-кадам: Мугалимдердин нагрузкасын киргизүү. Edupage/Эдупейж/Едупейж/Timetable/asc Timetable... 2024, Ноябрь
Anonim
Акылдуу үй системасы
Акылдуу үй системасы

Бул көрсөтмө Matlab программалык камсыздоону жана Raspberry Pi жабдууларын колдонуу менен Smart Home системабызды кантип орнотууну жана колдонууну түшүндүрүүгө жардам берет. Бул нускаманын аягында, сиз биздин продуктту оңой эле колдоно билишиңиз керек!

1 -кадам: 1 -кадам: Тетиктер жана материалдар керек

1 -кадам: Бөлүктөр жана материалдар керек
1 -кадам: Бөлүктөр жана материалдар керек
1 -кадам: Бөлүктөр жана материалдар керек
1 -кадам: Бөлүктөр жана материалдар керек
  • Raspberry Pi
  • Нан тактасы (x2)
  • PIR Motion сенсор
  • LCD модулу
  • LED Light
  • Конденсатор
  • Raspberry Pi камерасы
  • Micro Servo Motor
  • Эки учтуу зымдар (20)

2 -кадам: 2 -кадам: Көйгөйлөрдү билдирүү

Биздин продукт чечүүгө аракет кылып жаткан маселелер - бул кол менен жарык башкаруу, ички температураны көзөмөлдөө жана энергияны үнөмдөө. Биз орточо үй колдонгон энергиянын көлөмүнө көңүл бурдук жана энергияны колдонууну азайтуунун жолдорун издегибиз келди. Жарыктардын күйүп турушу жана термостаттын керексиз температурасы энергияны өтө көп керектөөнү түзөт. Жарык бөлмө бош турганда өчкөн жерге чейин кыймылга келет жана термостат сырткы температуранын көрсөткүчүнүн негизинде экологиялык жактан эффективдүү температурага туураланып калат.

3 -кадам: 3 -кадам: Кыймыл сенсорунун конфигурациясы

3 -кадам: Кыймыл сенсорунун конфигурациясы
3 -кадам: Кыймыл сенсорунун конфигурациясы

Кыймыл сенсору 3.3V кубат пинине, жерге пинге жана сиз тандаган санариптик пинге туташтырылган. Алар тиешелүү түрдө кыймыл сенсорундагы VCC, GND жана OUT портторуна туташкан. Кыймыл сенсору кимдир бирөө жакын турганда аныктайт жана чырактар күйүп турганын көрсөтүү үчүн LEDди иштетет. Кыймыл аныкталбай калгандан кийин, LED өзү өчүп калат. Код төмөнкүчө:

чын болсо

motionDetected = readDigitalPin (rpi, 3);

эгер motionDetected == 1

writeDigitalPin (rpi, 16, 1)

башка

writeDigitalPin (rpi, 16, 0)

аяктоо

аяктоо

4 -кадам: 4 -кадам: LCD модулунун дисплейи

4 -кадам: LCD модулунун дисплейи
4 -кадам: LCD модулунун дисплейи

ЖК интернеттен берилген жандуу аба ырайы маалыматынан температура маалыматын алат. ЖК модулу анда учурдагы температуранын көрсөткүчүн көрсөтөт. Матлабда температура окулат, андан кийин if циклинен өтөт жана үйдөгү температуранын орнотулушун канчалык тууралоо керектигин аныктайт. Код төмөнкүчө:

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

маалыматтар = webread (url);

a = data.currentobservation. Temp;

fprintf ('Сырткы температура %s / n', a)

x = str2num (a);

эгер х> 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 -кадам: Motor Servo Module

5 -кадам: Motor Servo Module
5 -кадам: Motor Servo Module

Motor Servo Module жалюзи ачуу жана жабуу мүмкүнчүлүгүн билдирет. Үйдү муздатуу керек болгондо, жалюзи азыраак жылуулук берүү үчүн жабылат. Үйдү жылытуу керек болгондо, аны тезирээк жылытуу үчүн жалюзи ачылат. Серво меню менен өз ара аракеттешкен колдонуучудан маалыматты алуу менен эмне кылууну чечет. Мотордун коду төмөнкүчө:

s = servo (rpi, 3)

writeDigitalPin (rpi, 4, 1)

writePosition (s, 45)

temp_sys = меню ('Кандайсың?') %темп жөндөгүч

temp_sys == 1 %ысык болсо

writeDigitalPin (rpi, 26, 1) %жарыктарды күйгүзөт

writePosition (s, 0) %мотор CW/CCW айланат

жалюзи жабуу, жарыкты өчүрүү

elseif temp_sys == 2 %суук

writeDigitalPin (rpi, 26, 0) %жарыкты өчүрөт

writePosition (s, 180) %мотор CCW/CW айланат

ачык жалюзи, жарыкты күйгүзүү

elseif temp_sys == 3 %туура

fprintf ('Температуранын абалын сактоо. / n')

аяктоо

6 -кадам: 6 -кадам: Motion Sensor Camera

6 -кадам: Кыймыл сенсордук камера
6 -кадам: Кыймыл сенсордук камера

Кыймыл сенсорунун камерасы бөлмөгө кирген же чыккандардын сүрөтүн тартат. Биз муну үйүндө ким болгондугуна кызыккандар үчүн кошумча коопсуздук функциясы катары тандап алдык. Кыймыл сенсору кыймылды аныктаганда, Matlab коду камерага сүрөт тартып, аны көрсөтүүнү айтат. Код төмөнкүчө:

i = 0

ачык камера

камера = камералык такта (rpi);

ал эми мен == 0

сүрөт (камера); %ачык сүрөт буфери

img = сүрөт (камера);

imagesc (img);

аяктоо

Сунушталууда: