- Компоненте потребне
- ГПС модул
- Закачите из СТМ32Ф103Ц8
- Кружни дијаграм и везе
- Програмирање СТМ32Ф103Ц8 за повезивање ГПС модула
- Проналажење географске ширине и дужине помоћу ГПС-а и СТМ32
ГПС је скраћеница од Глобал Поситионинг Систем (Глобални систем позиционирања) и користи се за откривање ширине и дужине било које локације на Земљи, са тачним УТЦ временом (координирано универзалним временом). Овај уређај прима координате са сателита сваке секунде, са временом и датумом. ГПС нуди велику тачност и поред координата положаја пружа и друге податке.
Сви знамо да је ГПС веома користан уређај и врло често се користи у мобилним телефонима и другим преносним уређајима за праћење локације. Има веома широк спектар примена у свим областима, од позивања таксија код куће за праћење надморске висине авиона. Ево неколико корисних пројеката повезаних са ГПС-ом које смо претходно направили:
- Систем за праћење возила
- ГПС сат
- Систем упозорења за откривање незгода
- Водич за повезивање модула Распберри Пи ГПС
- Повезивање ГПС модула са ПИЦ микроконтролером
Овде у овом упутству ћемо повезати ГПС модул са микроконтролером СТМ32Ф103Ц8 да бисмо пронашли координате локације и приказали их на ЛЦД дисплеју 16к2.
Компоненте потребне
- СТМ32Ф103Ц8 Микроконтролер
- ГПС модул
- ЛЦД екран од 16к2
- Бреадбоард
- Повезивање жица
ГПС модул
То је ГПС модул ГИ-НЕО6МВ2 КСМ37-1612. Овај ГПС модул има четири пина + 5В, ГНД, ТКСД и РКСД. Комуницира помоћу серијских пинова и може се лако повезати са серијским портом СТМ32Ф103Ц8.
ГПС модул шаље податке у НМЕА формату (погледајте снимак екрана испод). НМЕА формат се састоји од неколико реченица, у којима нам треба само једна реченица. Ова реченица почиње од $ ГПГГА и садржи координате, време и друге корисне информације. Овај ГПГГА се односи на податке о поправљању система глобалног позиционирања. Овде сазнајте више о читању ГПС података и његових низова.
Испод је један пример $ ГПГГА Стринг, заједно са његовим описом:
$ ГПГГА, 104534.000,7791.0381, Н, 06727.4434, Е, 1,08,0.9,510.4, М, 43.9, М,, * 47
$ ГПГГА, ХХММСС.ССС, географска ширина, Н, географска дужина, Е, ФК, НОС, ХДП, надморска висина, М, висина, М,, подаци о контролној суми
Али овде у овом упутству користимо ТиниГПСПлус ГПС библиотеку која извлачи све потребне информације из НМЕА реченице, а само треба да напишемо једноставну линију кода да бисмо добили географску ширину и дужину, што ћемо видети касније у водичу.
Закачите из СТМ32Ф103Ц8
СТМ32Ф103Ц8 (ПЛАВИ ПИЛ) УСАРТ серијски комуникациони портови приказани су на доњој пин оут слици. То су плаве боје (ПА9-ТКС1, ПА10-РКС1, ПА2-ТКС2, ПА3-РКС2, ПБ10-ТКС3, ПБ11-РКС3). Има три таква комуникациона канала.
Кружни дијаграм и везе
Кружне везе између ГПС модула и СТМ32Ф103Ц8
ГПС модул |
СТМ32Ф103Ц8 |
РКСД |
ПА9 (ТКС1) |
ТКСД |
ПА10 (РКС1) |
+ 5В |
+ 5В |
ГНД |
ГНД |
Везе између ЛЦД-а 16к2 и СТМ32Ф103Ц8
ЛЦД Пин Но. |
Име ЛЦД екрана |
Име ПИН-а СТМ32 |
1 |
Приземље (Гнд) |
Приземље (Г) |
2 |
ВЦЦ |
5В |
3 |
ВЕЕ |
Прибадача из центра потенциометра |
4 |
Изаберите регистар (РС) |
ПБ11 |
5 |
Читање / писање (РВ) |
Приземље (Г) |
6 |
Омогући (ЕН) |
ПБ10 |
7 |
Бит података 0 (ДБ0) |
Нема везе (НЦ) |
8 |
Бит података 1 (ДБ1) |
Нема везе (НЦ) |
9 |
Бит података 2 (ДБ2) |
Нема везе (НЦ) |
10 |
Бит података 3 (ДБ3) |
Нема везе (НЦ) |
11 |
Бит података 4 (ДБ4) |
ПБ0 |
12 |
Бит података 5 (ДБ5) |
ПБ1 |
13 |
Бит података 6 (ДБ6) |
ПЦ13 |
14 |
Бит података 7 (ДБ7) |
ПЦ14 |
15 |
ЛЕД позитиван |
5В |
16 |
ЛЕД негативан |
Приземље (Г) |
Целокупна поставка ће изгледати доле:
Програмирање СТМ32Ф103Ц8 за повезивање ГПС модула
Комплетан програм за проналажење локације помоћу ГПС модула помоћу СТМ32 дат је на крају овог пројекта. СТМ32Ф103Ц8 се може програмирати помоћу Ардуино ИДЕ-а једноставним повезивањем са рачунаром преко УСБ порта. Обавезно уклоните чиоде ТКС и РКС током отпремања кода и повежите га након отпремања.
Да бисмо повезали ГПС са СТМ32, прво морамо да преузмемо библиотеку са ГитХуб везе ТиниГПСПлус. Након преузимања библиотеке, она се може укључити у Ардуино ИДЕ до Скетцх -> Инцлуде Либрари -> Адд.зип Либрари. Иста библиотека се може користити за повезивање ГПС-а са Ардуином.
Дакле, прво укључите потребне библиотечке датотеке и дефинишите игле за ЛЦД 16к2:
#инцлуде
Затим креирајте објекат под називом гпс класе ТиниГПСПлус.
ТиниГПСПлус гпс;
Следеће у подешавању празнине започните серијску комуникацију са ГПС модулом помоћу Сериал1.бегин (9600). Сериал1 се користи као Сериал 1 порт (Пинс-ПА9, ПА10) СТМ32Ф103Ц8.
Сериал1.бегин (9600);
Затим прикажите поруку добродошлице неко време.
лцд.бегин (16,2); лцд.принт ("Цирцуит Дигест"); лцд.сетЦурсор (0,1); лцд.принт („СТМ32 са ГПС-ом“); кашњење (4000); лцд.цлеар ();
Следеће у воид лооп () добијамо географску ширину и дужину са ГПС-а и проверавамо да ли су примљени подаци валидни или не и приказујемо информације на серијском монитору и ЛЦД-у.
Провера да ли су доступни подаци о локацији валидни или не
лоц_валид = гпс.лоцатион.исВалид ();
Прима податке о географској ширини
лат_вал = гпс.лоцатион.лат ();
Прима податке о географској дужини
лнг_вал = гпс.лоцатион.лнг ();
Ако се добију неваљани подаци, на серијском монитору приказује се „*****“, а на ЛЦД-у приказује „чека“.
иф (! лоц_валид) { лцд.принт ("Чекање"); Сериал.принт ("Латитуде:"); Сериал.принтлн ("*****"); Сериал.принт ("Географска дужина:"); Сериал.принтлн ("*****"); кашњење (4000); лцд.цлеар (); }
Ако се приме валидни подаци, географска ширина и дужина се приказују на серијском монитору, као и на ЛЦД дисплеју.
лцд.цлеар (); Сериал.принтлн ("ГПС ЧИТАЊЕ:"); Сериал.принт ("Латитуде:"); Сериал.принтлн (лат_вал, 6); лцд.сетЦурсор (0,0); лцд.принт ("ЛАТ:"); лцд.принт (лат_вал, 6); Сериал.принт ("Географска дужина:"); Сериал.принтлн (лнг_вал, 6); лцд.сетЦурсор (0,1); лцд.принт ("ЛОНГ:"); лцд.принт (лнг_вал, 6); кашњење (4000);
Следећа функција омогућава кашњење читања података. Стално тражи податке о серијском порту.
статичка празнина ГПСДелаи (непотписано дуго мс) { непотписано дуго покретање = милис (); до { вхиле (Сериал1.аваилабле ()) гпс.енцоде (Сериал1.реад ()); } вхиле (милис () - почетак <мс); }
Проналажење географске ширине и дужине помоћу ГПС-а и СТМ32
Након изградње поставке и отпремања кода, побрините се да ГПС модул поставите на отворено подручје да бисте брзо примали сигнал. Понекад је потребно неколико минута да прими сигнал, па сачекајте неко време. ЛЕД ће почети трептати у ГПС модулу када почне да прима сигнал и координате локације ће се приказивати на ЛЦД дисплеју.
Географску ширину и дужину локације можете да проверите помоћу Гоогле мапа. Само идите на Гоогле мапе са укљученим ГПС-ом и кликните на плаву тачку. Приказаће адресу са географском ширином и дужином као што је приказано на доњој слици
Комплетан број и видео демонстрацију је дат у наставку.