Hirdetés
Hirdetés
Köszönjük a sok biztatást, támogatást! Egy rövid ideig még féláron tudsz hirdetni, előfizetni!
-
PROHARDVER!
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
tonermagus
aktív tag
Ma egész szépen elhaladtam a GPS projektemmel. Felépítettem a Bázis állomást, NEO GPS 8 leszedi a GPS koordinátát, azt eltárolom egy floatban amit átküldök NRF24L01+PA+LNA-val a Rover eszköznek.
float gpsadat=fix_data.latitude();
float gpsadat1=fix_data.longitude();
radio.write(&gpsadat, sizeof(gpsadat));
radio.write(&gpsadat1, sizeof(gpsadat1));
Tudom, ez nem túl elegáns, tömbként jobb lenne átküldeni, de még nem jöttem rá hogy kell lekódolni
Na mindegy, a lényeg az, hogy ez meg is érkezik a Rover-hez, mindkét érték tökéletesen megjelenik Seriallal kiíratva a gpsadat és gpsadat1-et.
A gond ott kezdődik, hogy ugyebár két dinamikusan változó GPS koordináta között akarok távolságot mérni. Így az alábbi parancsot használom:
NeoGPS::Location_t base( gpsadat, gpsadat1 );
float range = fix.location.DistanceKm(base);
Ez tökéletesen működik ha fix számot írok be a :
NeoGPS::Location_t base( 43.121212, 20.121212 );
float range = fix.location.DistanceKm(base);
De ha oda a gpsadat, gpsadat1 -t használom akkor nagyon hülye adatok jönnek ki.
Hosszas nyomozás után rájöttem, hogy a Location_t elvileg int32_t változót vár paraméternek, én pedig ugye float-ot adok. Így a gyakorlatban ezt kapja:NeoGPS::Location_t base( 43, 20 );
Hogy tudom azt megcsinálni, hogy a 43.121212-ból 43121212 legyen? Mert úgy is elfogadja. Tudom hogy nagyon alap dolog, de rajtam kifog
Próbálkoztam az
int32_t gpslat=gpsadat
sorral is, de ekkor is csak 43 tárolódik el a gpslat változóban...Egyébként könnyen lehet hogy már a gps koordináták kiolvasásánál lehetne ilyen formátumra kérni az adatot, de ebben János250 kolléga lehet jobban képben van
Új hozzászólás Aktív témák
- Gamer PC-Számítógép! Csere-Beszámítás! Ryzen 5 5500 / RX 6600XT / 32GB DDR4 / 512GB SSD
- Apple iPhone 14 Pro 256GB,2026.03.14-ig ALZA Garancia,Újszerű Állapotban,Kártyafüggetlen.
- Dell RTX A4000 16GB
- Gigabyte Aero 15XC (RTX 3070, Intel Core i7 10870H, 32GB RAM,1+TB SSD) Beszámítás! JÓTÁLLÁSSAL!
- Lenovo Thinkpad X280, 12,5" FHD IPS Érintős, I5-8350U CPU, 8GB DDR4, 256GB SSD, W11, Számla, 1 év ga
- REFURBISHED és ÚJ - HP USB-C Dock G5 docking station (5TW10AA) - 3x4K felbontás, 120Hz képfrissítés
- LG 27MR400 - 27" IPS LED - 1920x1080 FHD - 100hz 5ms - AMD FreeSync - Villódzásmentes
- LG 55B4 - 55" OLED - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox Ready
- Szép állapotban levő Apple iPhone 15 256GB / 12 hó jótállás
- GYÖNYÖRŰ iPhone 13 Pro 128GB Silver -1 ÉV GARANCIA - Kártyafüggetlen, MS3081
Állásajánlatok
Cég: FOTC
Város: Budapest