Obsah:
- Krok 1: Budování základní stanice
- Krok 2: První test
- Krok 3: Vytvořte rozhraní
- Krok 4: Přidejte měřidlo
- Krok 5: Přetáhněte měřidlo GPS a přidejte OpenStreetMap
- Krok 6: Přetáhněte měřidlo GPS a přidejte protokol tabulky
- Krok 7: Získejte kód
- Krok 8: Arduino IDE
- Krok 9: Podrobnosti o kódování
Video: Arduino Project: Test Range LoRa Module RF1276 for GPS Tracking Řešení: 9 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
Připojení: USB - sériové
Potřebujete: prohlížeč Chrome
Potřebujete: 1 X Arduino Mega
Potřebujete: 1 x GPS
Potřebujete: 1 X SD karta
Potřebujete: 2 X LoRa Modem RF1276
Funkce: Arduino Odeslat hodnotu GPS na hlavní základnu-Hlavní základna ukládá data do modulu Dataino Server Lora: Ultra dlouhý dosah RF1276 od APPCONWIRELESS LoRa je nová, soukromá a modulační technika s rozšířeným spektrem, která umožňuje odesílání dat extrémně nízkými datovými rychlostmi až extrémně dlouhé vzdálenosti. Nízká datová rychlost (až několik bajtů za sekundu) a modulace LoRa vedou k velmi nízké citlivosti přijímače, což v tomto testu znamená více než 10 km.
Krok 1: Budování základní stanice
Připojení k internetu na šířku počítače a modem LoRa připojený k portu USB.
Souprava do auta Arduino ·
Metrické pole
Anduino Mega připojeno k přijímači GPS 2 a 2 k modemu LoRa. K ukládání dat se používá karta SD.
Krok 2: První test
· 10,6 km na cestě městskými centry, galeriemi a podél pobřeží vytvořené smyčkami
Poměr příjmu /přenosu byl 321 /500TX bodu
RX bod
Krok 3: Vytvořte rozhraní
1 - Založte nový projekt LoRa
Stisknutím ikony ozubeného kola otevřete konfiguraci projektu
Krok 4: Přidejte měřidlo
2) Otevřete posuvník měřidla.
· 3) Přejděte na GPS.
· 4) Přidejte jeden na stůl.
Krok 5: Přetáhněte měřidlo GPS a přidejte OpenStreetMap
· 5) Přidejte mapu OpenStreetMap na stůl
Přetažením komponentního GPS na mapu ikon se vygeneruje mapa OpenStreet.
Vytvořte rozhraní
· 6) Změnit aktualizaci mapy
Změňte čas obnovení mapy z 5 000 na 10 000
Krok 6: Přetáhněte měřidlo GPS a přidejte protokol tabulky
· 7) Přidejte rozchod tabulky.
Přetažením měřidla nad tabulku ikon GPS se vytvoří protokol tabulky měřidel
· 8) Změnit aktualizaci protokolu tabulky. Změňte čas obnovení mapy z 5 000 na 10 000
Upravte polohu měřidel
· 9) Tažná měřidla upravují polohu měřidel přetažením přes obrazovku.
· 10) Uložit projekt
Krok 7: Získejte kód
10) Aktivujte kontejner kódu
Tlačítko vpravo nahoře, vyberte vše a zkopírujte základní kód.
Krok 8: Arduino IDE
· 11) Vložte kód na Arduino IDE
· 12) Upravit kód Přidejte tento řádek do definice
Krok 9: Podrobnosti o kódování
Přidejte tento řádek do definice
//*************************************************************************
// ** KNIHOVNA ** // ***************************************** *********************************
#include // ++ GPS knihovna
#include // ++ SPI knihovna #include
// ++ SD knihovna //
*************************************************************************
// ** SD ** // ***************************************** *********************************
// * SD karta připojená ke sběrnici SPI následovně:
// ** UNO: MOSI - pin 11, MISO - pin 12, CLK - pin 13, CS - pin 4
// (PIN CS lze změnit) a pin #10 (SS) musí být výstup
// ** Mega: MOSI - pin 51, MISO - pin 50, CLK - pin 52, CS - pin 53
// (PIN CS lze změnit) a pin #52 (SS) musí být výstup
// ** Leonardo: Připojte se k hardwarovému SPI přes hlavičku ICSP
// Pin 4 zde použitý pro konzistenci s jinými příklady Arduino const int chipSelect = 53;
// ++ Volič pinů SD
//*************************************************************************
// ** GPS ** // **************************************** *********************************
TinyGPS gps; // ++ GPS na Serial2
neplatný gpsdump (TinyGPS & gps); // ++
bool newdataGPS = false; // ++
Přidejte tento řádek do nastavení ()
//***********************************************************************
// ** Sériové nastavení GPS ** // **************************************** *********************************
Serial2.begin (9600); // ++
zpoždění (1000); // ++
//***********************************************************************
// ** Inicializace SD ** // **************************************** ******************************
// ujistěte se, že výchozí pin pro výběr čipu je nastaven na // ++
// výstup, i když jej nepoužíváte: // ++
pinMode (SS, OUTPUT); // ++
Serial.println (F ("Inicializace karty SD …")); // ++
// zjistěte, zda je karta přítomna a lze ji inicializovat: // ++
if (! SD.begin (chipSelect)) {// ++
Serial.println (F („Karta selhala nebo není přítomna“)); // ++
// nedělejte nic víc: // ++
vrátit se; // ++
} else {// ++
Serial.println (F („SD karta v pořádku“)); // ++
} // ++
Přidejte tyto řádky do loop () void
serialEvent2 (); // ++ volání GPS sériové události
Přidejte kód SeriaEvent2
//*************************************************************************
// ** GPS serialEvent ** // **************************************** **********************************
zrušit serialEvent2 () {// ++
while (Serial2.available ()) {// ++
char c = Serial2.read (); // ++
//Serial.print(c); // odkomentujte zobrazení surových dat GPS // ++
if (gps.encode (c)) {// ++
newdataGPS = true; // ++
přestávka; // odkomentujte okamžitý tisk nových dat! // ++
} // ++
} // ++
} // ++
Přidejte hlasitý výpis GPS
//*************************************************************************
// ** skládka GPS ** // **************************************** **********************************
// ** Platný rozsah zeměpisné šířky ve stupních je -90 a +90. **
// ** Zeměpisná délka je v rozsahu -180 a +180 **
// ** určení polohy východ-západ **
//** "123456789 1234567890" **
//** "000.00000;0000.00000" ** //*************************************************************************
neplatné gpsdump (TinyGPS & gps) // ++
{ // ++
int rok; // ++
bajt měsíc, den, hodina, minuta, sekunda, setiny; // ++
nepodepsaný dlouhý věk; // ++
gps.f_get_position (& LATGP00, & LONGP00, & věk); // ++
gps.crack_datetime (& rok, & měsíc, & den, & hodina, // ++
& minuta, & sekunda, & setiny, & věk); // ++
dlouhá lat, lon; // ++
gps.get_position (& lat, & lon, & age); // ++
// *********************************************************************
// ** vytvořte řetězec pro sestavení dat do protokolu: **
// *********************************************************************
Řetězec dataString = ""; // ++
dataString += (lat / 100000); // ++
dataString += "."; // ++
dataString += lat - (lat / 100000) * 100000; // ++
dataString += ";"; // ++
dataString += (dlouho / 100000); // ++
dataString += "."; // ++
dataString += lon - (lon / 100000) * 100000; // ++
dataString += ";"; // ++
dataString += String (static_cast (den)); // ++
dataString += "/"; // ++
dataString += String (static_cast (měsíc)); // ++
dataString += "/"; // ++
dataString += String (rok); // ++
dataString += ";"; // ++
dataString += String (static_cast (hodina)); // ++
dataString += ":"; // ++
dataString += String (static_cast (minuta)); // ++
dataString += ":"; // ++
dataString += String (static_cast (druhý)); // ++ // ********************************************** ****************************
// ** ULOŽIT DO SD ** // ************************************* *********************************
// otevřete soubor. současně je možné otevřít pouze jeden soubor, **
// takže před otevřením dalšího musíte tento zavřít. ** // ************************************************ ***************************
Soubor dataFile = SD.open ("gps00.txt", FILE_WRITE); // ++
// ***********************************************************************
// ** pokud je soubor k dispozici, napište do něj: **
// ***********************************************************************
if (dataFile) {// ++
dataFile.println (dataString); // ++
dataFile.close (); // ++
} else {// ++
Serial.println (F ("CHYBA SD zápisu")); // ++
} // ++
}
Pokud si chcete stáhnout kód, navštivte tuto stránku.
Doporučuje:
Arduino - Robot pro řešení bludiště (MicroMouse) Robot po zdi: 6 kroků (s obrázky)
Arduino | Maze Solving Robot (MicroMouse) Wall Následující robot: Vítejte, jsem Isaac a toto je můj první robot „Striker v1.0“. Tento robot byl navržen tak, aby vyřešil jednoduché bludiště. V soutěži jsme měli dvě bludiště a robot dokázal je identifikovat. Jakékoli další změny v bludišti mohou vyžadovat změnu v
Viděné řešení LoRa IoTea: 5 kroků
Viděné řešení LoRa IoTea: Systém automatického shromažďování informací aplikovaný na čajové plantáže. Je součástí inteligentního shromažďování zemědělských informací
Viděné řešení IoTea LoRa (aktualizace 1811): 5 kroků
Viděné řešení IoTea LoRa (aktualizace 1811): Internet+ je nyní populární koncept. Tentokrát jsme vyzkoušeli internet plus zemědělství, aby z čajové zahrady vyrostl internetový čaj
Viděné řešení IoTea LoRa (s Azure, aktualizace 1812): 5 kroků
Viděné řešení IoTea LoRa (s Azure, aktualizace 1812): Microsoft Azure je cloudová služba, která poskytuje výkonnější a stabilnější výpočetní výkon. Tentokrát jsme do něj zkusili poslat naše data IoTea
Cenově dostupné řešení vize s robotickým ramenem založeným na Arduinu: 19 kroků (s obrázky)
Cenově dostupné řešení vize s robotickým ramenem založeným na Arduinu: Když mluvíme o strojovém vidění, vždy nám to připadá tak nedosažitelné. Zatímco jsme vytvořili demo vize s otevřeným zdrojem, které by bylo super snadné udělat pro každého. V tomto videu s kamerou OpenMV robot bez ohledu na to, kde je červená kostka