- Компоненте потребне за израду Ардуино аутоматизованих ролетни
- Управљање ролетнама помоћу Ардуина
- Дизајнирајте и направите зупчаник за прозоре
- 3Д штампање држача мотора и слепог зупчаника
- Кружни дијаграм за контролу ролетни Ардуино
- Блинк апликација за Ардуино контролу слепих
- Програмирање НодеМЦУ за контролу ролетни помоћу Блинк-а
- Управљање ролетнама помоћу Гоогле асистента
- Аутоматска контрола ролета на прозору заснована на Ардуину - демонстрација
"Добро јутро. 7 сати је. Време у Малибуу је 72 степена… “, биле су прве речи ЈАРВИС-а када су представљене у Марвел Цинематицс Универсе. Већина обожавалаца Ирон Ман-а требало би да се сети ове сцене и сети се да је ЈАРВИС ујутро успео да отвори прозор (врста) и да обавести о времену и времену. У филму су прозорске наочаре заправо направљене од прозирних екрана на додир, па је стога ЈАРВИС успео да га претвори из црног у прозирни и такође на њему прикаже временску статистику. Али, у стварности смо далеко од прозирних екрана осетљивих на додир и што ближе можемо да је аутоматска контрола жалузина или прозора.
Дакле, у овом пројекту ћемо изградити управо то, направићемо аутоматизовану моторизовану завесу која ће се аутоматски отварати и затварати у унапред дефинисано време. Раније смо изградили многе пројекте аутоматизације куће у којима смо аутоматизовали светла, моторе итд. Ако сте заинтересовани, можете их погледати. Дакле, по повратку, ове ролете под контролом Ардуино-а такође могу да преузимају команде од Гоогле помоћника тако да можете даљински отварати или затварати прозоре помоћу гласовних команди. Интригантно? Онда, хајде да га направимо.
Компоненте потребне за израду Ардуино аутоматизованих ролетни
Пројекат је релативно једноставан и није потребно много компоненти. Само сакупите доле наведене ставке.
- НодеМЦУ
- Степенски мотор - 28БИЈ-48
- Модул покретачког мотора корачног мотора
- ЛМ117-3.3В
- Кондензатори (10уф, 1уф)
- 12В ДЦ адаптер
- Перф Боард
- Комплет за лемљење
- 3Д принтер
Управљање ролетнама помоћу Ардуина
Сада на тржишту постоји много врста ролетни, али најчешће коришћена има уже са перлицама (као што је приказано доле) које се могу повући за отварање или затварање ролетни.
Када повучемо овај кружни конопац у смеру кретања казаљке на сату, прозорске ролете ће се отворити, а када повучемо ово уже у смеру супротном од казаљке на сату, ролетне ће се затворити. Дакле, ако бисмо аутоматизовали овај процес, све што треба да урадимо је да помоћу мотора повучемо овај конопац у смеру кретања казаљке на сату или у смеру супротном од казаљке на сату и са тим ћемо завршити. У ствари, то је оно што ћемо урадити у овом пројекту; користићемо корачни мотор 28БИЈ-48 заједно са НодеМЦУ за повлачење ужета са зрнцима.
Дизајнирајте и направите зупчаник за прозоре
Електронски део овог пројекта био је прилично једноставан и раван напред, изазовни део био је у изградњи Блинд Геар-а који би могао повући уже од зрна. Почнимо овај чланак са дизајном слепих зупчаника, нећу улазити у детаље о дизајнирању зупчаника, али ова основна идеја би вам требала помоћи. Слика ужета са перлицама на њему је приказана испод.
Опет, постоји много врста ужади, али најчешће коришћени ужад је растојање од центра до центра сваке перле 6 мм и пречник сваке перле 4 мм. Користећи ове информације, можемо започети дизајн наше опреме. Ако уже на вашим ролетнама има исте димензије као што је већ поменуто, можете једноставно прескочити овај корак и преузети СТЛ датотеку која је дата у овом чланку и одштампати зупчаник. Ако ваш конопац има другачији распоред перлирања, онда бисте на овај начин требали редизајнирати слепу опрему.
Одлучио сам да на зупчанику имам 24 зрна како бих добио оптималну величину зупчаника. Можете одабрати било који број близу овог да би ваш зупчаник био велик или мали. Дакле, сада знамо да је растојање између сваке перле 6 мм и потребно нам је 24 перле на нашој опреми. Множењем оба добићете обим зупчаника. Помоћу ових података можете израчунати радијус зупчаника. Као што видите на горњој слици, израчунат је пречник мог зупчаника око 46 мм. Али запамтите, ово није стварни пречник зупчаника, јер нисмо узели у обзир пречник зрна који износи 4 мм. Дакле, стварни пречник зупчаника биће 42 мм, одштампао сам и тестирао многе зупчанике пре него што сам пронашао онај који најбоље делује. Ако се не бавите дизајном,само преузмите и одштампајте СТЛ датотеке из следећег пасуса и наставите са својим пројектом.
3Д штампање држача мотора и слепог зупчаника
Заједно са зупчаником, биће нам потребно и мало кућиште које се може избушити на зид и држати корачни мотор у положају, и кућиште и зупчаник коришћени у овом пројекту су приказани у наставку.
Комплетне датотеке дизајна и СТЛ датотеке можете пронаћи на Ардуино Блинд Цонтрол Тхингиверсе страници датој у наставку. Можете једноставно преузети и одштампати своју ролетну и кућиште мотора.
Преузмите СТЛ датотеке за Блинд Геар и кућиште мотора
Кружни дијаграм за контролу ролетни Ардуино
Када сте спремни са зупчаником и склопом, лако је наставити са електроником и софтверским делом. Комплетна шема кола за ИоТ пројекат управљања слепим је приказана испод.
Користили смо адаптер од 12 В за напајање целокупне поставке; регулатор ЛМ1117-3.3В претвара 12В у 3.3В који се могу користити за напајање НодеМЦУ плоче. Управљачки модул корачног мотора директно се напаја из 12В адаптера. Покушао сам да покренем корачни мотор на 5В, али тада он није пружао довољан обртни моменат да повуче ролете, па проверите да ли користите и 12В.
Осим тога, склоп је прилично једноставан, ако сте тек упознати корачне моторе, погледајте основне ствари корачног мотора да бисте разумели како то функционише и како се може користити са микроконтролером.
Блинк апликација за Ардуино контролу слепих
Пре него што уђемо у програм Ардуино за контролу ролетни, отворимо апликацију блинк и креирамо неке тастере помоћу којих можемо отворити или затворити наше жалузине. Ово ће нам требати и касније за контролу са Гоогле куће.
Управо сам додао два дугмета за отварање и затварање завеса и једнократно отварање завеса сваког дана у 10:00. Можете додати више тајмера за отварање или затварање жалузина у различитим интервалима дана. У основи, када морамо да затворимо ролете, морамо да активирамо виртуелни пин В1, а када морамо да отворимо ролете, морамо да активирамо виртуелни пин В2. Програм за управљање корачним мотором заснован на овде притиснутом тастеру биће написан на Ардуино ИДЕ, исто ће бити објашњено у наставку.
Програмирање НодеМЦУ за контролу ролетни помоћу Блинк-а
Комплетни ЕСП8266 код за овај пројекат контроле слепих налази се на дну ове странице. Наш програм мора да сачека наредбу из апликације блинк и на основу те наредбе морамо да ротирамо корачни мотор или у смеру кретања казаљке на сату или у смеру супротном од кретања казаљке на сату. У наставку се разматрају важни сегменти кода.
Према нашем дијаграму кола, користили смо дигиталне пинове 1, 2, 3 и 4 на нодемцу за управљање корачним мотором. Дакле, морамо створити инстанцу звану степпер помоћу ових пинова као што је приказано доле. Приметите да смо пинове дефинисали редом 1, 3, 2 и 4. То је учињено намерно и није грешка; морамо да заменимо пинове 2 и 3 да би мотор исправно радио.
// креирамо инстанцу степеничке класе помоћу степеница и закачења Степпер степпер (СТЕПС, Д1, Д3, Д2, Д4);
У следећем кораку морамо да делимо свој токен за потврду идентитета блинк апликације и Ви-Фи акредитиве на које мора бити повезан наш ИоТ Блинд контролер. Ако нисте сигурни како да набавите овај Блинк аутокен, погледајте пројекат Блинк ЛЕД Цонтрол да бисте разумели основе блинк апликације и како да је користите.
// Требали бисте добити Аутх Токен у апликацији Блинк. // Идите на Пројецт Сеттингс (икона матице). цхар аутх = "л_б47мФ1хиоЦц_7ФздКМЈЈеФнЈјТкккк"; // Ваши ВиФи акредитиви. // Поставите лозинку на "" за отворене мреже. цхар ссид = "ЦирцуитДигест"; цхар пасс = "думми123";
Настављајући са нашим кодом, након функције подешавања, дефинисали смо две методе за блинк. Као што је претходно поменуто, морамо да дефинишемо шта треба да раде виртуелни пинови В1 и В2. Шифра за исти је дата у наставку.
БЛИНК_ВРИТЕ (В1) // ЗАТВОРИТЕ СЕЛКЕ {Сериал.принтлн ("Затварање жалузина"); иф (отворена == тачно) {фор (инт ц_вал = 0; ц_вал <= 130; ц_вал ++) // ротирај у смеру супротном од кретања казаљке на сату за затварање {степпер.степ (ц_вал); ииелд (); } затворено = тачно; отворена = нетачна; дисабле_мотор (); // корачни мотори који су увек пожељни након употребе за смањење потрошње енергије и грејања}} БЛИНК_ВРИТЕ (В2) // ОТВОРИТЕ ЖАЛУЗЕ {Сериал.принтлн ("Отварање жалузина"); иф (цлосед == труе) {фор (инт цц_вал = 0; цц_вал> = -130; цц_вал--) // ротирај у смеру казаљке на сату за отварање {степпер.степ (цц_вал); ииелд (); } отворен = тачно; затворено = нетачно; } дисабле_мотор (); // увек пожељни корачни мотори након употребе за смањење потрошње енергије и грејања}
Као што видите В1 се користи за затварање завеса, а В2 за отварање завеса. За петље се користи за да ги ротира мотора у смеру казаљке на сату или анти-смеру казаљке на сату за 130 корака. Експериментирао сам са својим ролетнама да бих открио да са 130 корака могу у потпуности да отворим и затворим своје ролетне. Ваш број се може разликовати. Фор петља да ротирате степпер мотор у смеру казаљке на сату и контра-смеру казаљке на сату је приказан испод.
фор (инт ц_вал = 0; ц_вал <= 130; ц_вал ++) // ротирај у супротном смеру казаљке на сату за затварање {степпер.степ (ц_вал); ииелд (); } фор (инт цц_вал = 0; цц_вал> = -130; цц_вал--) // ротирај у смеру казаљке на сату за отварање {степпер.степ (цц_вал); ииелд (); }
Такође можете приметити две логичке променљиве „отворено“ и „затворено“ у нашем програму. Ове две променљиве се користе да спрече мотор да двапут отвори или затвори жалузине. Значи, ролетне ће се отворити само када је претходно затворено, а затвориће се само када су претходно отворене.
Како повећати брзину корачног мотора 28БЈИ-48?
Један недостатак употребе корачног мотора 28БЈИ-48 је тај што је веома спор. Ови мотори су првобитно произведени за употребу у високо прецизним апликацијама са малим брзинама, па немојте очекивати да се ови мотори окрећу великом брзином. Ако желите да повећате брзину корачног мотора помоћу Ардуина, постоје два параметра која можете променити. Један је #дефине СТЕПС 64, открио сам да када су кораци дефинисани као 64, мотор је био релативно бржи. Други параметар је степпер.сетСпеед (500); опет сам открио да је 500 оптимална вредност, нешто више од тога заправо чини корачни мотор споријим.
Да ли знате још неки начин за повећање брзине ових мотора? Ако је одговор да, оставите их у одељку за коментаре испод.
Како спречити прегревање корачног мотора?
Корачне моторе увек треба онемогућити када се не користе како би се спречило прегревање. Онемогућавање корачног мотора је врло једноставно; само промените статус пина на сва четири ГПИО пина који управљају корачним мотором на низак. Ово је веома важно, иначе се ваш мотор може јако загрејати на + 12В и трајно се оштетити. Програм за онемогућавање корачног мотора дат је у наставку.
воид дисабле_мотор () // угасимо мотор кад завршимо да бисмо избегли загревање {дигиталВрите (Д1, ЛОВ); дигиталВрите (Д2, ЛОВ); дигиталВрите (Д3, ЛОВ); дигиталВрите (Д4, ЛОВ); }
Управљање ролетнама помоћу Гоогле асистента
Користићемо блинк АПИ за контролу ролетни преко Гоогле асистента, то ће бити слично нашем пројекту аутоматизације гласовно контролисане куће, па проверите то ако сте заинтересовани. У основи, морамо покренути доњу везу када изговоримо унапред дефинисану фразу Гоогле помоћнику.
//хттп://188.166.206.43/л_б47мФ1хиоЦц_7ФздКМЈЈеФнЈјТкккк/упдате/В1?валуе=1 /
Обавезно промените токен за потврду идентитета на онај који пружа ваша блинк апликација. Можете чак да тестирате ову везу на свом Цхроме прегледачу да бисте видели да ли ради како се очекује. Сада када је веза спремна, једноставно морамо да пређемо на ИФТТТ и створимо два аплета која могу да покрену виртуелни пин В1 и В2 када затражимо да затворимо и отворимо жалузине. Опет, не улазим у детаље овога, јер смо то чинили много пута. Ако вам је потребна додатна помоћ, погледајте овај пројекат ФМ радио којим се контролише глас, само замените услуге адафруит веб кукама. Такође делим снимак екрана свог фрагмента за референцу.
Аутоматска контрола ролета на прозору заснована на Ардуину - демонстрација
Након што су склоп и кућишта са одштампаним 3Д штампањем спремни, направите уређај на зиду тако што ћете избушити две рупе на зиду. Моје поставке за монтирање приказане су на доњим сликама.
Након тога, уверите се да су ваше жалузине у отвореном стању, а затим укључите круг. Сада можете да покушате да затворите жалузине из апликације блинк или путем Гоогле Ассистант-а и требало би да функционише. Такође можете да подесите тајмере у апликацији блинк да аутоматски отварају и затварају ролете у одређено доба дана.
Комплетан рад пројекта може се наћи у видеу датом у наставку; ако имате питања, слободно их напишите у одељку за коментаре испод. Такође, наше форуме можете користити за друге техничке дискусије.