Оглавление:
- Шаг 1: светочувствительный светодиод
- Шаг 2: мини-выключатель питания
- Шаг 3: второй фотоэлемент
- Шаг 4: светодиод RGB
- Шаг 5: Датчик температуры
- Шаг 6: мотор-редуктор DAGU
- Шаг 7: Код
Видео: Проект умного дома EF230: 7 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:52
Необходимые детали и материалы:
- 1 Ардуино MKR 1000
- 3 макета
- 2 мини-фотоэлемента
- 1 NPN транзисторы
- 1 мини-выключатель питания
- 1 светодиод - RGB (4 контакта)
- 1 светодиод (цвет на ваш выбор)
- 1 диод 1N4148
- 1 резистор 10 кОм
- 5 Резистор 100 Ом
- 1 датчик температуры TMP36
- 1 DAGU мотор-редуктор с передаточным отношением 48: 1
- 25 перемычек
- Шнур USB
- Программа MATLAB
-
Руководство по экспериментам SIK для платы Arduino 101 / Genuino 101 - Ссылка на руководство по экспериментам SIK
В этом проекте подробно описывается концептуальный дизайн системы умного дома, которая будет использовать данные, чтобы помочь домовладельцам оптимизировать потребление энергии и безопасность. Он включает в себя датчик освещенности для включения наружного освещения в ночное время, датчик освещенности для обеспечения безопасности, а также датчик температуры и вентилятор для контроля температуры в помещении.
Шаг 1: светочувствительный светодиод
- Светочувствительная светодиодная установка предназначена для представления уличного света в доме, включающегося в ночное время.
- Когда мини-фотоэлемент обнаруживает уменьшенное количество света, загорается светодиод.
- Для умного дома это имеет значение для энергии и безопасности. Это позволит сэкономить электроэнергию, не выключая свет в течение дня, и обеспечит повышенную безопасность в ночное время.
- Точное подключение и настройку для этой части проекта можно найти в эксперименте 7 в Руководстве по экспериментам SIK.
Шаг 2: мини-выключатель питания
- Коммутатор - это первый шаг в обеспечении безопасности умного дома.
- При включении коммутатор инициирует ответ, спрашивающий пользователя, хотят ли они войти в режим «Домой» или «В гостях».
- Если выбран режим «Дом», охрана считается снятой с охраны, но при выборе режима «В гостях» система безопасности будет поставлена на охрану.
- Подключение к этой части проекта можно найти в эксперименте 6 в Руководстве по экспериментам. Для умного дома светодиоды и их соединительные провода, найденные в эксперименте 6, включать не нужно.
Шаг 3: второй фотоэлемент
- Второй фотоэлемент служит датчиком движения для системы безопасности умного дома.
- Датчик используется только тогда, когда система переведена в режим «Нет на месте», как описано в предыдущем шаге.
- Если фотоэлемент испытывает уменьшение количества света, которое он получает, он распознает это как движение внутри дома.
- Настройку для этой части проекта можно найти в эксперименте 7 в SIK Experiment Guide. Однако в проводку необходимо включить только фотоэлемент и его соединительные провода.
Шаг 4: светодиод RGB
- Светодиод RGB используется вместе с мини-выключателем питания и вторым фотоэлементом для системы безопасности умного дома.
- Три разных цвета используются в качестве индикаторов для жителя умного дома.
- Когда система переведена в режим «Домой», светодиод становится синим. Когда система находится в режиме «Нет на месте», светодиод становится зеленым. Когда фотоэлемент, используемый в качестве датчика движения, срабатывает, свет мигает красным.
- Подключение светодиода RGB можно найти в эксперименте 3 Руководства по экспериментам SIK.
Шаг 5: Датчик температуры
- Датчик температуры играет важную роль в экономии энергии в умном доме.
- Житель может ввести желаемую температуру для своего дома, когда умный дом используется.
- С помощью датчика температуры система определяет, насколько фактическая температура отличается от желаемой.
- Настройку для датчика температуры можно найти в эксперименте 9 Руководства по экспериментам SIK.
Шаг 6: мотор-редуктор DAGU
- Мотор позволяет умному дому регулировать температуру в доме исходя из заданной температуры и показаний датчика температуры.
- Действуя как блок переменного тока в доме, двигатель будет вращаться с разными скоростями в зависимости от того, насколько фактическая температура выше заданной. Чем выше разница, тем быстрее крутится мотор.
- Электропроводку двигателя можно найти в Руководстве по эксперименту в рамках эксперимента 11.
Шаг 7: Код
- Код для умного дома включает в себя несколько пользовательских интерфейсов, которые позволяют жителю легко понять, как он работает, и легко изменить настройки.
- С системой умного дома житель получит уведомление по электронной почте, если датчик движения сработает, пока он отсутствует.
- Единственное изменение, которое необходимо внести, - это вставить информацию об адресе электронной почты отправителя и адресе электронной почты получателя.
очистить; очистить s; чистый м; clc; закрыть все; % Очистите переменные arduino и servo, чтобы их можно было переопределять каждый раз, чтобы код работал эффективно (для правильной работы одного из циклов while необходимо «очистить m») a = arduino (); % Установить переменную arduino
s = сервопривод (a, 'D6'); % Установите сервопеременную
% Инициализировать переменные электронной почты для электронной почты с предупреждением системы безопасности
emails = {'вставить адрес получателя'}; % Массив электронных писем, на которые будет отправлено защитное письмо
% Настройки электронной почты, необходимые для использования Gmail для отправки почты из
setpref ('Интернет', 'E_mail', 'адрес электронной почты отправителя');
setpref ('Интернет', 'SMTP_Username', 'имя пользователя отправителя');
setpref ('Интернет', 'SMTP_Password', 'пароль отправителя');
props = java.lang. System.getProperties;
props.setProperty ('mail.smtp.auth', 'истина');
props.setProperty ('mail.smtp.socketFactory.class', 'javax.net.ssl. SSLSocketFactory'); props.setProperty ('mail.smtp.socketFactory.port', '465');
% Переменные темы и текста сообщения электронной почты
subj = 'Оповещение о вторжении в ваш дом';
text = 'Здравствуйте! Это система безопасности вашего Умного дома, информирующая вас о том, что за пределами вашего дома было обнаружено движение. Мы приняли необходимые меры и связались для вас с властями. Оставайтесь в безопасности. ';
пока правда
prompt = {'Введите желаемую домашнюю температуру (от 65F до 85F):'}; % Запрос меню ввода данных пользователем
dlgtitle = 'Выбор температуры'; % Заголовок меню пользовательского ввода
dims = [1 30]; % Размеры для меню пользовательского ввода
Definput = {'72'}; % Ввод по умолчанию, который появляется при первом открытии меню
tempsel_array = inputdlg (подсказка, dlgtitle, dims, Definput); % Всплывающее меню пользовательского ввода, которое сохранит введенное число в массив
if ~ isempty (tempsel_array)% Если массив НЕ пуст
tempsel_char = cell2mat (tempsel_array); % Преобразовать массив в символьную строку
tempsel = str2double (tempsel_char); % Преобразование строки символов в числа
thingSpeakWrite (chID, tempsel, 'WriteKey', writeKey, 'Поля', 1); % Запишите выбранную температуру в свой канал ThingSpeak
break% Прервать цикл while, чтобы меню не всплывало несколько раз
else% Если пользователь нажимает кнопку "Отмена" вместо ввода температуры
msg1 = msgbox ('Температура не выбрана, по умолчанию 85F', 'Предупреждение!'); % Сообщение, отображаемое пользователю после нажатия кнопки "Отмена"
waitfor (msg1); % Дождитесь закрытия окна сообщения, прежде чем продолжить
tempsel = 85; % Установите температуру, указанную в окне сообщения.
thingSpeakWrite (chID, tempsel, 'WriteKey', writeKey, 'Поля', 1); % Запишите выбранную температуру в свой канал ThingSpeak
break% Прервать цикл while, чтобы меню не всплывало несколько раз
конец
конец
пока правда
chID = 745517; % ThingSpeak ID канала
writeKey = 'G9XOQTP8KOVSCT0N'; % Ключ для доступа к каналу ThingSpeak
% Инициализировать датчики для получения данных
tempread = readVoltage (a, 'A3'); % Считайте напряжение датчика температуры
lightl1 = readVoltage (a, 'A2'); % Уровень освещенности фоторезистора, идущего к красному светодиоду
lightl2 = readVoltage (a, 'A5'); % Уровень освещенности фоторезистора, идущего к системе безопасности
switchv = readVoltage (a, 'A0'); % Значение для переключателя
% Преобразование данных о температуре из напряжения в градусы Фаренгейта
tempC = (tempread - 0,5) * 100; % Преобразование напряжения в температуру в градусах Цельсия
tempF = (tempC * 9/5) + 32; % Преобразование температуры в градусах Цельсия в температуру в градусах Фаренгейта
% Инициализировать номера контактов для многоцветного светодиода.
redp = 'D9'; % Контакт для красного свечения светодиода
greenp = 'D10'; % Контакт для зеленого свечения светодиода
bluep = 'D11'; % Пин для синего света от светодиода
if tempsel <tempF% Если выбранная температура выше комнатной
writePosition (s, 1); % Сервопривод начнет движение
pause (10)% Сервопривод будет продолжать вращаться в течение 10 секунд, чтобы показать, что кондиционер выключится через заданное время.
writePosition (s, 0); % Выключите вентилятор, чтобы продолжить код без включения вентилятора
tempsel = 150; % Измените значение температуры, чтобы выйти из цикла после выключения вентилятора, опять же просто с целью продолжения кода
конец
if lightl1 <= 3% Если первый фоторезистор обнаруживает низкий уровень освещенности
writeDigitalPin (a, 'A1', 1); % Включите красный светодиод, обозначающий наружное освещение.
else% Если уровень освещенности снова высокий
writeDigitalPin (a, 'A1', 0); % Выключите красный светодиод, когда уровень освещения снова станет достаточно высоким.
конец
если switchv> 3% Если переключатель включен
A = существует ('м', 'вар'); % Проверьте наличие переменной 'm', это инициализирует цикл while и позволит прервать его, когда выбран пункт меню (вот почему очистить m необходимо в начале кода)
в то время как A == 0% Цикл будет выполняться до тех пор, пока не будет существовать переменная 'm'
menutext = 'В какой режим безопасности вы хотите войти?'; % Текст для всплывающего меню безопасности
choices = {'Дома', 'В гостях'}; % Выбор для всплывающего меню безопасности
m = меню (текст меню, варианты выбора); % Всплывающее меню для режимов системы безопасности
break% Гарантирует, что цикл while разорван, поэтому меню не будет появляться несколько раз
конец
if m == 1% Если выбран режим 'Home'
writeDigitalPin (a, синий, 1); % Включите только синий свет в светодиоде, меняющем цвет
writeDigitalPin (a, redp, 0);
writeDigitalPin (a, greenp, 0);
elseif m == 2% Если выбран режим «Нет на месте»
writeDigitalPin (a, голубой, 0);
writeDigitalPin (a, redp, 0);
writeDigitalPin (a, greenp, 1); % Включите только зеленый цвет светодиода, меняющего цвет.
if 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); % Закончите с непрерывным красным после мигания, чтобы показать движение, пока уровень света не вернется к прежнему уровню.
msg2 = msgbox ('Злоумышленник обнаружен системой безопасности, домовладельцам было отправлено электронное письмо, чтобы проинформировать их.', 'ВНИМАНИЕ!'); % Окно сообщения для информирования пользователя о движении и сообщения об отправленном электронном письме waitfor (msg2)% Подождите, пока окно сообщения закроется, прежде чем продолжить
еще
writeDigitalPin (a, greenp, 1); % Как только уровень света снова повысится, он снова станет зеленым.
конец
конец
elseif switchv <3,3% Если переключатель выключен
writeDigitalPin (a, голубой, 0); % Полностью выключите светодиод, чтобы показать, что система безопасности выключена.
writeDigitalPin (a, redp, 0);
writeDigitalPin (a, greenp, 0);
конец
конец
Рекомендуемые:
Система умного дома Alexa с использованием релейного модуля NodeMCU: 10 шагов
Система умного дома Alexa с использованием модуля реле NodeMCU: в этом проекте IoT я создал систему автоматизации умного дома Alexa с использованием NodeMCU ESP8266 & Релейный модуль. Вы можете легко управлять светом, вентилятором и другой бытовой техникой с помощью голосовой команды. Чтобы подключить интеллектуальную колонку Echo Dot к
SmartBox - система умного дома для вашей комнаты: 6 шагов
SmartBox - система умного дома для вашей комнаты: Всем привет! В этой инструкции я объясню вам, как сделать систему умной комнаты. Эта система содержит два устройства: обычное устройство с датчиком влажности и датчиком температуры, которое измеряет текущее качество жизни в вашей комнате. Вы
ForgetMeNot - Платформа уведомлений для умного дома: 14 шагов (с изображениями)
ForgetMeNot - платформа уведомлений для умного дома: как занятые студенты колледжа, бегающие между уроками, работой и семейными обязанностями, мы склонны забывать о мелочах. День рождения приходит и проходит незаметно для нас, важный дедлайн пропускается из-за явной забывчивости, а иногда просто
Полное дополнение для умного дома: 8 шагов
Дополнение для полного умного дома: мой предыдущий проект "Полный умный дом" успешно работает почти 5 лет без каких-либо проблем. Теперь, когда я решил добавить отзыв к тому же самому без каких-либо изменений существующей схемы и схемы. Так что это дополнение к профи
Концентратор для умного дома ESP32: 11 шагов
ESP32 Smart Home Hub: создание системы, которая может обрабатывать большие объемы данных датчиков, иметь несколько выходов и подключаться к Интернету или локальной сети, требует много времени и больших усилий. Слишком часто люди, желающие создать свою собственную сеть умного дома