Tartalomjegyzék:

Arduino Projekt: Teszttartomány LoRa RF1276 modul GPS nyomkövetéshez Megoldás: 9 lépés (képekkel)
Arduino Projekt: Teszttartomány LoRa RF1276 modul GPS nyomkövetéshez Megoldás: 9 lépés (képekkel)

Videó: Arduino Projekt: Teszttartomány LoRa RF1276 modul GPS nyomkövetéshez Megoldás: 9 lépés (képekkel)

Videó: Arduino Projekt: Teszttartomány LoRa RF1276 modul GPS nyomkövetéshez Megoldás: 9 lépés (képekkel)
Videó: 30 невероятных проектов Arduino, которые вы должны попробовать 2024, November
Anonim
Arduino projekt: Teszttartomány LoRa RF1276 modul GPS nyomkövető megoldáshoz
Arduino projekt: Teszttartomány LoRa RF1276 modul GPS nyomkövető megoldáshoz

Csatlakozás: USB - soros

Szükség: Chrome böngésző

Szükség: 1 X Arduino Mega

Szükség: 1 X GPS

Szükség: 1 x SD kártya

Szükség: 2 X LoRa RF1276 modem

Funkció: Arduino GPS-érték küldése a fő bázisra-A Dataino Server Lora modul fő adatait tárolja: Az APPCONWIRELESS LoRa ultra nagy hatótávolságú RF1276-a A LoRa egy új, privát és szórt spektrumú modulációs technika, amely lehetővé teszi az adatok rendkívül alacsony adatátviteli sebességgel történő küldését hosszú tartományok. Az alacsony adatsebesség (néhány bájt másodpercenként) és a LoRa moduláció nagyon alacsony vevőérzékenységhez vezet, ami azt jelenti, hogy ebben a tesztben több mint 10 km-t jelent.

1. lépés: A bázisállomás építése

Bázisállomás építése
Bázisállomás építése
Bázisállomás építése
Bázisállomás építése

Számítógép szélességű internetkapcsolat és LoRa modem csatlakoztatva az USB porthoz.

Arduino autóskészlet ·

A metrikus doboz

Az Anduino Mega a 2 -es soroshoz csatlakozik a GPS -vevőhöz, a Serial 1 pedig a LoRa -modemhez. Az adatok tárolására SD -kártyát használnak.

2. lépés: Az első teszt

Az első teszt
Az első teszt

· 10,6 km a városi központokon, galériákon és a part mentén, hurkokkal kialakított ösvényen

A vétel /átvitel aránya 321 /500TX pont

RX pont

3. lépés: Hozza létre az interfészt

Hozza létre az interfészt
Hozza létre az interfészt
Hozza létre az interfészt
Hozza létre az interfészt

1 - Új projekt létrehozása LoRa

Nyomja meg a cog ikont a projekt konfigurációjának megnyitásához

4. lépés: Adja hozzá a mérőt

Mérőeszköz hozzáadása
Mérőeszköz hozzáadása

2) Nyissa ki a mérőcsúszkát.

· 3) Görgessen a GPS -hez.

· 4) Adjon hozzá egyet az asztalhoz.

5. lépés: Húzza a GPS -t és adja hozzá az OpenStreetMap -ot

Húzza a GPS -t és adjon hozzá OpenStreetMap -ot
Húzza a GPS -t és adjon hozzá OpenStreetMap -ot
Húzza a GPS -t és adjon hozzá OpenStreetMap -ot
Húzza a GPS -t és adjon hozzá OpenStreetMap -ot

· 5) Add hozzá az OpenStreetMap térképet az asztalhoz

A GPS összetevőt az ikontérképen húzva létrejön az OpenStreet térkép.

Hozza létre az interfészt

· 6) Térképfrissítés módosítása

Módosítsa a térkép frissítési idejét 5000 -ről 10000 -ra

6. lépés: Húzza a GPS -mérőt, és adjon hozzá táblázatnaplót

Húzza a GPS -mérőt és a Táblázatnapló hozzáadása lehetőséget
Húzza a GPS -mérőt és a Táblázatnapló hozzáadása lehetőséget

· 7) Táblázatnapló -mérő hozzáadása.

A mérőeszköz húzásával a GPS ikon táblája fölött létrejön a mérőasztal naplója

· 8) A táblázat naplójának frissítése. Módosítsa a térkép frissítési idejét 5000 -ről 10000 -ra

Állítsa be a mérők helyzetét

· 9) A húzómérők a képernyőn keresztül húzva állítják be a mérők helyzetét.

· 10) Projekt mentése

7. lépés: Szerezze be a kódot

Megkapni a kódot
Megkapni a kódot

10) Aktiválja a kód tárolót

Gomb a jobb felső sarokban, válassza ki az összeset, és másolja az alapkódot.

8. lépés: Arduino IDE

Arduino IDE
Arduino IDE

· 11) Illessze be a kódot az Arduino IDE -re

· 12) Kód szerkesztése Adja hozzá ezt a sort a definícióhoz

9. lépés: Részletek kódolása

Adja hozzá ezt a sort a definícióhoz

//*************************************************************************

// ** KÖNYVTÁR ** // ***************************************** ********************************

#include // ++ GPS könyvtár

#include // ++ SPI könyvtár #include

++ SD könyvtár //

*************************************************************************

//** SD ** //***************************************** ********************************

// * SD kártya az alábbiak szerint az SPI buszhoz csatlakoztatva:

// ** UNO: MOSI - 11. tű, MISO - 12. tű, CLK - 13. tű, CS - 4. tű

// (a CS pin megváltoztatható) és a #10 (SS) tűnek kimenetnek kell lennie

// ** Mega: MOSI - 51. tű, MISO - 50. tű, CLK - 52. tű, CS - 53. tű

// (a CS -pin megváltoztatható) és az #52 -es (SS) -kimenetnek kimenetnek kell lennie

// ** Leonardo: Csatlakozás a hardveres SPI -hez az ICSP fejlécen keresztül

// A 4. pin itt a többi Arduino példával való összhang érdekében használatos const int chipSelect = 53;

// ++ SD tűválasztó

//*************************************************************************

// ** GPS ** // ***************************************** ********************************

TinyGPS GPS; // ++ GPS a Serial2 -n

void gpsdump (TinyGPS & gps); // ++

bool newdataGPS = hamis; // ++

Adja hozzá ezt a sort a beállításhoz ()

//***********************************************************************

// ** GPS soros beállítás ** // *************************************** ********************************

Serial2.begin (9600); // ++

késleltetés (1000); // ++

//***********************************************************************

// ** SD inicializálás ** // **************************************** *******************************

// győződjön meg arról, hogy az alapértelmezett chipválasztó tű // ++ értékre van állítva

// kimenet, akkor is, ha nem használja: // ++

pinMode (SS, OUTPUT); // ++

Serial.println (F ("SD kártya inicializálása …")); // ++

// nézze meg, hogy a kártya jelen van -e és inicializálható -e: // ++

if (! SD.begin (chipSelect)) {// ++

Serial.println (F ("A kártya sikertelen, vagy nincs jelen")); // ++

// ne csinálj többet: // ++

Visszatérés; // ++

} else {// ++

Serial.println (F ("SD kártya OK")); // ++

} // ++

Adja hozzá ezt a sort a loop () void -hoz

serialEvent2 (); // ++ hívás GPS soros esemény

Adja hozzá a SeriaEvent2 kódot

//*************************************************************************

// ** GPS serialEvent ** // **************************************** *********************************

void serialEvent2 () {// ++

míg (Serial2.available ()) {// ++

char c = Sorozat2.olvasás (); // ++

// Sorozatnyomat (c); // megjegyzés a nyers GPS -adatok megtekintéséhez // ++

ha (gps.kód (c)) {// ++

newdataGPS = igaz; // ++

szünet; // hagyja jóvá az új adatok azonnali nyomtatását! // ++

} // ++

} // ++

} // ++

GPS kiürítés hozzáadása

//*************************************************************************

// ** gps dump ** // **************************************** *********************************

// ** A szélesség érvényes tartománya fokban -90 és +90. **

// ** A hosszúság -180 és +180 között van **

** ** a kelet-nyugati helyzet megadása **

//** "123456789 1234567890" **

//** "000.00000;0000.00000" ** //*************************************************************************

void gpsdump (TinyGPS & gps) // ++

{ // ++

int év; // ++

bájt hónap, nap, óra, perc, másodperc, századok; // ++

előjel nélküli hosszú életkor; // ++

gps.f_get_position (& LATGP00, & LONGP00 és & age); // ++

gps.crack_datetime (& év, & hónap, & nap, & óra, // ++

& perc, & második, & századik, & kor); // ++

hosszú lat, lon; // ++

gps.get_position (& lat, & lon, & age); // ++

// *********************************************************************

// ** készítsen egy karakterláncot az adatok naplózáshoz való összeállításához: **

// *********************************************************************

String dataString = ""; // ++

dataString += (lat / 100000); // ++

dataString += "."; // ++

dataString += lat - (lat / 100000) * 100000; // ++

dataString += ";"; // ++

dataString += (lon / 100000); // ++

dataString += "."; // ++

dataString += lon - (lon / 100000) * 100000; // ++

dataString += ";"; // ++

dataString += Karakterlánc (static_cast (nap)); // ++

dataString += "/"; // ++

dataString += Karakterlánc (static_cast (hónap)); // ++

dataString += "/"; // ++

dataString += Karakterlánc (év); // ++

dataString += ";"; // ++

dataString += Karakterlánc (static_cast (óra)); // ++

dataString += ":"; // ++

dataString += Karakterlánc (static_cast (perc)); // ++

dataString += ":"; // ++

dataString += Karakterlánc (static_cast (második)); // ++ // ******************************************** *****************************

// ** SAVE to SD ** // *************************************** **********************************

// nyissa meg a fájlt. vegye figyelembe, hogy egyszerre csak egy fájl nyitható meg, **

// tehát be kell zárni ezt, mielőtt kinyit egy másikat. ** // ********************************************** ***************************

File dataFile = SD.open ("gps00.txt", FILE_WRITE); // ++

// ***********************************************************************

// ** ha a fájl elérhető, írjon neki: **

// ***********************************************************************

if (dataFile) {// ++

dataFile.println (dataString); // ++

dataFile.close (); // ++

} else {// ++

Serial.println (F ("ERROR SD Write")); // ++

} // ++

}

Ha le szeretné tölteni a kódot, látogasson el erre az oldalra.

Ajánlott: