Съдържание:

Автоматизирани домашни завеси - Мини проект с модул BluChip на MakerChips (nRF51 BLE): 7 стъпки (със снимки)
Автоматизирани домашни завеси - Мини проект с модул BluChip на MakerChips (nRF51 BLE): 7 стъпки (със снимки)

Видео: Автоматизирани домашни завеси - Мини проект с модул BluChip на MakerChips (nRF51 BLE): 7 стъпки (със снимки)

Видео: Автоматизирани домашни завеси - Мини проект с модул BluChip на MakerChips (nRF51 BLE): 7 стъпки (със снимки)
Видео: The Choice is Ours (2016) Official Full Version 2024, Юли
Anonim
Автоматизирани домашни завеси - Мини проект с модул BluChip (nRF51 BLE) на MakerChips
Автоматизирани домашни завеси - Мини проект с модул BluChip (nRF51 BLE) на MakerChips

Представете си, че се събуждате и искате да проникнете лъч слънце през прозорците си или да затворите завесите, за да можете да спите по -нататък, без усилията да се приближите до завесите, а по -скоро с натискането на бутон на вашия смартфон. С автоматизираната система за домашни завеси можете да постигнете това с компоненти, които струват не повече от 90 долара!

Вижте този урок в Github

Стъпка 1: Дизайнът

Дизайнът
Дизайнът

В основата на автоматизираната система за домашни завеси е модулът BluChip на MakerChips.

BluChip е малък 16,6x11,15 мм Bluetooth модул, който може да служи като периферно устройство към смартфони чрез BTLE.

Щракнете тук за въведение в Bluetooth Low Energy (BTLE).

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

Стъпка 2: BluChip Explorer Kit

BluChip Explorer Kit
BluChip Explorer Kit
BluChip Explorer Kit
BluChip Explorer Kit
BluChip Explorer Kit
BluChip Explorer Kit

За да изградя този проект, получих BluChip Explorer Kit от MakerChips, който пристигна в 2 отделни кутии, една за програмиста CMSIS-DAP и друга кутия, съдържаща BluChip на макет с 2 RGB светодиода, фоторезистор и батерия CR2032.

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

Ето някои основни характеристики на BluChip от уебсайта на MakerChips:

  • 14 Достъпни GPIO пина
  • 32 -битов процесор ARM Cortex M0 и 256KB флаш и 32KB RAM
  • 16,6 mm x 11,15 mm Най-малкият наличен Bluetooth ® модул за изрязване на хляб
  • Захранването поддържа 1.8V - 3.6V
  • Функции на Bluetooth

    • BTLE - Bluetooth с ниска енергия - (BLE, BT 4.1)
    • Bluetooth® и Япония, отговарящи на FCC, IC
    • Интегриран 32 Mhz системен часовник
    • Изходна мощност: +4dBm типично
    • Честота: 2402 до 2480 MHz

      Вградена антена с висока производителност

    • Единичен режим Bluetooth® Smart Slave/Master
  • Поддържани интерфейси: SPI, UART, I2C и 8/9/10bit ADC
  • Два комплекта пинове за програмиране

    • .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.3V (логическо ниво HIGH), докато щифт 021 е логически LOW (заземяване).

Продължете напред и докоснете свързване, за да установите връзка между вашия смартфон и BluChip, което след това ще ви отведе до раздела клиент на устройството в приложението.

Разделът клиент на BluChip показва всички услуги, налични на вашето устройство. Това, което ни интересува тук, е услугата BlueChip GPIO (посочена като неизвестна услуга). Докоснете го и след това докоснете стрелката нагоре до характеристиката на GPIO модулация (посочена като неизвестна характеристика).

Ще се появи изскачащ прозорец със стойност за запис, който ви дава възможност да изпращате данни към вашето BluChip устройство. В нашия случай искаме да изключим светодиода, затова докоснете стрелката до BYTE ARRAY и променете формата на данните на UINT 8. Ще изпращаме пин номера като първа стойност, затова въведете 21 за pin021. Докоснете добавена стойност, за да изпратите следващата част от данните, състоянието на която ще бъде зададен щифтът (шестнадесетичен BYTE формат). За да изключим светодиода, ще зададем щифт 021 на 3.3V (логическо ниво високо), така че въведете 01, след което докоснете Изпращане.

Светодиодът моментално се изключва! За да включите отново светодиода, изпратете стойност 0x00 (логическо ниво LOW) на pin021. Както се вижда под изброената характеристика, се показва изпратената стойност на (0x) 15-01. {[(десетичен UINT8) 21 = (шестнадесетичен байт) 0x15] + (шестнадесетичен байт) 0x01 => (шестнадесетичен байт) 0x1501}

Ако изберете да запазите тези стойности в изскачащия прозорец Write value, като му дадете име и след това докоснете save, можете да ги заредите в бъдеще като предварително зададени за лесна GPIO модулация!

Стъпка 4: Програмиране на BluChip

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

От горния видеоклип бихте забелязали, че името на устройството BluChip на моя телефон е различно от вашето, така че как да го променим според собствените си предпочитания?

Фърмуерът на приложението, работещ на BluChip, служи като периферно устройство (подчинено устройство) през BLE към централни устройства (главни), като например смартфони, свързани към него. За да променим името на нашето устройство, нека се задълбочим във флашването на фърмуера на приложението на нашия BluChip.

В комплекта с BluChip Explorer е включен ARM програмистът (CMSIS-DAP). MakerChips предостави изчерпателно ръководство за подробности относно мигането на фърмуера върху BluChip с CMSIS-DAP.

За да компилираме фърмуера в шестнадесетичен файл и да го флашнем, ще ни трябват Keil, Комплект за разработка на софтуер nRF51 (SDK) и фърмуер на BluChip. Продължете и ги изтеглете от връзките в раздела „Софтуер“на страница „Програмиране на BluChip на MakerChips с CMSIS-DAP и Keil“.

Инсталирайте Keil, след това следвайте стъпки 1-3 в раздела "Създаване на шестнадесетичен файл".

На този етап можете да продължите към Стъпка 4, Възстановяване на всички целеви файлове.

Ако получите грешка относно "core_cm0.h", ще трябва да добавите пътя му към проекта, за да го компилирате.

Просто трябва да потърсим файла и да намерим директорията му, която е „\ components / toolchain / gcc“.

Нека включим този път към нашия проект. Щракнете върху Опции за цел, отидете на раздела C/C ++, след което включете пътя, както е показано на Фигура 16.

След като включихме необходимите зависимости, нашият проект се компилира и вече можем да видим компилирания изход, персонализиран шестнадесетичен файл на адрес „nRF51_SDK_10.0.0_dc26b5e / examples / ble_peripheral / ble_app_ahc-master / bluchip / s110_with_dfu / arm4 / _buildnrf51422_xxacs“

За да прехвърлите шестнадесетичния файл на BluChip, следвайте стъпки 1-8 в раздела „Прехвърляне на шестнадесетичния файл“.

След като сте заредили фърмуера на BluChip с персонализирано име на устройството, стартирайте приложението nRF Connect и сканирайте за вашето устройство. Ще забележите, че сега той е кръстен на това, което сте определили в DEVICE_NAME във фърмуера!

В следващата стъпка ще започнем да настройваме хардуера, електрониката и софтуера на нашата автоматизирана система за домашни завеси.

Стъпка 5: Изграждане на автоматизирани завеси

Image
Image
Изграждане на автоматизирани завеси
Изграждане на автоматизирани завеси
Изграждане на автоматизирани завеси
Изграждане на автоматизирани завеси
Изграждане на автоматизирани завеси
Изграждане на автоматизирани завеси

След като прегледахме процеса на компилиране и промяна на нашия фърмуер, нека преминем към изграждането на нашите собствени Bluetooth завеси!

Стъпков двигател ще се използва за задвижване на ангренажен ремък, който премества завесите отваряне и затваряне. Стъпковият двигател се задвижва от половин H интегриран драйвер, който ще се управлява от BluChip.

За захранване ще използваме 12V AC-DC регулатор на напрежението, който се подава към двигателя, заедно с LM317 DC-DC регулатор на напрежението за понижаване на 12V до 3.3V, което ще захранва IC на BluChip и Stepper Driver.

Можете да получите свой собствен BluChip модул от чисто новия магазин на MakerChips в Tindie или от уебсайта на MakerChips.

Нека вземем изброените по -долу части в допълнение към комплекта BluChip Explorer, за да започнем да сглобяваме автоматичните завеси:

  • 12V 1A захранващ адаптер $ 3.40
  • Барел Джак $ 0,68
  • LM317T Регулатор на напрежение $ 0,80
  • Резистори (200 и 330 ома) $ 1,69
  • L293D Стъпков драйвер $ 1.63
  • Униполярен стъпков двигател $ 8.00 (или $ 1.66
  • 6 мм зъбен ремък $ 7,31
  • 6 мм Gear $ 0,54 (или 3D печат от Thingiverse)
  • 6 мм ролка $ 1,17 (или 3D печат от Thingiverse)
  • Пределен превключвател x2 (по избор) $ 1,34
  • Кутия за закрепване на проекта (по избор) 1,06 $
  • Кабелни джъмперни проводници 2,09 щ.д.
  • Dupont Jumper Wires $ 2,80
  • Гумени ленти $ 1,13
  • Twist Ties $ 3.22
  • 22 AWG тел (по избор) $ 1.22
  • Ципове (по избор) 0,63 щ.д.
  • Свиваема тръба (по избор) 1,97 $

Инструменти (по избор):

  • Пистолет за горещо лепило $ 3,75
  • Запояващо желязо $ 6.79

Изтеглете сметката за материали от GitHub (Amazon)

Фигура 20 показва как ще свържете мрежата в зависимост от това кои функции решите да добавите. Ако искате по -прецизно движение, бихте добавили крайни превключватели към проекта.

Крайните превключватели са крайни точки към завесите, които казват на BluChip кога е отворен или затворен. Без ограничителните превключватели ще трябва да конфигурирате фърмуера, за да посочите докъде се движат завесите ви в предстоящия раздел „Конфигурация на фърмуера“.

Фигура 20 включва и опционен фоторезистор, който позволява откриване през деня и нощта, също конфигурируем в раздела "Конфигурация на фърмуера".

Започнете сглобяването на хардуера, като монтирате стъпковия двигател, ролката и ангренажния колан към горната част на завесите си. (Фигура 21)

Временно опънете ангренажния ремък с гумена лента. По -късно, преди да завършите проекта, ще го завържете с цип, за да го задържите за постоянно.

За да прикрепите завесите към ангренажния колан, завържете телените връзки около колана и куката за завеси.

За да получите по -добра представа как да закачите завесите към колана, следвайте Фигура 22. Ще завържете лявата завеса към задната част на ангренажния колан с телена връзка, а дясната завеса към предната част на ангренажния ремък с телена вратовръзка.

След като закопчаете колана и завържете завесата, свалете стъпковия двигател, за да можем да започнем да сглобяваме и тестваме електронната схема, която ще го задвижва. Започнете изграждането на електрониката, като поставите регулатора на напрежение Bluchip, L293d IC и LM317t на чертежа според до Фигура 20.

Поставете резисторите 200 и 330 ома съгласно Фигура 20. Резисторите регулират изхода на LM317 така, че да осигурява ~ 3.3V. (Фигура 24)

Поставете джъмперния проводник, след това жичен жак, както е показано на Фигура 26.

Нека включим нашия захранващ адаптер към контакта в стената и включим адаптера в жака за целта, за да тестваме напреженията, както е показано на фигура 27.

След като се установят правилните напрежения, извадете щекера за захранване и започнете да поставяте останалите проводници на джъмпера за макет, съгласно Фигура 20.

След това ще свържем нашия биполярен стъпков двигател към IC L293d.

Първо поставете джъмперните проводници на Dupont в конектора на стъпковия двигател, както е показано на фигура 29.

За да разберете кой проводник отива къде, следвайте схемата на фигура 30.

Както се вижда на схемата, проводниците от една намотка отиват към Pin2 & Pin6 на L293D. Водещите от другата бобина отиват към Pin11 & Pin14.

Модифицираният двуполюсен стъпков двигател 28BYJ-48 има четири използваеми цветни проводника, както се вижда на Фигура 31.

Свързваме синьо към Pin3, жълто към Pin6, оранжево към Pin11 и розово към Pin14 на L293d.

Основната схема сега е завършена!

Ако искате да приложите крайни превключватели, свържете проводниците NO & C към някакъв проводник 22AWG. В другия край, прикрепете джъмперите DuPont, за да оформите кабели, които да се поберат на макета. (Фигура 32)

Можете да ги монтирате върху пердето за завеси, както е показано на Фигура 33, с гумени ленти, или ако имате под ръка пистолет за горещо лепило, можете да го завържете с цип за релсата и след това да натриете добро количество горещо лепило, за да сте сигурни, че не се движи наоколо.

За да получите представа къде да ги поставите, вижте Фигура 34.

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

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

И накрая, ако искате завесите ви да се отворят, когато слънцето изгрява, и да се затворят, когато залязва, ще трябва да свържете фоторезистора, както е показано на FIgure 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

Проектът за фърмуер за автоматизирана домашна завеса се състои главно от 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, за да превърне проектите в още по -готини.

Засега ще се върна да се наслаждавам на удобните си автоматизирани домашни завеси.

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