Оглавление:

Система умного дома: 6 шагов
Система умного дома: 6 шагов

Видео: Система умного дома: 6 шагов

Видео: Система умного дома: 6 шагов
Видео: СДЕЛАЛ УМНЫЙ ДОМ ***ЗА 10 МИНУТ!*** 2024, Ноябрь
Anonim
Система умного дома
Система умного дома

Это руководство поможет объяснить, как настроить и использовать нашу систему «Умный дом» с помощью программного обеспечения Matlab и оборудования Raspberry Pi. В конце этой инструкции вы сможете с легкостью полностью использовать наш продукт!

Шаг 1: Шаг 1: Необходимые детали и материалы

Шаг 1: Необходимые детали и материалы
Шаг 1: Необходимые детали и материалы
Шаг 1: Необходимые детали и материалы
Шаг 1: Необходимые детали и материалы
  • Raspberry Pi
  • Макетная плата (x2)
  • Датчик движения PIR
  • ЖК-модуль
  • Светодиодный
  • Конденсатор
  • Камера Raspberry Pi
  • Микро Серводвигатель
  • Двухсторонние провода (20)

Шаг 2: Шаг 2: Постановка проблемы

Наш продукт пытается решить следующие проблемы: ручное управление освещением, контроль температуры в помещении и энергоэффективность. Мы сосредоточились на количестве энергии, которое использует средний дом, и хотели найти способы снизить потребление энергии. Включенный свет и ненужные температуры термостата приводят к очень высокому ненужному потреблению энергии. Свет будет активирован движением туда, где они отключаются, когда комната свободна, а термостат настраивается на экологически эффективную температуру на основе показаний наружной температуры.

Шаг 3: Шаг 3: Конфигурация датчика движения

Шаг 3: Конфигурация датчика движения
Шаг 3: Конфигурация датчика движения

Датчик движения подключается к контакту питания 3,3 В, контакту заземления и цифровому контакту по вашему выбору. Они подключаются к портам VCC, GND и OUT на датчике движения соответственно. Датчик движения обнаружит, что кто-то находится рядом, и активирует светодиод, чтобы указать, что свет включен. Как только движение перестанет обнаруживаться, светодиод погаснет. Код выглядит следующим образом:

пока правда

motionDetected = readDigitalPin (rpi, 3);

если motionDetected == 1

writeDigitalPin (rpi, 16, 1)

еще

writeDigitalPin (rpi, 16, 0)

конец

конец

Шаг 4: Шаг 4: ЖК-дисплей модуля

Шаг 4: ЖК-дисплей модуля
Шаг 4: ЖК-дисплей модуля

ЖК-дисплей отображает данные о температуре из информации о погоде в режиме реального времени, предоставляемой из Интернета. Затем ЖК-модуль отображает текущее значение температуры. В Matlab температура считывается, а затем проходит цикл if, чтобы определить, насколько изменить настройку температуры в доме. Код выглядит следующим образом:

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

data = webread (url);

a = data.currentobservation. Temp;

fprintf ('Наружная температура% s / n', a)

х = str2num (а);

если x> 80

fprintf ('Поверните термостат на 15 градусов вниз')

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

иначе, если 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: сервомодуль двигателя
Шаг 5: сервомодуль двигателя

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

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

writeDigitalPin (rpi, 4, 1)

writePosition (s, 45)

temp_sys = menu ('Как вы себя чувствуете?')% temp Adjustor

если temp_sys == 1% горячий

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

writePosition (s, 0)% оборотов двигателя по часовой / против часовой стрелки

закрыть жалюзи, выключить свет

elseif temp_sys == 2% холодно

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

writePosition (s, 180)% оборотов двигателя против часовой / против часовой стрелки

открыть жалюзи, включить свет

elseif temp_sys == 3% в самый раз

fprintf ('Поддержание температурного статуса. / n')

конец

Шаг 6: Шаг 6: Камера с датчиком движения

Шаг 6: Камера с датчиком движения
Шаг 6: Камера с датчиком движения

Камера с датчиком движения фотографирует тех, кто входит в комнату или выходит из нее. Мы выбрали это в качестве дополнительной функции безопасности для тех, кому интересно, кто бывал в их доме. Когда датчик движения обнаруживает движение, код Matlab сообщает камере, что нужно сделать снимок и отобразить его. Код выглядит следующим образом:

я = 0

очистить камеру

cam = cameraboard (rpi);

в то время как я == 0

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

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

imagesc (img);

конец

Рекомендуемые: