Zapojení PICAXE a GPS-PA6B:
Inspiraci jsem nalezl zde:
http://www.picaxeforum.co.uk/showthread ... obot-boat/
Moje zapojení byl jen pokus z kategorie "Proof of concept". Neměl jsem v úmyslu postavit nějaký funkční model lodě/letadla/auta; šlo jen o to, sestavit funkční obvod a získat z něj data. V tomto případě čas, souřadnice a nadmořskou výšku.
Zapojení vzniklo podle datasheetu
http://www.soselectronic.cz/a_info/reso ... S-A07a.pdf (strana 10).
Zapojení pinů GPS-PA6B:
1 - Napájení +5V
2 - Zapnutí/vypnutí modulu (uzemnění = vypnutí), já mám připojeno +5V
3 - Zem (je zde 2×, mám propojeno s pinem 8)
4 - Baterie pro RTC (3V), používám CR123
(bez kladného napětí v rozmezí 2,0 - 4,3V na tomto pinu zapojení fungovat NEBUDE)
5 - Výstup (3D-Fix), zde mám signalizační LEDku
6 - USB - nezapojeno
7 - USB - nezapojeno
8 - Zem (je zde 2×, mám propojeno s pinem 3)
9 - TX Výstup dat z modulu - připojen na PICAXE 20X2 (konkrétně na C.6)
10 - RX pin pro firmware (nezapojen)
Řídící program (mimochodem děkuji za pomoc "AlesH" se slučováním proměnných (viz
viewtopic.php?f=14&t=58)):
Kód: Vybrat vše
#picaxe 20x2
#terminal 9600
setfreq M8
#com 7
symbol GPS = C.6 'vstup z GPS senzoru
symbol hodiny = b30 'proměnná pro převod hodin
symbol minuty = b31 'proměnná pro převod minut
symbol sekundy = b32 'proměnná pro převod sekund
symbol stupneN = b33 'proměnná pro převod stupňů zeměpisné šířky
symbol minutyN0 = b34 'proměnná pro převod minut
symbol minutyN1 = b35 'proměnná pro převod minut
symbol minutyN2 = b36 'proměnná pro převod minut
symbol zemsirka = b14 'proměnná se zeměpisnou šířkou
symbol stupneE = b37 'proměnná pro převod stupňů zeměpisné délky
symbol stupneE2 = b43 'proměnná pro převod stovek stupňů zeměpisné délky
symbol minutyE0 = b38 'proměnná pro převod minut
symbol minutyE1 = b39 'proměnná pro převod minut
symbol minutyE2 = b40 'proměnná pro převod minut
symbol zemdelka = b24 'proměnná se zeměpisnou délkou
symbol validita = b25 'validita dat přicházejících ze satelitního přijímače
symbol satelity = b26 'počet satelitů zachycených satelitním přijímačem
pause 100
start:
serin GPS,t4800_8,("$GPGGA,"), b0,b1,b2,b3,b4,b5,b6,b6,b6,b6,b6,b6,b7,b8,b9,b10,b10,b11,b12,b13,b14,b14,b15,b15,b16,b17,b18,b19,b20,b20,b21,b22,b23,b24,b24,b25,b25,b26,b26,b27,b28,b28,b28,b28,b28,b28,b29,b30,b31,b32,b33,b34,b35,b36,b36,b37,b38,b39
sertxd ("GMT: ",b0,b1,"h",b2,b3,"m",b4,b5,"s ",b6,b7,"°",b8,b9,",",b10,b11,b12,b13,b14," ",b15,b16,b17,"°",b18,b19,",",b20,b21,b22,b23,b24," Validita dat: ",b25," Pocet satelitu: ",b26," Nadmorska vyska: ",b28,b29,b30,b31,b32,"m ",b33,b34,b35,b36,b36,b37,b38,b39, cr,lf)
'Zpracování dat z GPS (převod z jednotlivých proměnných na dvouciferná čísla)
b0 = b0 - 48 : b1 = b1 - 48 : hodiny = b0 * 10 + b1
b2 = b2 - 48 : b3 = b3 - 48 : minuty = b2 * 10 + b3
b4 = b4 - 48 : b5 = b5 - 48 : sekundy = b4 * 10 + b5
b6 = b6 - 48 : b7 = b7 - 48 : stupneN = b6 * 10 + b7
b8 = b8 - 48 : b9 = b9 - 48 : minutyN0 = b8 * 10 + b9
b10 = b10 - 48 : b11 = b11 - 48 : minutyN1 = b10 * 10 + b11
b12 = b12 - 48 : b13 = b13 - 48 : minutyN2 = b12 * 10 + b13
b15 = b15 - 48 : b16 = b16 - 48 : b17 = b17 - 48
stupneE2 = b15 * 100 : stupneE = b16 * 10 + b17 + stupneE2
b18 = b18 - 48 : b19 = b19 - 48 : minutyE0 = b18 * 10 + b19
b20 = b20 - 48 : b21 = b21 - 48 : minutyE1 = b20 * 10 + b21
b22 = b22 - 48 : b23 = b23 - 48 : minutyE2 = b22 * 10 + b23
'Výpis dat z GPS po seriové lince
sertxd ("GMT: ",#hodiny,"h",#minuty,"m",#sekundy,"s ",13,10)
sertxd (#stupneN,"°",#minutyN0,",",#minutyN1,#minutyN2,b14,13,10)
sertxd (#stupneE,"°",#minutyE0,",",#minutyE1,#minutyE2,b24,13,10)
sertxd ("Validita dat:",validita," Počet satelitů:",satelity,13,10,13,10)
pause 750
goto start
V řídícím programu jde vidět potřebné nastavení PICAXE (frekvence a hlavně klidová úroveň, rychlost a parita).
Oživení je velice snadné. Jediným zádrhelem, během oživování projektu, byla právě klidová úroveň a rychlost. Trvalo mi neuvěřitelně dlouho, než mě napadlo zkusit klidovou úroveň T na místo N... Pak už vše fungovalo na výbornou.
Takže pamatujte
serin C.6, t4800_8
Pokud jako "
qualifier" použijete
$GPGGA (tak, jako já), obdržíte stejný výstup. Pokud máte zájem o jiné GPS věty, tak doporučiju vygooglit si NMEA komunikační protokol (a patřičně si pak "pohrát" s proměnnými (b0 až b39)).
S přáním pěkného dne všem PICAXE kutilům,
Mimčo.