Оглавление:

Автоматические домашние шторы - мини-проект с модулем MakerChips 'BluChip (nRF51 BLE): 7 шагов (с изображениями)
Автоматические домашние шторы - мини-проект с модулем MakerChips 'BluChip (nRF51 BLE): 7 шагов (с изображениями)

Видео: Автоматические домашние шторы - мини-проект с модулем MakerChips 'BluChip (nRF51 BLE): 7 шагов (с изображениями)

Видео: Автоматические домашние шторы - мини-проект с модулем MakerChips 'BluChip (nRF51 BLE): 7 шагов (с изображениями)
Видео: Такие шторы не купить в магазине ! 2024, Июль
Anonim
Автоматизированные домашние шторы - мини-проект с модулем MakerChips 'BluChip (nRF51 BLE)
Автоматизированные домашние шторы - мини-проект с модулем MakerChips 'BluChip (nRF51 BLE)

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

См. Этот учебник на Github

Шаг 1: Дизайн

Дизайн
Дизайн

В основе автоматизированной системы домашних занавесей лежит модуль BluChip от MakerChips.

BluChip - это крошечный модуль Bluetooth размером 16,6x11,15 мм, который можно использовать в качестве периферийного устройства для смартфонов через BTLE.

Щелкните здесь, чтобы ознакомиться с технологией Bluetooth Low Energy (BTLE).

Модуль состоит из SoC nRF51 от Nordic Semiconductors, отличной платформы для приложений BLE, поскольку он поддерживает множество интегрированных функций в приложениях Android и Apple.

Шаг 2: Комплект BluChip Explorer

Комплект BluChip Explorer
Комплект BluChip Explorer
Комплект BluChip Explorer
Комплект BluChip Explorer
Комплект BluChip Explorer
Комплект BluChip Explorer

Для создания этого проекта я получил комплект BluChip Explorer от MakerChips, который прибыл в двух отдельных коробках: одна для программатора CMSIS-DAP, а другая - с BluChip на макетной плате с 2 светодиодами RGB, фоторезистором и батареей CR2032.

Как вы заметили, модуль BluChip чрезвычайно мал, что делает его идеальным для небольших встраиваемых проектов Bluetooth с низким энергопотреблением. Он умещается на макетной плате, занимая всего лишь 6x4 0,1-дюймовых разъемов, и имеет дополнительные 0,05-дюймовые разъемы на верхней части платы, что довольно впечатляюще для коммерчески сертифицированного корпуса FCC!

Вот некоторые ключевые особенности BluChip с веб-сайта MakerChips:

  • 14 доступных контактов GPIO
  • 32-битный процессор ARM Cortex M0, 256 КБ флэш-памяти и 32 КБ ОЗУ
  • 16,6 мм x 11,15 мм Наименьший из имеющихся макетных модулей Bluetooth®
  • Блок питания поддерживает 1,8 В - 3,6 В
  • Возможности Bluetooth

    • BTLE - Bluetooth с низким энергопотреблением - (BLE, BT 4.1)
    • Bluetooth® и квалификация FCC, IC в Японии
    • Встроенные системные часы 32 МГц
    • Выходная мощность: +4 дБм тип.
    • Частота: от 2402 до 2480 МГц

      Встроенная высокоэффективная диаграмма направленности антенны

    • Одномодовый Bluetooth® Smart Slave / Master
  • Поддерживаемые интерфейсы: SPI, UART, I2C и 8/9/10-битный АЦП
  • Два набора программирующих контактов

    • Заголовки 0,05 дюйма для удобного подключения к устройствам CMSIS-DAP и J-Link
    • .1-дюймовые заголовки для подключения к макетным платам
  • Программно управляемый красный светодиод

Шаг 3. Приложение NRF Connect

Image
Image
Приложение NRF Connect
Приложение NRF Connect
Приложение NRF Connect
Приложение NRF Connect

Как только вы открываете коробку BluChip explorer, вы видите, что она оживает с мигающими светодиодами, довольно увлекательное зрелище, не так ли?

Чтобы узнать, что ждет этот модуль BLE, давайте продолжим и установим приложение nRF Connect из Google Play или App Store.

Мы собираемся подключиться к BluChip с помощью нашего телефона, поэтому откройте приложение nRF Connect, просмотрите экран приветствия и нажмите «Включить», чтобы включить Bluetooth. Затем нажмите «Сканировать», и вскоре вы обнаружите, что ваше устройство BluChip указано на вкладке «Сканер».

Прежде чем мы действительно подключимся к BluChip, давайте возьмем светодиод и поместим его на макетную плату рядом с контактами 026 (+ ve) и 021 (-ve). Светодиод должен немедленно загореться, потому что вывод 026 выдает 3,3 В (высокий логический уровень), а вывод 021 - низкий логический уровень (земля).

Идите дальше и нажмите «Подключиться», чтобы установить соединение между вашим смартфоном и BluChip, после чего вы перейдете на вкладку клиента устройства в приложении.

На вкладке клиента BluChip отображаются все службы, доступные на вашем устройстве. Что нас здесь интересует, так это BlueChip GPIO Service (указанная как Unknown Service). Нажмите на него, а затем нажмите на направленную вверх стрелку рядом с характеристикой модуляции GPIO (указана как неизвестная характеристика).

Появится всплывающее окно со значением записи, в котором вы сможете отправить данные на ваше устройство BluChip. В нашем случае мы хотим выключить светодиод, поэтому нажмите на стрелку рядом с BYTE ARRAY и измените формат данных на UINT 8. Мы отправим номер пина в качестве первого значения, поэтому введите 21 для pin021. Нажмите на Добавить значение, чтобы отправить следующий фрагмент данных, состояние которого должен быть установлен (шестнадцатеричный формат BYTE). Чтобы выключить светодиод, мы установим контакт 021 на 3,3 В (высокий логический уровень), поэтому введите 01 и нажмите «Отправить».

Светодиод мгновенно гаснет! Чтобы снова включить светодиод, отправьте значение 0x00 (логический уровень LOW) на контакт 021. Как видно из приведенной ниже характеристики, отображается отправленное значение (0x) 15-01. {[(десятичный UINT8) 21 = (шестнадцатеричный БАЙТ) 0x15] + (шестнадцатеричный БАЙТ) 0x01 => (шестнадцатеричный БАЙТ) 0x1501}

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

Шаг 4: Программирование BluChip

Программирование BluChip
Программирование BluChip
Программирование BluChip
Программирование BluChip
Программирование BluChip
Программирование BluChip

Из видео выше вы могли заметить, что имя устройства BluChip на моем телефоне отличается от вашего, так как же нам изменить его по своему вкусу?

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

В комплект BluChip Explorer входит программатор ARM (CMSIS-DAP). Компания MakerChips предоставила изящное руководство по деталям прошивки прошивки на BluChip с помощью CMSIS-DAP.

Чтобы скомпилировать прошивку в шестнадцатеричный файл и прошить его, нам понадобятся Keil, nRF51 Software Development Kit (SDK) и прошивка BluChip. Скачайте их по ссылкам в разделе «Программное обеспечение» на странице MakerChips «Программирование BluChip с помощью CMSIS-DAP и Keil».

Установите Keil, затем выполните шаги 1-3 в разделе «Создание шестнадцатеричного файла».

На этом этапе вы можете перейти к шагу 4, восстановление всех целевых файлов.

Если вы получите сообщение об ошибке относительно "core_cm0.h", вам нужно будет добавить его путь к проекту, чтобы скомпилировать его.

Нам просто нужно будет найти файл и найти его каталог, который называется «\ components / toolchain / gcc».

Включим этот путь в наш проект. Щелкните Options for Target, перейдите на вкладку C / C ++ и укажите путь, как показано на рисунке 16.

После включения необходимых зависимостей наш проект компилируется, и теперь мы можем просматривать скомпилированный вывод, настраиваемый шестнадцатеричный файл в "nRF51_SDK_10.0.0_dc26b5e / examples / ble_peripheral / ble_app_ahc-master / bluchip / s110_with_dfu / arm4 / _buildnrf5141_xxac_s".

Чтобы прошить шестнадцатеричный файл на BluChip, выполните шаги 1-8 в разделе «Передача шестнадцатеричного файла».

Теперь, когда вы загрузили прошивку на BluChip с пользовательским именем устройства, запустите приложение nRF Connect и выполните поиск своего устройства. Вы заметите, что теперь оно названо в честь того, что вы определили в DEVICE_NAME в прошивке!

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

Шаг 5: Создание автоматизированных штор

Image
Image
Создание автоматизированных штор
Создание автоматизированных штор
Создание автоматизированных штор
Создание автоматизированных штор
Создание автоматизированных штор
Создание автоматизированных штор

Ознакомившись с процессом компиляции и прошивки нашей прошивки, давайте перейдем к созданию наших собственных занавесок для bluetooth!

Шаговый двигатель будет использоваться для привода зубчатого ремня, который открывает и закрывает шторы. Шаговый двигатель приводится в действие микросхемой драйвера Half-H, которой будет управлять BluChip.

Для питания мы будем использовать стабилизатор напряжения постоянного и переменного тока 12 В, который подается на двигатель, вместе с регулятором напряжения постоянного и постоянного тока LM317 для понижения напряжения с 12 В до 3,3 В, которые будут питать микросхему BluChip и шагового драйвера.

Вы можете получить свой собственный модуль BluChip в новом магазине MakerChips на Tindie или на веб-сайте MakerChips.

Давайте возьмем перечисленные ниже детали в дополнение к BluChip Explorer Kit, чтобы начать сборку автоматических штор:

  • Адаптер питания 12В 1А $ 3,40
  • Баррель Джек $ 0,68
  • Стабилизатор напряжения LM317T $ 0,80
  • Резисторы (200 и 330 Ом) 1,69 $.
  • Шаговый драйвер L293D $ 1,63
  • Униполярный шаговый двигатель 8 долларов США (или 1,66 доллара США <= преобразование этого меньшего униполярного двигателя в биполярный шаговый двигатель)
  • Ремень ГРМ 6мм $ 7.31
  • Шестерня 6 мм $ 0,54 (или для 3D-печати из Thingiverse)
  • Шкив 6 мм $ 1,17 (или его можно распечатать на 3D-принтере Thingiverse)
  • Концевой выключатель x2 (опция) $ 1,34
  • Коробка для приложений (опционально) $ 1,06
  • Провода перемычки макетной платы $ 2,09
  • Проволока для перемычек Dupont $ 2,80
  • Резинки $ 1.13
  • Галстуки-закрутки $ 3,22
  • Провод 22 AWG (опционально) $ 1,22
  • Застежки-молнии (необязательно) 0,63 $
  • Термоусадочная трубка (опционально) $ 1,97

Инструменты (необязательно):

  • Пистолет для горячего клея $ 3,75
  • Паяльник $ 6,79

Загрузите Bill of Materials с GitHub (Amazon)

На рисунке 20 показано, как вы собираетесь подключить систему в зависимости от того, какие функции вы решите добавить. Если вы хотите более точное движение, вы должны добавить в проект концевые выключатели.

Концевые выключатели - это конечные точки на шторах, которые сообщают BluChip, когда он открывается или закрывается. Без концевых выключателей вам нужно было бы настроить прошивку, чтобы указать, как далеко сдвигаются ваши шторы, в следующем разделе «Конфигурация прошивки».

Рисунок 20 также включает дополнительный фоторезистор, который позволяет определять дневное и ночное время, также настраиваемый в разделе «Конфигурация прошивки».

Начните сборку оборудования с установки шагового двигателя, шкива и зубчатого ремня на верхнюю часть штор. (Рисунок 21)

Временно натяните ремень ГРМ резинкой. Позже, перед завершением проекта, вы собираетесь связать его молнией, чтобы удерживать его надолго.

Чтобы прикрепить занавески к ремню ГРМ, оберните петлю Wire Ties вокруг ремня и крючка для штор.

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

Как только вы закрепите ремень и привяжете занавеску, снимите шаговый двигатель, чтобы мы могли приступить к сборке и тестированию электронной схемы, которая будет им управлять. Начните сборку электроники, поместив Bluchip, L293d IC и регулятор напряжения LM317t на макетную плату в соответствии с к рисунку 20.

Вставьте резисторы на 200 и 330 Ом в соответствии с рисунком 20. Резисторы регулируют выход LM317 так, чтобы он давал ~ 3,3 В. (Рисунок 24)

Вставьте перемычку, а затем подключите бочкообразный разъем, как показано на Рисунке 26.

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

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

Далее мы собираемся подключить наш биполярный шаговый двигатель к микросхеме L293d.

Сначала вставьте перемычки Dupont в разъем шагового двигателя, как показано на Рисунке 29.

Чтобы узнать, какой провод куда идет, следуйте схеме на рисунке 30.

Как видно на схеме, выводы одной катушки идут к контактам 2 и 6 L293D. Выводы от другой катушки идут на Pin11 и Pin14.

Модифицированный биполярный шаговый двигатель 28BYJ-48 имеет четыре цветных провода, как показано на рисунке 31.

Мы подключаем синий к контакту 3, желтый к контакту 6, оранжевый к контакту 11 и розовый к контакту 14 на L293d.

Основная схема готова!

Если вы хотите установить концевые выключатели, подключите выводы NO & C к проводу 22AWG. На другом конце прикрепите перемычки DuPont, чтобы сформировать выводы, которые поместятся на макетной плате. (Рисунок 32)

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

Чтобы получить представление о том, где их разместить, см. Рисунок 34.

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

Вставьте выводы концевого выключателя на макетную плату, как показано на рисунке 20.

Наконец, если вы хотите, чтобы ваши шторы открывались при восходе солнца и закрывались, когда оно садится, вам необходимо подключить фоторезистор, как показано на рис. 36, и установить его близко к тому месту, где он имеет доступ к солнечному свету во время рассвета.

После того, как вы закончите настройку макетной платы, приготовьтесь и подключите свой программатор к BluChip, чтобы прошить прошивку. Загрузите прошивку с GitHub и извлеките ее в каталог SDK, как вы это делали раньше.

Загрузите ble_app_ahc.zip с Github.

Откройте проект, затем скомпилируйте и загрузите прошивку на BluChip.

Перед тестированием мы закроем макетную плату в коробку и проделаем отверстия для проводов и светодиода состояния шторки.

Поместите макетную плату в основание корпуса и сделайте отверстие для проводов. Это отверстие также служит точкой для связи BluChip с другими устройствами через антенну. (Рисунок 37)

Просверлите отверстие размером со светодиод на боковой стороне корпуса и установите на него светодиод. Подключите светодиод в соответствии с рисунком 20.

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

Пришло время протестировать собранную нами систему. Вставьте адаптер питания и запустите приложение nRF Connect. Вы обнаружите устройство под названием Curtains. BluChip.

Подключитесь к нему, отправьте значение UINT8 1 (Открытые шторы) для Неизвестной характеристики в Неизвестной службе и наблюдайте, как открываются шторы!

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

Шаг 6: Конфигурация прошивки BluChip

Конфигурация прошивки BluChip
Конфигурация прошивки BluChip
Конфигурация прошивки BluChip
Конфигурация прошивки BluChip
Конфигурация прошивки BluChip
Конфигурация прошивки BluChip

Проект прошивки Automated Home Curtain состоит в основном из 4 файлов: main.c, ahc.c, ble_ahc_service.c и ble_ahc_service.h.

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

В коде из ahc.h мы видим #define для LIMIT_SWITCHES.

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

Переименование на #undef LIMIT_SWITCHES необходимо, если вы решили не включать концевые выключатели в свой проект. В этом случае вам нужно будет точно настроить расстояние, на которое перемещается ваш занавес, в переменных CURTAIN_OPEN_STEPS и CURTAIN_CLOSE_STEPS. Отрегулируйте эти значения, чтобы увеличить или уменьшить расстояние перемещения полотна.

Другой вариант, добавление фоторезистора, можно включить, изменив #undef LDR на #define LDR. LDR означает светозависимый резистор, также известный как фоторезистор. Когда мы включаем LDR, фоторезистор знает, когда на улице светло или темно, и помогает вам закрывать или открывать шторы в начале или в конце дня.

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

Файлы ble_ahc_service.c и ble_ahc_service.h содержат код, который передает данные с вашего телефона на BluChip.

Когда BluChip получает данные, он анализирует их в зависимости от того, отправлено ли значение 0 или 1. Затем он активирует светодиодный индикатор состояния, выполняет движение двигателя, а затем отключает светодиод, сигнализирующий о завершении.

Функция ahc_init () из ahc.h запускается в начале основного цикла, инициализируя все контакты на BluChip.

Шаг 7: Резюме

В заключение, это был чрезвычайно увлекательный и довольно простой проект для изучения основ BLE. Тот факт, что модуль коммутации BluChip плотно помещается на макетной плате, позволяет легко и быстро создать прототип на любой макетной плате, которая может быть у вас под рукой.

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

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

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

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