Hirdetés
- gban: Ingyen kellene, de tegnapra
- Meggyi001: A kérdés...
- Magga: PLEX: multimédia az egész lakásban
- GoodSpeed: Nem vénnek való vidék - Berettyóújfalu
- Luck Dragon: Asszociációs játék. :)
- Gurulunk, WAZE?!
- jakra: Retro gyujtemenyem (cloud synced for safety...)
- laskr99: Processzor és videokártya szilícium mag fotók újratöltve!
- Pötyi: 4. RETRO KONZOL ÉS SZÁMÍTÓGÉP BÖRZE - '25. november 16.
- sziku69: Fűzzük össze a szavakat :)
-
LOGOUT
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
Sziasztok!
Teljesen elakadtam egy projektben. Autopilot rendszert építek egy távirányítós autó számára.
Mindent sikerült leprogramoznom már, gyakorlatilag 99%-on áll a dolog, de a digitális iránytű kifogott rajtam....
Ahhoz hogy az autó tudja hogy merre kell elindulnia kell az iránytű, tudni kell hogy az autó orra pontosan hány fokra néz északtól. Ezt pedig a Heading értékkel tudom meg amit az iránytűtől kérdezek le.
HMC5883L iránytűt használok. Ugyebár alapból eléggé rossz értékeket ad vissza, így nyilván kalibrálni kell. Megadom a "Mágneses deklarációm" és egy gombnyomásra lefuttatom a főprogramomban egy voidként meghívva a kalibrációs programot.----------------------------------------------------------------------------------------------------
void calibration() {
Vector mag = compass.readRaw();
// Min/Max értékek meghatározása
if (mag.XAxis < minX) minX = mag.XAxis;
if (mag.XAxis > maxX) maxX = mag.XAxis;
if (mag.YAxis < minY) minY = mag.YAxis;
if (mag.YAxis > maxY) maxY = mag.YAxis;
// offset kiértékelés
offX = (maxX + minX)/2;
offY = (maxY + minY)/2;
}----------------------------------------------------------------------------------------------------
Ezt egy loopban futtatom egészen addig míg a távirányítón ki nem kapcsolom az kalibrációs módot. Itt a végén kapok egy OffX és OffY értéket. Miután kilépek a kalibrációból a compass offsetjét átírom a kapott értékekre:
compass.setOffset(OffX, OffY);
De valahogy nem akar sikerülni. Ha kiíratom az iránytű értékeit akkor szinte csak 200 feletti szögek vannak. 200 és 360 között mozog az érték, és borzasztó pici tartományban van csak jelen a 200 alatti, és az is pillanatok alatt átugrik ~30-ról 200-ra. Tehát teljesen torz az irányérzékelés.
Kérdések:
1. Működik-e ez a módszer? Hogy programfutás közben kalibrálok, majd visszatérek és az offset értékkel és felülírom a compass.setOffset(OffX, OffY);-el?
2. A kalibrálást hogy kell elvégezni? Én egy helyben állva forgatom az iránytűt. Nagyobb köröket kellene mennem? Sétálgatnom kellene vele?
3. Minden irányba, minden tengelyen körbe kell-e forgatnom hogy jó legyen? Kicsit ettől félek, mert az autóval csak jobbra-balra tudok forogni. Fel-le, a tengely körül forogva nem igazán. ÉS nekem ugye csak a vízszintes irány kellene. Illetve elég lenne ha az az egy tengely jól be lenne lőve.
Új hozzászólás Aktív témák
- Azonnali notebookos kérdések órája
- Kuponkunyeráló
- PlayStation 5
- Újra nekifeszül az asztali konzolok piacának a Valve
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- gban: Ingyen kellene, de tegnapra
- CASIO órák kedvelők topicja!
- Meggyi001: A kérdés...
- Végleg kitiltaná a Huawei-t az EU a hálózatkiépítésből
- iPhone topik
- További aktív témák...
- REFURBISHED és ÚJ - HP USB-C Dock G5 (5TW10AA) - 3x4K felbontás
- Bomba ár! Lenovo ThinkBook 13s-IML - i5-10210U I 8GB I 256SSD I 13,3" FHD I Cam I W11 I Gari!
- BESZÁMÍTÁS! MSI H310M i5 9500 16GB DDR4 120GB SSD 2TB HDD RTX 2060 Super 8GB ÚJ Zalman T4 Plus 600W
- Magyarország piacvezető szoftver webáruháza
- BESZÁMÍTÁS! 32GB G.SKILL Trident Z5 RGB 7800MHz DDR5 memória garanciával hibátlan működéssel
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
ekkold
