- Покретач ракета са гласовним управљањем на бази Алека - ради
- Лаунцхпад за наш НодеМЦУ Роцкет Лаунцх Цонтроллер
- Компоненте потребне за лансирање ракете под надзором Алека
- Шематски дијаграм Ардуино Роцкет Лаунцхер-а
- Изградња круга на ПерфБоард-у
- Програмирање НодеМЦУ за Алека Цонтроллед Роцкет Лаунцхер
- Конфигурисање Алека са Алека Андроид апликацијом
- Алека контролирани ракетни бацач - тестирање
Како се приближава зимска сезона; долази оно доба године када се слави фестивал светлости. Да, говоримо о Дивалију, који је истински индијски фестивал који се слави широм света. Ове године Дивали је већ готов, а видевши људе како петарде, дошао сам на идеју да направим Гласовно контролисани лансирни ракетни систем или Игнитер са седиштем на Алека, који може да лансира ракете само гласовном командом, што га чини веома сигурним и забавним за децу.
Да би било јасно, нисам овде да подстичем људе да испаљују крекере на Дивали, индијска влада је увела ограничења на крекере како би обуздала загађење и наша је одговорност да се тога придржавамо. Идеја овде је да, уместо да проводимо цео дан пуцајући на крекере, направимо хладни Ардуино ракетни упаљач којим се контролише глас и испалимо неколико ракета у великом стилу. То видим као вин-вин.
Овај ракетни бацач Ардуино ће се веома разликовати од осталих. Има врло чврсту шасију израђену од шперплоче, поуздан управљачки механизам заснован на релеју и врло јединствен механизам за лансирање и поновно пуњење ракета, па без даљег одлагања кренимо право у процес изградње.
Покретач ракета са гласовним управљањем на бази Алека - ради
Механизам рада кола је врло једноставан, главна компонента која је одговорна за лансирање ракете је нихромова жица и долази у облику калема за грејање. Ова нихромова жица ће деловати као упаљач ракете. Како? Показаћу вам касније.
Као што можете видети на горњој слици, нихромова жица долази у облику калема грејача, за мене је то био најлакши начин да је добијем. Морамо га повући равно и савити да бисмо формирали облик који изгледа као што је приказано на слици испод.
Једном када то урадимо, напајаћемо је оловном батеријом од 12 В и она ће усијати до усијања. То ће бити довољно за запаљивање црног праха унутар ракете и радиће као нормална доза осигурача. Имајте на уму да је ово контролер лансирања ракете велике снаге, струја потребна за загревање жице је велика. Придржавајте се сигурносних савета при раду са јаким струјама.
Једном када се тестирање заврши, преостаје само процес контроле, који ћемо радити у наставку чланка.
Лаунцхпад за наш НодеМЦУ Роцкет Лаунцх Цонтроллер
За ову верзију направимо лансирну рампу. Када је лансирна рампа готова, лако можемо поново учитати неке крекере и лагано их покренути. Направио сам лансирну рампу која изгледа попут оне приказане на доњој слици.
Прођимо кроз корак по корак процеса израде лансирне рампе. За две стране оквира користио сам два комада шперплоче (25Кс3Кс1,5) инча. За горњи део сам користио (20Кс3Кс1,5) инча дугачак део шперплоче, а за подлогу (20Кс6Кс1,5) инчни комад шперплоче, што ће му дати мало већу стабилност. Слика испод ће вам дати јасну представу.
Сада је време да направимо нит од жице засноване на нихрому, која ће деловати као осигурач наше ракете. За то сам купио 1000В завојну грејну базу од нихромиране жице, исправио је и направио структуру која је приказана у наставку. Морао сам да употребим два клешта и бочне секаче да обликујем ихром жицу као што је приказано доле.
Једном када је то учињено, поделио сам 20-инчни комад шперплоче на седам комада, измерио сам га и избушио рупе да у њих уградим филаменте на бази нихром-жице, а када је то било учињено, изгледало је као на сликама испод.
Али пре него што сам ставио филаменте, причврстио сам бакарну жицу дебљине 1 квадратни мм на сваки терминал и провукао их кроз рупе, након што је све завршено, изгледало је као на слици испод.
Као што видите, такође сам ставио двокомпонентни лепак да учврстим жицу и нити на месту. Након тога, наша лансирна рампа је готова. И као што видите из прве слике у овом одељку, жице са нитима сам директно прикључио на ПЦБ, јер имамо посла са врло јаким струјама, па се нисам потрудио да поставим вијчани терминал, а то означава крај наше шасије процес изградње.
Компоненте потребне за лансирање ракете под надзором Алека
Што се тиче хардверске стране, користили смо врло генеричке делове које можете прилично лако добити у локалној хоби продавници. Комплетна листа предмета дата је у наставку.
- 12В релеј - 3
- БД139 Транзистор - 3
- 1Н4004 Диода - 3
- Вијчана стезаљка 5,08 мм - 1
- ЛМ7805 - Регулатор напона - 1
- Кондензатор за одвајање од 100 уФ - 2
- 5,1В Зенер диода - 1
- НодеМЦУ (ЕСП8266-12Е) плоча - 1
- Тачкаста Перф табла - ½
- Прикључна жица - 10
Шематски дијаграм Ардуино Роцкет Лаунцхер-а
Комплетна шема за Алека Цонтроллед Роцкет Лаунцхер дата је у наставку. Ознаке сам користио за повезивање једне игле на другу. Ако погледате довољно изблиза, не би требало бити тешко протумачити шему.
Изградња круга је прилично једноставна, тако да нећу улазити у детаље баш много.
Прво, имамо ИЦ1 који је ЛМ7805 регулатор напона, са својим одвојеним кондензаторима од 100уФ означеним са Ц1 и Ц2. Након тога имамо срце нашег пројекта, плочу НодеМЦУ у којој се налази модул ЕСП-12Е. С обзиром да за напајање читавог кола користимо 12В оловно-киселинску батерију, због чега морамо да користимо ЛМ7805 да бисмо га прво претворили у 12В у 5В за напајање НодеМЦУ плоче. Чинимо то јер уграђени регулатор напона АМС1117 није довољан да претвори 12В директно у 3,3В, због чега је неопходно 7805.
Настављамо даље, имамо три релеја од 12 В, за ову демонстрацију користимо три релеја, али као што смо већ поменули, ракетна рампа има резервирано место за 7 ракета. Можете мало подесити код и поставити свих седам ракета да се лансирају. Три релеја покрећу Т1, Т2 и Т3, који су три НПН транзистора, и довољни су за погон стварног оптерећења. Коначно, имамо три диоде са слободним ходом које штите коло од високонапонских скокова које генерише релеј.
Изградња круга на ПерфБоард-у
Као што видите из главне слике, идеја је била да се направи једноставан склоп који може да обрађује огромну количину струје у кратком периоду, према нашем тестирању, довољно је 800 милисекунди да се осветли комад папира. Дакле, склоп градимо на парчету плоче и повезујемо све главне везе бакарном жицом дебљине 1 квадратни мм. Након што смо завршили лемљење плоче. Кад смо завршили, изгледало је као нешто што је приказано у наставку.
Програмирање НодеМЦУ за Алека Цонтроллед Роцкет Лаунцхер
Сада када је хардвер спреман, време је да започнемо са кодирањем нашег лансирног ракетног система са гласовним управљањем. Комплетни код се може наћи на крају ове странице, али пре него што започнемо, важно је да додате потребне библиотеке у свој Ардуино ИДЕ. Обавезно додајте праве библиотеке са везе која је дата испод, иначе ће код стварати грешке када се преведе.
- Преузмите библиотеку Еспалека
Након додавања потребних библиотека, можете директно отпремити код дат на дну ове странице да бисте проверили да ли коло ради. Ако желите да знате како код ради, наставите да читате.
Као и увек, програм започињемо додавањем потребних датотека заглавља и дефинисањем имена и акредитива за нашу жаришну тачку.
#инцлуде
Настављајући са нашим кодом, имамо прототипове функција и дефиниције функција повратног позива.
Функција цоннецтТоВиФи () користи се за повезивање на Ви-Фи мрежу и ова функција враћа вредност тачно када се Ви-Фи успешно повеже.
Даље, имамо наше функције повратног позива , те функције ће се позвати када дамо наредбу Алека, АПИ еспалека обрађује ове функције
воид аллроцкетс (уинт8_т осветљеност); воид фирстроцкет (уинт8_т осветљеност); празнина сецондроцкет (уинт8_т осветљеност); воид тхирдроцкет (уинт8_т осветљеност);
Даље, дефинишемо Имена уређаја. Ова дефинисана имена уређаја ће се одразити на апликацији Алека и када изговоримо наредбу, Алека ће препознати уређаје под тим именима. Дакле, ова имена су веома важна.
// Имена уређаја Стринг Фирст_Девице_Наме = "Све ракете"; Стринг Сецоунд_Девице_Наме = "Ракета Један"; Стринг Тхирд_Девице_Наме = "Ракета два"; Стринг Фортх_Девице_Наме = "Ракета три";
Даље, дефинишемо логичку променљиву вифиСтатус, која ће задржати статус везе Ви-Фи-ја. На крају креирамо објекат Еспалека еспалека. Овај објекат ћемо користити за конфигурисање НодеМЦУ.
// провера статуса вифи-а боолеан вифиСтатус = фалсе; // Еспалека Објект Еспалека еспалека;
Даље, имамо наш одељак за воид сетуп () . У овом одељку иницијализујемо серијску комуникацију за отклањање грешака помоћу функције Сериал.бегин () . Све претходно дефинисане пинове поставили смо као излаз са функцијом пинМоде () , затим позивамо функцију цоннецтТоВиФи () , покушаће да се повеже на Ви-Фи петнаест пута ако је повезан, вратиће тачно ако не повежите се, вратиће фалсе и код ће заувек извршавати вхиле () петљу . Ако је Ви-Фи веза успешна, додајемо претходно дефинисане уређаје у Алека објекат помоћу функције еспалека.аддДевице (). Ова функција узима два аргумента, први је назив уређаја, друго је име функције повратног позива, када Алека дамо команду, позваће се суседна функција. Након што завршимо са радом на сва четири наша уређаја, позивамо методе бегин () за објекат еспалека.
воид сетуп () {Сериал.бегин (115200); // Омогући Сериал за отклањање грешака у порукама пинМоде (РОЦКЕТ_1_ПИН, ОУТПУТ); // поставља ЕСП пинове као излазни пинМоде (РОЦКЕТ_2_ПИН, ОУТПУТ); // поставља ЕСП пинове као излазни пинМоде (РОЦКЕТ_3_ПИН, ОУТПУТ); // постављање ЕСП пинова као излаза вифиСтатус = цоннецтТоВиФи (); // Повежите се са локалном Ви-Фи мрежом ако (вифиСтатус) {// подесите све уређаје еспалека // Овде дефинишите своје уређаје. еспалека.аддДевице (Фирст_Девице_Наме, аллроцкетс); // најједноставнија дефиниција, подразумевано стање искључено еспалека.аддДевице (Сецоунд_Девице_Наме, фирстроцкет); еспалека.аддДевице (Име_треће_направе, секундарна ракета); еспалека.аддДевице (Фортх_Девице_Наме, тхирдроцкет); еспалека.бегин (); } елсе {вхиле (1) {Сериал. принтлн ("Не могу се повезати на ВиФи. Молимо проверите податке и ресетујте ЕСП."); кашњење (2500); }}}
У одељку петље позивамо методу лооп () објекта еспалека која ће увек проверити има ли долазне команде и позвати функцију повратног позива ако утврди да је тачна.
воид лооп () {еспалека.лооп (); кашњење (1); }
Даље, дефинишемо све наше функције повратног позива, у овом одељку ћемо дефинисати шта се дешава када се ова функција повратног позива позове. Када се позове функција аллроцкетс () , све ракете ће бити лансиране заједно. За то ћемо укључити релеј на 00 мс, а након тога ћемо искључити релеје. У својим тестовима открио сам да ми за наведену дужину нихромске жице треба 800мс кашњења да бих потпуно загрејао жицу, ово може и не мора да важи за вас. Зато према томе одаберите кашњење.
воид аллроцкетс (уинт8_т осветљеност) {иф (осветљеност == 255) {дигиталВрите (РОЦКЕТ_1_ПИН, ХИГХ); дигиталВрите (РОЦКЕТ_2_ПИН, ХИГХ); дигиталВрите (РОЦКЕТ_3_ПИН, ХИГХ); кашњење (800); дигиталВрите (РОЦКЕТ_1_ПИН, ЛОВ); дигиталВрите (РОЦКЕТ_2_ПИН, ЛОВ); дигиталВрите (РОЦКЕТ_3_ПИН, ЛОВ); Сериал.принтлн („Све лансиране ракете“); }}
Даље, имамо прву ракету (), ово се позива када позовемо Алека и кажемо тие наредба за лансирање прве ракете. Процес је врло сличан, укључујемо релеј на 800мс и искључујемо се.
воид фирстроцкет (уинт8_т осветљеност) {иф (осветљеност == 255) {дигиталВрите (РОЦКЕТ_1_ПИН, ХИГХ); кашњење (800); дигиталВрите (РОЦКЕТ_1_ПИН, ЛОВ); Сериал.принтлн („Прва лансирана ракета“); }}
Коначно, имамо нашу функцију цоннецтТоВиФи () . Ова функција је прилично генеричка и саморазумљива, па нећу улазити у детаље о овој функцији. Ова функција повезује ЕСП са Ви-Фи мрежом и враћа статус везе.
боолеан цоннецтТоВиФи () {боолеан стате = труе; инт и = 0; ВиФи.моде (ВИФИ_СТА); ВиФи.бегин (ссид, лозинка); Сериал.принтлн (""); Сериал.принтлн („Повезивање на ВиФи“); // Сачекајте везу Сериал.принт ("Повезивање…"); вхиле (ВиФи.статус ()! = ВЛ_ЦОННЕЦТЕД) {кашњење (500); Сериал.принт ("."); иф (и> 15) {стање = нетачно; пауза; } и ++; } Сериал.принтлн (""); иф (стате) {Сериал.принт ("Повезано са"); Сериал.принтлн (ссид); Сериал.принт ("ИП адреса:"); Сериал.принтлн (ВиФи.лоцалИП ()); } елсе {Сериал.принтлн ("Веза није успела."); } стање враћања; }
Ова дефинисана функција означава крај дела кодирања.
Конфигурисање Алека са Алека Андроид апликацијом
Алека ће прихватати команде само ако и само ако препозна уређај есп8866. За то морамо да конфигуришемо Алека уз помоћ апликације Алека на Андроиду. Једна важна ствар коју треба урадити пре него што наставимо даље је да морамо бити сигурни да је Алека конфигурисана са нашом андроид апликацијом.
Да бисте то урадили, идите на више одељака апликације Алека и кликните на опцију Додај уређај, кликните на Светло, а затим се померите надоле на дну странице и кликните на Остало.
Затим кликните на ОТКРИЈ УРЕЂАЈ и сачекајте тренутак након чега ће Алека пронаћи нове уређаје. Када Алека пронађе уређаје, треба да кликнете на њих и додате их на њихова места / категорије и готови сте.
Алека контролирани ракетни бацач - тестирање
За поступак тестирања, отишао сам у своју башту, извукао све осигураче из ракете, ставио их на своја места и викао Алекса…! Укључи све ракете, прекрижених прстију. И све ракете су летеле означавајући моје напоре као огроман успех. Изгледало је отприлике овако.
Коначно, још једном сам рекао Алека…! Укључите све ракете да бисте добили епску слику нити коју можете видети доле.
За епско искуство, топло вам препоручујем да погледате видео.