Kazalo:
- 1. korak: Gradnja bazne postaje
- 2. korak: Prvi test
- 3. korak: Ustvarite vmesnik
- 4. korak: Dodajte merilnik
- 5. korak: Povlecite merilnik GPS in dodajte OpenStreetMap
- Korak 6: Povlecite GPS Gauge in dodajte dnevnik tabele
- 7. korak: Pridobite kodo
- 8. korak: Arduino IDE
- 9. korak: Podrobnosti o kodiranju
Video: Arduino projekt: Testni razpon LoRa modul RF1276 za rešitev GPS sledenja: 9 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
Priključek: USB - serijski
Potrebujete: brskalnik Chrome
Potrebujete: 1 X Arduino Mega
Potrebujete: 1 x GPS
Potrebujete: 1 x SD kartica
Potrebujete: 2 x LoRa modem RF1276
Funkcija: Arduino Pošlji vrednost GPS v glavno bazo-Podatki glavne baze shranijo v modulu Dataino Server Lora: RF1276 ultra dolgega dosega iz APPCONWIRELESS LoRa je nova, zasebna in modulirana tehnika razpršenega spektra, ki omogoča pošiljanje podatkov po izjemno nizkih hitrostih dolge razdalje. Nizka hitrost prenosa podatkov (do nekaj bajtov na sekundo) in LoRa modulacija vodijo do zelo nizke občutljivosti sprejemnika, kar pomeni, da v tem testu pomeni več kot 10 km.
1. korak: Gradnja bazne postaje
Računalniška internetna povezava in modem LoRa, priključen na vrata USB.
Komplet za avto Arduino ·
Metrično polje
Anduino Mega priključen na serijski 2 na sprejemnik GPS in serijski 1 na modem LoRa. Za shranjevanje podatkov se uporablja kartica SD.
2. korak: Prvi test
· 10,6 km na poti skozi urbana središča, galerije in ob obali z zankami
Razmerje med sprejemom /prenosom je bilo 321 /500TX
RX točka
3. korak: Ustvarite vmesnik
1 - Nastavite nov projekt LoRa
Pritisnite ikono zobnika, da odprete konfiguracijo projekta
4. korak: Dodajte merilnik
2) Odprite drsnik merilnika.
· 3) Pomaknite se do GPS.
· 4) Dodajte eno na mizo.
5. korak: Povlecite merilnik GPS in dodajte OpenStreetMap
· 5) Dodajte zemljevid OpenStreetMap na mizo
Če povlečete komponento GPS na zemljevid ikon, se ustvari zemljevid OpenStreet.
Ustvarite vmesnik
· 6) Spremenite osvežitev zemljevida
Spremenite čas osveževanja zemljevida s 5000 na 10000
Korak 6: Povlecite GPS Gauge in dodajte dnevnik tabele
· 7) Dodajte merilnik tabele dnevnika.
Z vlečenjem merilnika nad tabelo ikon GPS se ustvari dnevnik tabele merilnikov
· 8) Spremeni osvežitev dnevnika tabele. Spremenite čas osveževanja zemljevida s 5000 na 10000
Prilagodite položaj merilnikov
· 9) Merilniki vlečenja prilagodijo položaj merilnikov tako, da jih povlečejo po zaslonu.
· 10) Shrani projekt
7. korak: Pridobite kodo
10) Aktivirajte vsebnik kod
Gumb v zgornjem desnem kotu, izberite vse in kopirajte osnovno kodo.
8. korak: Arduino IDE
· 11) Prilepite kodo v Arduino IDE
· 12) Urejanje kode Dodajte to vrstico v definicijo
9. korak: Podrobnosti o kodiranju
To vrstico dodajte v definicijo
//*************************************************************************
//** KNJIŽNICA ** //***************************************** ******************************
#include // ++ knjižnica GPS
#include // ++ knjižnica SPI #include
// ++ knjižnica SD //
*************************************************************************
// ** SD ** // ***************************************** ******************************
// * SD kartica, priključena na vodilo SPI:
// ** UNO: MOSI - pin 11, MISO - pin 12, CLK - pin 13, CS - pin 4
// (pin CS je mogoče spremeniti) in pin #10 (SS) morata biti izhod
// ** Mega: MOSI - pin 51, MISO - pin 50, CLK - pin 52, CS - pin 53
// (pin CS je mogoče spremeniti) in pin #52 (SS) morata biti izhod
// ** Leonardo: Povežite se s strojno opremo SPI preko glave ICSP
// Pin 4, ki se tukaj uporablja za skladnost z drugimi primeri Arduina const int chipSelect = 53;
// ++ izbirnik zatičev SD
//*************************************************************************
// ** GPS ** // ***************************************** ******************************
TinyGPS GPS; // ++ GPS na Serial2
void gpsdump (TinyGPS & gps); // ++
bool newdataGPS = napačno; // ++
Dodajte to vrstico v setup ()
//***********************************************************************
// ** serijska nastavitev GPS ** // *************************************** ******************************
Serial2.begin (9600); // ++
zamuda (1000); // ++
//***********************************************************************
// ** SD inicializacija ** // ************************************** *******************************
// Prepričajte se, da je privzeti zatič za izbiro čipa nastavljen na // ++
// izhod, tudi če ga ne uporabljate: // ++
pinMode (SS, OUTPUT); // ++
Serial.println (F ("Inicializiranje kartice SD …")); // ++
// preverite, ali je kartica prisotna in jo je mogoče inicializirati: // ++
if (! SD.begin (chipSelect)) {// ++
Serial.println (F ("Kartica ni uspela ali ni prisotna")); // ++
// ne delajte ničesar več: // ++
vrnitev; // ++
} else {// ++
Serial.println (F ("SD kartica OK")); // ++
} // ++
Dodajte te vrstice v loop () void
serialEvent2 (); // ++ klic zaporednega dogodka GPS
Dodajte kodo SeriaEvent2
//*************************************************************************
// ** GPS serialEvent ** // ************************************** *********************************
void serialEvent2 () {// ++
while (Serial2.available ()) {// ++
char c = Serial2.read (); // ++
//Serial.print(c); // komentirajte, če si želite ogledati surove podatke GPS // ++
if (gps.encode (c)) {// ++
newdataGPS = res; // ++
prekiniti; // ne komentirajte, da takoj natisnete nove podatke! // ++
} // ++
} // ++
} // ++
Dodajte izmet GPS
//*************************************************************************
// ** dump GPS ** // ************************************** *********************************
// ** Veljavno območje zemljepisne širine v stopinjah je -90 in +90. **
// ** Zemljepisna dolžina je v območju -180 in +180 **
// ** določa položaj vzhod-zahod **
//** "123456789 1234567890" **
//** "000.00000;0000.00000" ** //*************************************************************************
void gpsdump (TinyGPS & gps) // ++
{ // ++
int leto; // ++
bajt mesec, dan, ura, minuta, sekunda, stotine; // ++
nepodpisana dolga starost; // ++
gps.f_get_position (& LATGP00, & LONGP00, & age); // ++
gps.crack_datetime (& leto, & mesec, & dan, & ura, // ++
& minute, & second, & stotine, & age); // ++
dolg lat, lon; // ++
gps.get_position (& lat, & lon, & age); // ++
// *********************************************************************
// ** naredite niz za sestavljanje podatkov v dnevnik: **
// *********************************************************************
Niz dataString = ""; // ++
dataString += (lat / 100000); // ++
dataString += "."; // ++
dataString += lat - (lat / 100000) * 100000; // ++
dataString += ";"; // ++
dataString += (lon / 100000); // ++
dataString += "."; // ++
dataString += lon - (lon / 100000) * 100000; // ++
dataString += ";"; // ++
dataString += niz (static_cast (dan)); // ++
dataString += "/"; // ++
dataString += niz (static_cast (mesec)); // ++
dataString += "/"; // ++
dataString += niz (leto); // ++
dataString += ";"; // ++
dataString += niz (static_cast (ura)); // ++
dataString += ":"; // ++
dataString += niz (static_cast (minuta)); // ++
dataString += ":"; // ++
dataString += niz (static_cast (drugo)); // ++ // ****************************************** *****************************
// ** SHRANI NA SD ** // *************************************** ********************************
// odpremo datoteko. upoštevajte, da je lahko hkrati odprta samo ena datoteka, **
// zato morate to zapreti, preden odprete drugo. ** // ******************************************** ***************************
Datoteka dataFile = SD.open ("gps00.txt", FILE_WRITE); // ++
// ***********************************************************************
// ** če je datoteka na voljo, ji napišite: **
// ***********************************************************************
if (podatkovna datoteka) {// ++
dataFile.println (dataString); // ++
dataFile.close (); // ++
} else {// ++
Serial.println (F ("ERROR SD Write")); // ++
} // ++
}
Če želite prenesti kodo, obiščite to stran.
Priporočena:
Ventilator aktivnega sledenja: 5 korakov
Ventilator aktivnega sledenja: Singapur je vlažna država in zato, da se ohladimo, uporabljamo ventilatorje ali klimatsko napravo. Vendar ne uporabljamo najbolj energetsko učinkovitih nastavitev, včasih način nastavimo prehladno ali nastavimo ventilator na visoko, nato pa nadaljujemo z oblačenjem, ki ni
3D -zemljevid GPS sledenja: 9 korakov
GPS sledenje 3D zemljevidu: Ta projekt je 3D natisnjen 3D zemljevid s cestami, rekami in mesti z LED svetilniki za prikaz lokacije članov družine. Lahko pokaže, ali je otrok v šoli ali pa le lokacijo obeh staršev. Uporabljamo ga lahko tudi za napovedovanje
Glejte LoRa IoTea Rešitev: 5 korakov
Glejte LoRa IoTea Rešitev: Samodejni sistem zbiranja informacij, uporabljen na nasadih čaja. Je del inteligentnega zbiranja kmetijskih informacij
Glejte rešitev IoTea LoRa (posodobitev 1811): 5 korakov
Glej rešitev IoTea LoRa (posodobitev 1811): Internet+ je zdaj priljubljen koncept. Tokrat smo poskusili z internetom in kmetijstvom narediti čajni vrt iz internetnega čaja
8 -metrski razpon kril Coroplast RC Piper Cub, ki ga preleti 25 -centimetrski trimer za plevel: 27 korakov (s slikami)
8 -metrski razpon kril Coroplast RC Piper Cub, ki ga prenaša 25 -centimetrski trimer za plevel: Obožujem radijsko vodena letala in izdelala sem več vrst od balse do tega obsežnega plastičnega. Ta je narejen iz plastike v vrednosti 25,00 USD, ki sem jo kupil lokalno pri znakovnem podjetju. Plastika je Coroplast ali valovita plastika, njena poceni je