Оглавление:

Автоматическое затенение окон: 6 шагов (с изображениями)
Автоматическое затенение окон: 6 шагов (с изображениями)

Видео: Автоматическое затенение окон: 6 шагов (с изображениями)

Видео: Автоматическое затенение окон: 6 шагов (с изображениями)
Видео: ВНИМАНИЕ: Эта коварная настройка испортит качество изображения, если вы не сделаете вот этого.... 2024, Июль
Anonim
Image
Image
Автоматические шторы Windows
Автоматические шторы Windows
Автоматические шторы Windows
Автоматические шторы Windows

Слово впереди

Я видел много руководств о том, как автоматизировать ручные шторы и жалюзи, а в этом мы автоматизируем электрические шторы. Мы рассмотрим электрические шторы, управляемые электродвигателями постоянного тока (DC), которые открываются или закрываются путем изменения полярности тока.

Хотя, если вы купите электрические шторы, вы получите некоторую автоматизацию, есть причина для самостоятельной автоматизации, например:

* у вас может быть только переключатель рядом с ними для управления вверх / вниз

* это дешевле (некоторые компании предлагают расширенную автоматизацию за большие дополнительные $)

* более гибкие, вы можете запрограммировать их открывать или закрывать при различных обстоятельствах, мы узнаем о создании веб-сервера на Python, который будет подключаться к интерфейсу bluetooth оттенков, и предоставить API для управления оттенками, мы также будем интегрировать это с вещами, и там вы можете делать такие вещи, как управлять шторами по расписанию или управлять им через вход датчика

Это будет промежуточное руководство, вам потребуются такие навыки, как пайка, программирование на Arduino, базовое понимание электроники и некоторые способы установки служб на сервере, их запуска и настройки.

Если вам понравились видео на YouTube, вы можете подписаться здесь.

Шаг 1: необходимые вещи

Необходимые вещи
Необходимые вещи
Необходимые вещи
Необходимые вещи

Совет: увеличьте изображения, чтобы увидеть на них описательные надписи.

Части:

1. тип arduino pro mini 16Mhz 5V (eBay) 2 $

2. Bluetooth-модуль HC-05 (eBay) 3.3 $

3. 5 В двухканальные реле (eBay) 1.6 $

4. Транзистор NPN, рассчитанный как минимум на несколько ампер, я использовал Tip142T <1 $

5. 220 Ом, резистор 0,25Вт <1 $

6. диод, 1N4004 <1 $

7. провода для соединения деталей <1 $

8. Печатная плата (eBay) <1 доллар за штуку

9. 2 винтовых разъема KF301-2P (eBay) <1 $ за штуку

10. Перемычки папа-мама (eBay) 1,2 $ x 2 за пучок.

11. Регулятор L7805CV 5V (eBay) <1 $ за штуку

12. Разъем питания постоянного тока 5,5 мм, штекер и розетка (eBay) <1 $ за штуку

13. Термоусадочная трубка или изолента.

14. Блок питания, блок питания должен быть рассчитан на 12 В и 2-3 А.

Я вытащил шахту из зарядного устройства на 12 В, 2 А (eBay) 3,2 $

14. Клеммная колодка (eBay) 15c

15. Держатель предохранителя (Алиэкспресс) 1 $ за штуку

16. предохранитель (eBay) <1 $ за штуку

17. штекерные и женские разъемы для печатных плат (eBay) <1 $ за то, что нам нужно

18. Кабель питания переменного тока.

19. Пластиковая коробка вольера, мина была 6 х 19 см.

Инструменты:

1. Паяльник с припоем.

2. Кусачки

3. Различные отвертки.

4. Резак

5. дрель и сверло 8,5 мм

6. Переходник с USB на последовательный FTDI FT232RL для программирования arduino pro mini.

7. Ноутбук с установленным ArduinoIDE для программирования Arduino.

8. Легче, если вы используете термоусадочную трубку.

9. Смартфон с возможностью подключения по Bluetooth (в примере я использую Android) с установленным программным обеспечением Bluetooth.

10. Дополнительно: увеличительное стекло, мультиметр, плоскогубцы.

Шаг 2: подготовка

Препараты
Препараты
Препараты
Препараты
Препараты
Препараты

Выбор блока питания и пластиковой коробки

Первым делом необходимо определить, какой ток и какое напряжение работают двигатели жалюзи.

Это можно сделать, прочитав спецификации или проведя измерения с помощью мультиметра. Обычно они работают на 12 В и 1-3 А (у меня 2,5 А и 12 В). Умножьте ток на то, сколько из них вам нужно управлять одновременно (я вожу два), чтобы узнать максимальный необходимый ток. Вы должны найти источник питания с точно таким же напряжением и, в идеале, с такой же силой тока или немного выше.

На этом этапе я немного обманул, используя источник питания 12 В и 2,5 А для управления двумя двигателями 12 В и 2,5 А, что означает, что двигатели потребляют в два раза больше мощности, чем может дать блок питания. Но, используя технику под названием PWM (проверьте ссылку, чтобы увидеть более подробную информацию), мне удалось одновременно управлять двигателем на более низкой скорости.

Причина, по которой я сделал это, - чтобы сэкономить место в коробке (я выбрал коробку меньшего размера).

В пластиковом корпусе нужно будет разместить блок питания, два реле, небольшую плату с электроникой и проводами, поэтому выбирайте размер, чтобы все поместилось.

У моего блока питания был пластиковый корпус, который я разорвал с помощью инструмента dremel, я перерезал существующие провода и, таким образом, получил дешевый и небольшой блок питания, подходящий для моего проекта (см. Рисунки).

Подготовьте кабели двигателя

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

На конце удлинительного кабеля будет штекерное гнездо для разъема питания постоянного тока 5,5 мм. Вам нужно припаять два провода к розетке, конечный результат будет как на картинках.

Вставка гнездового разъема питания постоянного тока 5,5 мм в коробку

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

Крепление держателя предохранителя с предохранителем

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

Шаг 3: Сборка печатной платы с помощью электроники

Сборка печатной платы с помощью электроники
Сборка печатной платы с помощью электроники
Сборка печатной платы с помощью электроники
Сборка печатной платы с помощью электроники
Сборка печатной платы с помощью электроники
Сборка печатной платы с помощью электроники

На плате будут находиться микроконтроллер, связь по Bluetooth, модуль RTC, силовой транзистор с диодом для защиты и небольшой резистор, соединительные провода и регулятор 5V.

Я прикрепил схему фрицига, так что все будет легко. Первое изображение представляет собой экспортированное изображение схемы, и я также прикрепил sketch.fzz (исходный файл, вы можете открыть его с помощью этого инструмента).

Шаги пайки:

1. Отрежьте гнездовые разъемы печатной платы, есть два 12-контактных разъема для микроконтроллера, также есть 6-контактный разъем для bluetooth и еще один 12-контактный разъем на правой стороне микроконтроллера и двухконтактный разъем для реле отрицательного и положительная сила

2. После того, как все разъемы будут вырезаны, их нужно припаять на обратной стороне печатной платы.

3. Припаяйте два штекерных разъема KF301-2P.

4. Установите регулятор 5V L7805CV на плату. Согните ножки и припаяйте с другой стороны, затем обрежьте лишние ножки кабельным ножом.

5. Припаиваем транзистор NPN Tip142T и защитный диод 1N4004, после обрезки лишние ножки

6. Припаяйте резистор 220 Ом между соответствующим цифровым выводом 5 и выводом базы транзистора.

7. Припаяйте более толстые провода между транзистором и заглушками KF301-2P (красный и черный, как они отмечены на картинках).

8. Припаяйте все тонкие красные (+), черные (-) и белые (сигнальные) провода в соответствии со схемой fritzig.

9. Припаяйте штырьки на микроконтроллере, вам понадобятся два штыря по 12 по бокам.

10. Установите соединения между каждым из соответствующих выводов «мама» на правой стороне микроконтроллера (это лучше объяснено на рисунках). Соединения будут производиться простым припоем (контакты будут закрыты).

11. Необязательно: с помощью увеличительного стекла проверьте пайки на предмет короткого замыкания и проверьте, правильно ли припаяны провода на обратной стороне печатной платы, также вы можете проверить с помощью мультиметра (установка сопротивления), есть ли короткое замыкание между плюсом и отрицательные связи. Еще один тест - питание схемы без микроконтроллера, bluetooth.

12. Поместите микроконтроллер и Bluetooth HC-05 на плату.

Шаг 4: Электромонтаж и сборка

Электромонтаж и сборка
Электромонтаж и сборка
Электромонтаж и сборка
Электромонтаж и сборка

К настоящему времени у нас есть готовая печатная плата, готовая пластиковая коробка, подключены кабели шторы и подготовлены другие наши компоненты. Все, что нам нужно сделать, это подключить систему.

1. через верхнее боковое отверстие в коробке вставьте кабель питания переменного тока, зачистите кабель и припаяйте его к блоку питания (если у вашего блока питания есть винты, прикрутите его)

2. красным проводом припаяйте вывод (+) блока питания к одному из предохранителей, используйте термоусадочную трубку, чтобы скрыть оголенный зачищенный провод.

3. Припаиваем еще один красный провод к другой стороне предохранителя. Применяем термоусадочную трубку, другая сторона провода должна быть вставлена и вкручена во вход (+) винтового разъема KF301-2P.

4. Припаяйте черный провод к выходной (-) стороне блока питания и прикрутите его к входному разъему KF301-2P на печатной плате.

4. Используя разъемы «папа-мама» на макетной плате, подключите положительный и отрицательный полюс реле к положительному и отрицательному «женским» разъемам печатной платы. Также подключите контакты 8 и 9 микроконтроллера (используя материнские разъемы печатной платы слева от печатной платы) к контактам триггерного реле.

5. Подключите одну сторону клеммной колодки к красному или черному проводу, идущему от гнездовых разъемов разъема питания постоянного тока 5,5 мм. Если у вас есть несколько гнездовых разъемов 5,5 мм, как у меня, тогда все красные провода окажутся в верхнем левом углу клеммной колодки, а все черные провода - в верхней правой части клеммной колодки (см. Рисунки). Когда вы будете управлять шторами, если они не двигаются в одном направлении, мы перевернем провода здесь (подробнее об этом позже).

6. Подключите положительный и отрицательный провода, идущие от винтового разъема KF301-2P (out), к середине клемм реле. Середина выводов называется общими.

7. Подключите левую сторону левого реле (неважно, как вы на самом деле смотрите) с левой стороной правого реле к нижней левой стороне клеммной колодки. Затем подключите правую сторону левого реле к правой стороне правого реле к нижней правой стороне клеммной колодки. Клеммная колодка будет иметь верхнюю часть, подключенную к гнездовым разъемам 5,5 мм (см. Шаг 5).

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

Шаг 5: Код Arduino

Код Arduino
Код Arduino

Код необходимо загрузить в arduino pro mini с помощью переходника FTDI FT232RL с USB на последовательный порт.

Вам нужно будет подключить контакты GND, VCC, Rx, Tx и DTR к arduino pro mini. Затем откройте программное обеспечение arduino, выберите инструменты / порт и любой порт, который вы используете. Затем Инструменты / Плата / Arduino Pro или Pro Mini. Затем Инструменты / Плата / Процессор / ATmega328 (5V 16Mhz).

Наконец, откройте скетч ниже и нажмите "Загрузить".

Корректировки: Единственное, что можно настроить в скетче, - это pwmPower. Значение может быть от 0 до 255 и примерно представляет, какая часть мощности блока питания будет идти на двигатели жалюзи. Это в основном быстрое включение и выключение питания. Я реализовал это в основном для того, чтобы позволить мне использовать меньший блок питания без перегрева или выключения. Если ваш источник питания имеет большую мощность, чем потребляют двигатели, вы можете установить pwmPower на 255.

Итак, как работает эта программа: сначала она прослушивает последовательную линию (вторичный серийный номер программного обеспечения) для входящих передач. Когда приходит передача, сообщение читается в буфере до появления символа ";" присутствует или достигнут конец буфера. Затем он анализируется, и если он в правильном формате (например: O45;), функция toggleState вызывается с первым состоянием параметра, а затем с продолжительностью.

Для переключения полярности оба реле либо разомкнуты, либо замкнуты. Транзистор включается и выключается с помощью ШИМ на указанное время. O45 будет означать открытие на 45 секунд.

После выполнения команды буфер очищается.

Шаг 6: использование

использование
использование
использование
использование
использование
использование

Мы можем использовать элементы управления более чем одним способом

1. Через приложение bluetooth android или iphone (самое простое)

В своей демонстрации я выбрал приложение для Android под названием Bluetooth Controller. Это приложение позволяет настраивать кнопки, которые будут отправлять последовательные данные. Я создал две кнопки под названием «Вверх» и «Вниз», я связал «Вверх» с кодом «C40;» и Вниз с «O35;».

"C40;" означает, что я закрою (уберу) шторы на 40 секунд, «035» означает, что я открою (они поднимутся) на 35 секунд. ";" - это терминатор команды, который я выбрал в своем скетче, это означает, что он сигнализирует об окончании команды.

2. С помощью скрипта Python, который постоянно работает в фоновом режиме

Это продвинутая часть учебника. У меня есть скрипт Python, который будет работать на сервере, таком как Raspberry Pi или ноутбуке с доступом в Интернет. Он подключится к bluetooth на блоке управления и предоставит http API. Доступ к API можно получить напрямую или через Thingspeak.

Я пошагово объясню, что тебе нужно делать

а. первое, что нужно сделать, это подключить bluetooth

вы будете использовать команду bluetoothctl с консоли, внутри введите

включить

обнаруживается агентом по умолчанию-агент сопоставляется при сканировании пары xx: xx: xx: xx: xx: xx (и введите пароль) trust xx: xx: xx: xx: xx: xx (при отсутствии пароля):

затем откройте файл конфигурации bluetooth

vim /etc/bluetooth/rfcomm.conf

внутри вам нужно будет настроить ваше устройство Bluetooth следующим образом:

rfcomm1 {

связать да; устройство your_bluetooth_mac_address что-то вроде 97: D3: 31: 21: A0: 51; канал 1; комментарий «Подключение к моим оттенкам bt»; }

привязать, перезапустить службы bluetooth

sudo rfcomm bind allsudo /etc/init.d/bluetooth restart sudo hciconfig hci0 up

б. установить колбу, базовую аутентификацию колбы:

sudo -H pip install Flask Flask-BasicAuth

c. создайте файл server.py со следующим кодом и запустите сервер:

# использование: python httpToBluetooth имя пользователя пароль bluetooth_address

# Примечание: используются имя пользователя, пароль

импорт ОС, блютуз, система, потоки

from flask import Flask from flask_basicauth import BasicAuth from queue import Queue app = Flask (_ name_) configuration = sys.argv app.config ['BASIC_AUTH_USERNAME'] = configuration [1] app.config ['BASIC_AUTH_PASSWORD'] = configuration [2] queue = Queue () basic_auth = BasicAuth (приложение) класс BluetoothBackground (threading. Thread): def _init _ (self, bluetooth_address, queue): threading. Thread._ init _ (self) self._ bluetooth_address = bluetooth_address self._ queue = queue self.shutdown = False def run (self): self._ bluetooth = self.get_bluetooth () пока не self.shutdown: message = self._ queue.get () self._ bluetooth.send (message) self._ bluetooth.close () def get_bluetooth (self): connection = bluetooth. BluetoothSocket (bluetooth. RFCOMM) connection.settimeout (None) try: connection.connect ((self._ bluetooth_address, 1)) except Exception, e: print 'Ошибка подключения к bluetooth' + str (e) connection.setblocking (False) вернуть класс соединения Webserver (threading. Thread): def run (self): port = in t (os.environ.get ('PORT', 5000)) app.run (host = '0.0.0.0', port = port, debug = True, use_reloader = False) @ app.route ("/ send_to_serial /") @ basic_auth.required def send_to_serial (команда): queue.put (команда) return 'ok' thread = threads.append (BluetoothBackground (конфигурация [3], очередь)) threads.append (Webserver ()) [thread.start () для потока в потоках]

для запуска сервера выполните:

пароль пользователя python server.py 97: D2: 31: 20: A0: 51

Итак, server.py - это наш скрипт, пользователь и пароль - это учетные данные, используемые для вашей аутентификации, а «97: D2: 31: 20: A0: 51» - ваш MAC-адрес Bluetooth.

d. используйте свой сервер для отправки команд из любой точки мира

из типа браузера: https:// your_ip: 5000 / send_to_serial / C30;

- введите пользователя и пароль, которые вы установили ранее при запуске сервера python

- «С30»; это команда, которая будет перенаправлена на устройство bluetooth (наш ящик, который будет управлять шторами)

- убедитесь, что порт 5000 не заблокирован вашим брандмауэром (мы используем этот порт)

- если вы находитесь за маршрутизатором (например, raspberry pi), вам необходимо сделать переадресацию портов с маршрутизатора с порта 5000 на порт 5000

е. вы можете использовать thingspeak, чтобы делать такие вещи, как управление шторами по расписанию или при изменении данных некоторых датчиков канала. Например, вы можете подключить датчик освещенности (снаружи) к Thinkspeak, и когда уровень освещенности упадет до некоторого значения (это вечер), вы можете закрыть шторы, чтобы люди снаружи вас не видели.

Вы можете подключить тени (сервер Python, который мы настроили ранее) с Thingspeak, используя ThingHTTP.

Я включил изображение формы ThingHTTP с заполненными данными в качестве примера и изображение с TimeControl. Так что для максимальной гибкости thingspeak следует делать все, что вам нужно.

3. Через мое приложение для домашней автоматизации

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

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

Вы можете проверить мой репозиторий на github, и если у вас возникнут вопросы, я с радостью на них отвечу.

Если вы нашли мое руководство в чем-то полезным, поделитесь им или добавьте в избранное. И я тоже хочу увидеть несколько интересных комментариев:)

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