Съдържание:

Система за интелигентен дом: 6 стъпки
Система за интелигентен дом: 6 стъпки

Видео: Система за интелигентен дом: 6 стъпки

Видео: Система за интелигентен дом: 6 стъпки
Видео: SONOFF NSPanel Pro - интерактивная панель умного дома с zigbee шлюзом, первое знакомство 2024, Ноември
Anonim
Система за интелигентен дом
Система за интелигентен дом

Тази инструкция ще ви помогне да обясните как да настроите и използвате нашата система за интелигентен дом, като използвате софтуера 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 на сензора за движение. Сензорът за движение ще открие, когато някой е близо и активира светодиода, за да покаже, че светлините са включени. След като движението вече не се открива, светодиодът ще се изключи сам. Кодът е следният:

докато е вярно

motionDetected = readDigitalPin (rpi, 3);

ако MotionDetected == 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';

данни = webread (url);

a = data.currentobservation. Temp;

fprintf ('Външната температура е %s / n', a)

x = str2num (a);

ако x> 80

fprintf („Намалете термостата надолу 15 градуса“)

writeDigitalPin (rpi, 26, 1) %включва светлини

иначе x> 75 && x <80

fprintf ('Изключете термостата / n')

writeDigitalPin (rpi, 26, 1) %включва светлини

иначе x 55

fprintf ('Завъртете термостата нагоре с 10 градуса / n')

writeDigitalPin (rpi, 26, 0) %изключва светлините

иначе x 45

fprintf ('Завъртете термостата нагоре на 20 градуса / n')

writeDigitalPin (rpi, 26, 0) %изключва светлините

иначе x 40

fprintf ('Завъртете термостата нагоре 25 градуса / n')

writeDigitalPin (rpi, 26, 0) %изключва светлините

иначе x 30

fprintf ('Завъртете термостата нагоре 35 градуса / n')

иначе

fprintf ('Завъртете термостата до 65 градуса / n')

край

Стъпка 5: Стъпка 5: Сервомодул на двигателя

Стъпка 5: Сервомодул на двигателя
Стъпка 5: Сервомодул на двигателя

Сервомодулът на двигателя е способността да отваря и затваря щорите. Когато домът трябва да се охлади, щорите ще се затворят, за да пропускат по -малко топлина. Когато домът трябва да се затопли, щорите ще се отворят, за да се затоплят по -бързо. Сервото решава какво да направи, като получава вход от потребителя, взаимодействащ с меню с опции. Кодът на двигателя е следният:

s = серво (rpi, 3)

writeDigitalPin (rpi, 4, 1)

writePosition (s, 45)

temp_sys = menu ('Как се чувстваш?') %temp templator

ако 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: Камера със сензор за движение

Стъпка 6: Камера със сензор за движение
Стъпка 6: Камера със сензор за движение

Камерата със сензор за движение прави снимка на тези, които влизат или излизат от стая. Избрахме това като допълнителна функция за сигурност за тези, които се интересуват кой е бил в дома им. Когато сензорът за движение открие движение, кодът на Matlab казва на камерата да направи изображение и да го покаже. Кодът е следният:

i = 0

чиста камера

cam = cameraboard (rpi);

докато i == 0

моментна снимка (камера); %изчистен буфер на изображението

img = моментна снимка (камера);

imagesc (img);

край

Препоръчано: