- Потребни материјали
- Ардуино ЛоРа штит
- Израда ПЦБ-а за ЛоРа Схиелд
- Састављање ПЦБ-а
- Повезивање ГПС модула са ЛоРа предајником
- Програмирање Ардуино ЛоРа као ГПС предајника
- Програмирање Ардуино ЛоРа као ГПС пријемника
- Ардуино ЛоРа ГПС Трацкер ради
Увек је било утешно знати где се налази одређени предмет / особа. Данас се ГПС широко користи у апликацијама за управљање имовином као што су праћење возила, праћење возног парка, надгледање имовине, праћење особа, трагач за кућним љубимцима итд. За било који уређај за праћење примарно ће се водити рачуна о очекиваној батерији и домету надгледања. Узимајући у обзир оба, чини се да је ЛоРа савршен избор јер има врло малу потрошњу енергије и може да ради на великим удаљеностима. Дакле, у овом упутству ћемо изградити ГПС систем за праћење користећи ЛоРа, систем ће се састојати од одашиљача који ће читати информације о локацији са НЕО-6М ГПС модулаи пренесите га бежично преко Лоре. Део пријемника ће примити информације и приказати их на ЛЦД дисплеју 16к2. Ако сте нови у ЛоРа, научите о ЛоРа и ЛоРаВАН технологији и како се она може повезати са Ардуином пре него што наставите даље.
Да би ствари биле једноставне и исплативе за овај пројекат, нећемо користити ЛоРа мрежни пролаз. Уместо тога, обављаће равноправну комуникацију између предајника и пријемника. Међутим, ако желите глобални опсег, можете заменити пријемник ЛоРа Гатеваи-ом. Такође, будући да сам из Индије, овде ћемо користити 433МХз ЛоРа модул који је легални ИСМ опсег, па ћете можда морати да одаберете модул на основу своје земље. То је речено, кренимо…
Потребни материјали
- Ардуино Лора Схиелд - 2Нос (дизајн ПЦБ-а доступан за преузимање)
- Ардуино Уно - 2Бр
- СКС1278 433МХз ЛоРа модул - 2
- 433МХз Лора антена
- ГПС модул НЕО-6М
- Модул ЛЦД екрана
- Повезивање жица
Ардуино ЛоРа штит
Да бисмо олакшали изградњу ствари помоћу ЛоРа, за овај пројекат смо дизајнирали ЛоРа Ардуино Схиелд. Овај штит се састоји од СКС1278 433МХз са 3.3В регулатором дизајнираним помоћу променљивог регулатора ЛМ317. Штит ће директно седети на врху Ардуина пружајући му ЛоРа могућности. Овај ЛоРа штит ће вам добро доћи када морате да примените чворове за очитавање ЛоРа или да креирате ЛоРа мрежну мрежу. Комплетна шема кола за ЛоРа Ардуино Схиелд је дата у наставку
Штит се састоји од 12В прикључка који ће се при напајању користити за регулацију 3.3В за ЛоРа модул помоћу регулатора ЛМ317. Такође ће се користити за напајање Ардуина УНО преко Вин пина, а регулисаних 5В од Ардуина користи се за напајање ЛЦД-а на штиту. Излазни напон ЛМ317 је фиксиран на 3,3 В помоћу отпорника Р1 односно Р2, вредност ових отпорника може се израчунати помоћу калкулатора ЛМ317.
Будући да ЛоРа модул троши врло мало енергије, може се напајати и директно са 3,3В пина Ардуина, али ми смо користили дизајн спољног регулатора јер је ЛМ317 поузданији од уграђеног регулатора напона. Штит такође има потенциометар који се може користити за подешавање осветљености ЛЦД-а. Веза ЛоРа модула са Ардуином слична је ономе што смо урадили у нашем претходном водичу о повезивању Ардуина са Лором.
Израда ПЦБ-а за ЛоРа Схиелд
Сада када је наш круг спреман, можемо да наставимо са дизајнирањем наше ПЦБ-а. Отворио сам софтвер за дизајн ПЦБ-а и почео да формирам своје нумере. Када је дизајн ПЦБ-а завршен, моја плоча је изгледала отприлике овако приказано доле
Такође можете преузети датотеке дизајна у ГЕРБЕР формату и израдити их како бисте добили своје плоче. Линк до датотеке Гербер дат је у наставку
Преузмите датотеку Гербер за Ардуино ЛоРа Схиелд
Сада, када је наш дизајн спреман, време је да се они измисле. Довољно је једноставно постићи ПЦБ, једноставно следите кораке у наставку
1. корак: Уђите на ввв.пцбгого.цом, пријавите се ако је ово први пут. Затим на картици Прототип ПЦБ унесите димензије ПЦБ-а, број слојева и број ПЦБ-а који вам је потребан. Под претпоставком да је ПЦБ 80 цм × 80 цм, можете подесити димензије као што је приказано доле.
Корак 2: Наставите кликом на дугме Цитирај одмах . Бићете преусмерени на страницу на којој можете поставити неколико додатних параметара ако је потребно, као што је материјал који користи размак трака итд. Али углавном ће подразумеване вредности радити у реду. Једино што овде морамо узети у обзир су цена и време. Као што видите, време израде је само 2-3 дана и кошта само 5 УСД за наш ПСБ. Затим можете одабрати жељени начин отпреме на основу ваших захтева.
Корак 3: Последњи корак је отпремање Гербер датотеке и наставак плаћања. Да би се уверио да је поступак несметан, ПЦБГОГО проверава да ли је ваша Гербер датотека важећа пре него што настави са уплатом. На овај начин можете бити сигурни да је ваша ПЦБ погодна за производњу и да ће вас контактирати као да сте предани.
Састављање ПЦБ-а
Након што је плоча наручена, стигла је до мене након неколико дана, иако је курир у лепо означеној добро упакованој кутији и као и увек квалитет ПЦБ-а био страшан.
Укључио сам штап за лемљење и почео да склапам плочу. Будући да су отисци стопала, јастучићи, плочице и ситотисак савршено правилног облика и величине, нисам имао проблема са састављањем плоче. По завршетку лемљења плоча је изгледала овако доле, као што видите да се добро уклапа у моју Ардуино Уно плочу.
Будући да наш пројекат има Ардуино ЛоРа предајник и Ардуино ЛоРа пријемник, требат ће нам два штита, један за пријемник, а други за предајник. Наставио сам са лемљењем друге ПЦБ плоче, и ПЦБ са ЛоРа модулом и ЛЦД су приказани доле.
Као што видите, само пријемник ЛоРа (леви) има повезан ЛЦД, бочна страна предајника састоји се само од ЛоРа модула. Даље ћемо повезати ГПС модул са страном предајника, као што је објашњено у наставку.
Повезивање ГПС модула са ЛоРа предајником
Овде се користи ГПС модул ГПС модул НЕО-6М, модул може да ради на врло малој снази са малим фактором облика што га чини погодним за праћење апликација. Међутим, на располагању су многи други ГПС модули које смо раније користили у различитим врстама апликација за праћење возила и откривање локације.
Модул ради у напону од 5 В и комуницира помоћу серијске комуникације брзином од 9600 бауд. Стога напајамо модул на + 5В пин Ардуино-а и повезујемо Рк и Тк пин на дигитални пин Д4 и Д3, како је приказано испод
Клинови Д4 и Д3 биће конфигурисани као серијске иглице софтвера. Једном напајан, НЕО-6М ГПС модул ће тражити сателитску везу и аутоматски ће серијски излазити све информације. Ови излазни подаци биће у формату реченице НМЕА који означава Натионал Марине Елецтроницс Ассоциатион и стандардни је формат за све ГПС уређаје. Да бисте сазнали више о коришћењу ГПС-а са Ардуином, следите везу. Ти подаци ће бити велики и већину времена морамо ручно да фразирамо да бисмо добили жељени резултат. Срећом по нас постоји библиотека под називом ТиниГПС ++ која чини све тешкоће за нас. Такође морате да додате ЛоРа библиотеку ако то још увек нисте урадили. Зато преузмимо обе библиотеке са доње везе
Преузмите библиотеку ТиниГПС ++ Ардуино
Преузмите Ардуино ЛоРа библиотеку
Веза ће преузети ЗИП датотеку која се затим може додати у Ардуино ИДЕ пратећи наредбу Скица -> Укључи библиотеку -> Додај.ЗИП библиотека. Када будете спремни са хардвером и библиотеком, можемо наставити са програмирањем наших Ардуино плоча.
Програмирање Ардуино ЛоРа као ГПС предајника
Као што знамо, ЛоРа је примопредајни уређај, што значи да може и да шаље и прима информације. Међутим, у овом пројекту ГПС трагача користићемо један модул као предајник за читање информација о координати са ГПС-а и њихово слање, док ће други модул као пријемник који ће примати вредности ГПС координата и исписивати их на ЛЦД-у. Програм и за предајник и пријемник модула могу се наћи на дну ове странице. Обавезно инсталирајте библиотеке за ГПС модул и ЛоРа модул пре него што наставите са кодом. У овом одељку ћемо погледати код предајника.
Као и увек започињемо програм додавањем потребних библиотека и пинова. Овде се СПИ и ЛоРа библиотека користи за ЛоРа комуникацију, а ТиниГПС ++ и СофтвареСериал библиотека за ГПС комуникацију. ГПС модул у мом хардверу повезан је на пин 3 и 4 и стога га такође дефинишемо на следећи начин
#инцлуде
Унутар функције подешавања започињемо серијски монитор и такође иницијализујемо серијски софтвер као „гпсСериал “ за комуникацију са нашим НЕО-6М ГПС модулом. Такође имајте на уму да сам користио 433Е6 (433 МХз) као моју радну фреквенцију ЛоРа, па ћете је можда морати променити на основу врсте модула који користите.
воид сетуп () { Сериал.бегин (9600); гпсСериал.бегин (9600); вхиле (! Сериал); Сериал.принтлн ("ЛоРа пошиљалац"); иф (! ЛоРа.бегин (433Е6)) { Сериал.принтлн ("Покретање ЛоРа није успело!"); док (1); } ЛоРа.сетТкПовер (20); }
Унутар функције петље проверавамо да ли ГПС модул даје неке податке, ако је одговор да, читамо све податке и фразирамо их помоћу функције гпс.енцоде. Затим проверавамо да ли смо добили ваљане податке о локацији помоћу функције гпс.лоцатион.исВалид () .
вхиле (гпсСериал.аваилабле ()> 0) иф (гпс.енцоде (гпсСериал.реад ())) иф (гпс.лоцатион.исВалид ()) {
Ако смо добили валидну локацију, тада можемо започети са преносом вредности географске ширине и дужине. Функција гпс.лоцатион.лат () даје координату географске ширине, а функција гпс.лоцатион.лнг () координате географске дужине. Будући да ћемо их штампати на ЛЦД-у 16 * 2, морамо напоменути када прећи у други ред, па зато користимо кључну реч „ц“ да бисмо привукли пријемник да бисмо на линији 2 исписали следеће информације.
ЛоРа.бегинПацкет (); ЛоРа.принт ("Лат:"); ЛоРа.принт (гпс.лоцатион.лат (), 6); ЛоРа.принт ("ц"); ЛоРа.принт ("Лонг:"); ЛоРа.принт (гпс.лоцатион.лнг (), 6); Сериал.принтлн („Послато преко ЛоРа“); ЛоРа.ендПацкет ();
Програмирање Ардуино ЛоРа као ГПС пријемника
Код предајника већ шаље вредност координата географске ширине и дужине, сада пријемник мора да прочита ове вредности и одштампа на ЛЦД-у. Слично томе, овде додајемо библиотеку за ЛоРа модул и ЛЦД екран и дефинишемо на које пинове је ЛЦД повезан и такође иницијализујемо ЛоРа модул као и раније.
#инцлуде
Унутар функције петље ослушкујемо пакете података од модула ЛоРа предајника и његову величину помоћу функције ЛоРа.парсеПацкет () и чувамо у променљивој „ пацкетСизе “. Ако примимо пакете, настављамо с читањем у облику знакова и исписом на ЛЦД екрану. Програм такође проверава да ли ЛоРа модул шаље кључну реч „ц“, ако је одговор да, онда штампа преостале информације у другом реду.
иф (пацкетСизе) {// Ако је пакет примио Сериал.принт ("Примљени пакет '"); лцд.цлеар (); вхиле (ЛоРа.аваилабле ()) { цхар инцоминг = (цхар) ЛоРа.реад (); иф (инцоминг == 'ц') { лцд.сетЦурсор (0, 1); } елсе { лцд.принт (долазно); } }
Ардуино ЛоРа ГПС Трацкер ради
Након што хардвер и програм буду спремни, можемо учитати оба кода у одговарајуће Ардуино модуле и напајати их помоћу 12В адаптера или УСБ кабла. Када се предајник напаја, приметите да плава ЛЕД лампица на ГПС модулу трепће, то значи да модул тражи сателитску везу како би добио координате. У међувремену ће се модул пријемника укључити и приказати поруку добродошлице на ЛЦД екрану. Једном када предајник пошаље информације, модул пријемника ће их приказати на свом ЛЦД екрану као што је приказано доле
Сада се можете кретати са ГПС модулом предајника и приметићете да пријемник ажурира своју локацију. Да бисте знали где се тачно налази модул предајника, можете прочитати вредности географске ширине и дужине приказане на ЛЦД-у и унети их у Гоогле мапе да бисте пронашли локацију на мапи као што је приказано доле.
Комплетан радни може се наћи у споту датом на дну ове странице. Надам се да сте разумели туторијал и уживали сте градећи нешто корисно уз њега. Ако сумњате, можете их оставити у одељку за коментаре испод или користити наше форуме за друга техничка питања.