Cuprins:
- Pasul 1: Construirea stației de bază
- Pasul 2: Primul test
- Pasul 3: Creați interfața
- Pasul 4: Adăugați un indicator
- Pasul 5: Trageți GPS Gauge și adăugați OpenStreetMap
- Pasul 6: Trageți indicatorul GPS și adăugați jurnalul tabelului
- Pasul 7: Obțineți codul
- Pasul 8: Arduino IDE
- Pasul 9: Detalii de codare
Video: Proiect Arduino: Gama de testare a modulului LoRa RF1276 pentru urmărirea GPS Soluție: 9 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:45
Conexiune: USB - Serial
Necesitate: browserul Chrome
Necesitate: 1 X Arduino Mega
Necesitate: 1 X GPS
Necesitate: 1 card SD
Necesitate: 2 X LoRa Modem RF1276
Funcție: Arduino Trimite valoarea GPS la baza principală - Datele principale de stocare a bazei în modulul Datora Server Lora: RF1276 cu rază de acțiune ultra lungă de la APPCONWIRELESS LoRa este o nouă tehnică de modulare privată și cu spectru larg care permite trimiterea de date la rate de date extrem de mici raze lungi. Rata de date scăzută (până la câțiva octeți pe secundă) și modulația LoRa duc la o sensibilitate foarte mică a receptorului, ceea ce înseamnă că în acest test înseamnă mai mult de 10 km.
Pasul 1: Construirea stației de bază
Conexiune la internet la lățimea computerului și un modem LoRa conectat la portul USB.
Set auto Arduino ·
Cutia metrică
Anduino Mega conectat la serial 2 la receptor GPS și Serial 1 la modem LoRa. Un card SD este utilizat pentru stocarea datelor.
Pasul 2: Primul test
· 10,6 Km pe o cale prin centre urbane, galerii și de-a lungul coastei realizate cu bucle
Raportul recepție / transmisie a fost de 321 / 500TX punct
Punctul RX
Pasul 3: Creați interfața
1 - Configurați un nou proiect LoRa
Apăsați pictograma cog pentru a deschide configurarea proiectului
Pasul 4: Adăugați un indicator
2) Deschideți glisorul manometrului.
· 3) Derulați la GPS.
· 4) Adăugați unul la birou.
Pasul 5: Trageți GPS Gauge și adăugați OpenStreetMap
· 5) Adăugați harta OpenStreetMap la birou
Tragând componenta GPS pe harta pictogramei, se generează harta OpenStreet.
Creați interfața
· 6) Schimbați reîmprospătarea hărții
Modificați timpul de reîmprospătare a hărții de la 5000 la 10000
Pasul 6: Trageți indicatorul GPS și adăugați jurnalul tabelului
· 7) Adăugați un indicator de tabel.
Prin tragerea manometrului deasupra tabelului cu pictograme GPS se creează jurnalul tabelului manometrului
· 8) Schimbați actualizarea jurnalului tabelului. Modificați timpul de reîmprospătare a hărții de la 5000 la 10000
Reglați poziția indicatorilor
· 9) Indicatoarele de glisare ajustează poziția indicatorilor prin glisarea lor pe ecran.
· 10) Salvați proiectul
Pasul 7: Obțineți codul
10) Activați containerul de cod
Butonul din butonul din dreapta sus, selectați toate și copiați codul de bază.
Pasul 8: Arduino IDE
· 11) Lipiți codul pe Arduino IDE
· 12) Editați codul Adăugați această linie în definiție
Pasul 9: Detalii de codare
Adăugați această linie în definiție
//*************************************************************************
// ** BIBLIOTECĂ ** // ****************************************** *********************************
#include // ++ biblioteca GPS
#include // ++ biblioteca SPI #include
// ++ biblioteca SD //
*************************************************************************
// ** SD ** // ***************************************** *********************************
// * Card SD atașat la magistrala SPI după cum urmează:
// ** UNO: MOSI - pin 11, MISO - pin 12, CLK - pin 13, CS - pin 4
// (pinul CS poate fi schimbat) și pinul # 10 (SS) trebuie să fie o ieșire
// ** Mega: MOSI - pinul 51, MISO - pinul 50, CLK - pinul 52, CS - pinul 53
// (pinul CS poate fi schimbat) și pinul # 52 (SS) trebuie să fie o ieșire
// ** Leonardo: Conectați-vă la hardware SPI prin antetul ICSP
// Pinul 4 utilizat aici pentru consistența cu alte exemple Arduino const int chipSelect = 53;
// ++ selector pin SD
//*************************************************************************
//** GPS ** //***************************************** *********************************
GPS TinyGPS; // ++ GPS pe Serial2
void gpsdump (TinyGPS & gps); // ++
bool newdataGPS = false; // ++
Adăugați această linie în setare ()
//***********************************************************************
// ** Configurare serial GPS ** // **************************************** *********************************
Serial2.begin (9600); // ++
întârziere (1000); // ++
//***********************************************************************
// ** Initializarea SD ** // ***************************************** ********************************
// asigurați-vă că pinul implicit de selectare a cipului este setat la // ++
// ieșire, chiar dacă nu o utilizați: // ++
pinMode (SS, OUTPUT); // ++
Serial.println (F ("Inițializarea cardului SD …")); // ++
// vezi dacă cardul este prezent și poate fi inițializat: // ++
if (! SD.begin (chipSelect)) {// ++
Serial.println (F („Cardul a eșuat sau nu este prezent”)); // ++
// nu mai face nimic: // ++
întoarcere; // ++
} else {// ++
Serial.println (F ("card SD OK")); // ++
} // ++
Adăugați aceste linii în bucla () void
serialEvent2 (); // ++ apel eveniment GPS serial
Adăugați codul SeriaEvent2
//*************************************************************************
// ** GPS serialEvent ** // ***************************************** **********************************
void serialEvent2 () {// ++
while (Serial2.available ()) {// ++
char c = Serial2.read (); // ++
//Serial.print(c); // decomentează pentru a vedea datele GPS brute // ++
if (gps.encode (c)) {// ++
newdataGPS = adevărat; // ++
pauză; // decomentează pentru a tipări date noi imediat! // ++
} // ++
} // ++
} // ++
Adaugă GPS dump voud
//*************************************************************************
// ** gps dump ** // ***************************************** **********************************
// ** Intervalul valid de latitudine în grade este -90 și +90. **
// ** Longitudinea este cuprinsă între -180 și +180 **
// ** specificarea poziției est-vest **
//** "123456789 1234567890" **
//** "000.00000;0000.00000" ** //*************************************************************************
void gpsdump (TinyGPS & gps) // ++
{ // ++
int an; // ++
octeți lună, zi, oră, minut, secundă, sutimi; // ++
vârsta lungă nesemnată; // ++
gps.f_get_position (& LATGP00, & LONGP00 și & age); // ++
gps.crack_datetime (& anul, & luna, & ziua, & ora, // ++
& minut, & al doilea, & sutimi, & vârstă); // ++
lung lat, lon; // ++
gps.get_position (& lat, & lon, & age); // ++
// *********************************************************************
// ** faceți un șir pentru asamblarea datelor în jurnal: **
// *********************************************************************
String dataString = ""; // ++
dataString + = (lat / 100000); // ++
dataString + = "."; // ++
dataString + = lat - (lat / 100000) * 100000; // ++
dataString + = ";"; // ++
dataString + = (lon / 100000); // ++
dataString + = "."; // ++
dataString + = lon - (lon / 100000) * 100000; // ++
dataString + = ";"; // ++
dataString + = String (static_cast (day)); // ++
dataString + = "/"; // ++
dataString + = String (static_cast (luna)); // ++
dataString + = "/"; // ++
dataString + = String (year); // ++
dataString + = ";"; // ++
dataString + = String (static_cast (hour)); // ++
dataString + = ":"; // ++
dataString + = String (static_cast (minute)); // ++
dataString + = ":"; // ++
dataString + = String (static_cast (second)); // ++ // ********************************************* *****************************
// ** SAVE TO SD ** // *************************************** ***********************************
// deschideți fișierul. rețineți că poate fi deschis un singur fișier simultan, **
// deci trebuie să o închideți înainte de a deschide alta. ** // ********************************************** ***************************
Fișier dataFile = SD.open ("gps00.txt", FILE_WRITE); // ++
// ***********************************************************************
// ** dacă fișierul este disponibil, scrieți-l: **
// ***********************************************************************
if (dataFile) {// ++
dataFile.println (dataString); // ++
dataFile.close (); // ++
} else {// ++
Serial.println (F ("ERROR SD Write")); // ++
} // ++
}
Dacă doriți să descărcați codul, vă rugăm să vizitați această pagină.
Recomandat:
DIY Smart Robot Urmărirea truselor de mașini Urmărirea mașinii fotosensibile: 7 pași
DIY Smart Robot Tracking Car Kits Tracking Car Photosensitive: Design by SINONING ROBOT Puteți cumpăra de la robotul de urmărire Teoria LM393 cip comparați cei doi fotorezistenți, când există un LED fotorezistor lateral pe ALB, partea motorului se va opri imediat, cealaltă parte a motorului răsuciți, astfel încât
QeMotion - Urmărirea mișcării pentru fiecare cască !: 5 pași (cu imagini)
QeMotion - Urmărirea mișcării pentru fiecare cască !: Prezentare generală: Acest dispozitiv vă permite să utilizați mișcarea capului pentru a declanșa evenimente în practic orice joc video. Funcționează urmărind mișcarea capului (sau căștile în acest sens) și declanșând apăsarea tastaturii pentru anumite mișcări. Așa că comp
Cum să asamblați un braț impresionant din lemn pentru robot (Partea 1: Robot pentru urmărirea liniei) - Bazat pe micro: Bit: 9 pași
Cum să asamblați un braț robot de lemn impresionant (Partea 1: Robot pentru urmărirea liniei) - Bazat pe Micro: Bit: Acest tip de lemn are trei forme, este foarte diferit și impresionant. Atunci hai să intrăm în el unul câte unul
Cine este la ușa mea? Proiect senzor de mișcare PIR / senzor de gamă: 5 pași
Cine este la ușa mea? Proiectul senzorului de mișcare PIR / Range Sensor: Proiectul nostru are ca scop detectarea mișcării prin senzori PIR și distanță. Codul Arduino va emite un semnal vizual și audio pentru a spune utilizatorului că cineva este aproape. Codul MATLAB îmi va trimite un semnal de e-mail pentru a avertiza utilizatorul că cineva este aproape. Acest dispozitiv
Ultima soluție MacOS / Hackintosh High Sierra 10.13 USB Wifi Driver "Future Proof" Soluție utilizând Raspberry Pi: 4 pași
Ultima soluție MacOS / Hackintosh High Sierra 10.13 Usb Wifi Driver „Future Proof” Soluție folosind Raspberry Pi: Una dintre cele mai frustrante probleme cu cele mai recente macOS / Hackintosh este disponibilitatea driverului wifi USB. MacOS High Sierra 10.13 Ultimul meu wifi USB este panda wireless, dar suportul pentru driver pentru macO