Sommario:
- Passaggio 1: costruzione della stazione base
- Passaggio 2: Il primo test
- Passaggio 3: creare l'interfaccia
- Passaggio 4: aggiungi indicatore
- Passaggio 5: trascinare Gauge GPS e aggiungere OpenStreetMap
- Passaggio 6: trascina l'indicatore GPS e aggiungi registro tabella
- Passaggio 7: ottieni il codice
- Passaggio 8: Arduino IDE
- Passaggio 9: dettagli di codifica
Video: Progetto Arduino: Modulo LoRa per test range RF1276 per soluzione di localizzazione GPS: 9 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:03
Connessione: USB - Seriale
Necessità: browser Chrome
Necessità: 1 X Arduino Mega
Necessità: 1 X GPS
Necessità: 1 X scheda SD
Necessità: 2 X LoRa Modem RF1276
Funzione: Arduino Invia il valore GPS alla base principale - Dati di archiviazione della base principale in Dataino Server Modulo Lora: Ultra long range RF1276 di APPCONWIRELESS LoRa è una nuova tecnica di modulazione privata e a spettro esteso che consente di inviare dati a velocità estremamente basse a estremamente lunghe distanze. Il basso data rate (fino a pochi byte al secondo) e la modulazione LoRa portano a una sensibilità del ricevitore molto bassa, significa in questo test significa più di 10 km.
Passaggio 1: costruzione della stazione base
Connessione Internet a larghezza di computer e un modem LoRa collegato alla porta USB.
Kit per auto Arduino ·
La casella metrica
Anduino Mega collegato alla seriale 2 al ricevitore GPS e alla seriale 1 al modem LoRa. Una scheda SD viene utilizzata per memorizzare i dati.
Passaggio 2: Il primo test
· 10,6 Km su un percorso attraverso centri urbani, gallerie e lungo la costa realizzato ad anse
Il rapporto ricezione/trasmissione è stato di 321/500 punti TX
punto RX
Passaggio 3: creare l'interfaccia
1 - Imposta un nuovo progetto LoRa
Premi l'icona ingranaggio per aprire la configurazione del progetto
Passaggio 4: aggiungi indicatore
2) Aprire il cursore del manometro.
· 3) Scorrere fino al GPS.
· 4) Aggiungere uno alla scrivania.
Passaggio 5: trascinare Gauge GPS e aggiungere OpenStreetMap
· 5) Aggiungi la mappa OpenStreetMap alla scrivania
Trascinando il componente GPS sulla mappa delle icone, viene generata la mappa di OpenStreet.
Crea l'interfaccia
· 6) Cambia aggiornamento mappa
Modifica il tempo di aggiornamento della mappa da 5000 a 10000
Passaggio 6: trascina l'indicatore GPS e aggiungi registro tabella
· 7) Aggiungere un indicatore di registro tabella.
Trascinando l'indicatore sopra la tabella delle icone GPS viene creato il registro della tabella dell'indicatore
· 8) Modificare l'aggiornamento del registro della tabella. Modifica il tempo di aggiornamento della mappa da 5000 a 10000
Regolare la posizione degli indicatori
· 9) Gli indicatori di trascinamento regolano la posizione degli indicatori trascinandoli sullo schermo.
· 10) Salva progetto
Passaggio 7: ottieni il codice
10) Attiva contenitore codice
Pulsante in alto a destra, seleziona tutto e copia il codice base.
Passaggio 8: Arduino IDE
· 11) Incolla il codice su Arduino IDE
· 12) Modifica codice Aggiungi questa riga nella definizione
Passaggio 9: dettagli di codifica
Aggiungi questa riga nella definizione
//*************************************************************************
//** BIBLIOTECA ** //***************************************** ******************************
#include // ++ Libreria GPS
#include // ++ Libreria SPI #include
// ++ Libreria SD//
*************************************************************************
//** SD ** //********************************************* ******************************
// * Scheda SD collegata al bus SPI come segue:
// ** UNO: MOSI - pin 11, MISO - pin 12, CLK - pin 13, CS - pin 4
// (il pin CS può essere cambiato) e il pin #10 (SS) deve essere un'uscita
// ** Mega: MOSI - pin 51, MISO - pin 50, CLK - pin 52, CS - pin 53
// (il pin CS può essere cambiato) e il pin #52 (SS) deve essere un'uscita
// ** Leonardo: Connetti all'hardware SPI tramite l'intestazione ICSP
// Pin 4 usato qui per coerenza con altri esempi di Arduino const int chipSelect = 53;
// ++ Selettore pin SD
//*************************************************************************
//** GPS ** //***************************************** ******************************
Piccolo GPS GPS; // ++ GPS su Serial2
void gpsdump(TinyGPS &gps); // ++
bool newdataGPS = false; // ++
Aggiungi questa riga in setup()
//***********************************************************************
//** Configurazione seriale GPS ** //**************************************** ******************************
Serial2.begin(9600); // ++
ritardo(1000); // ++
//***********************************************************************
//** Inizializzazione SD ** //**************************************** ******************************
// assicurati che il pin di selezione del chip predefinito sia impostato su // ++
// output, anche se non lo usi: // ++
pinMode(SS, USCITA); // ++
Serial.println(F("Inizializzazione scheda SD…")); // ++
// verifica se la scheda è presente e può essere inizializzata: // ++
if (!SD.begin(chipSelect)) { // ++
Serial.println(F("Scheda non riuscita o non presente")); // ++
// non fare altro: // ++
Restituzione; // ++
} else { // ++
Serial.println(F("Scheda SD OK")); // ++
} // ++
Aggiungi queste righe in loop() void
serialEvent2(); // ++ chiama evento seriale GPS
Aggiungi il codice SeriaEvent2
//*************************************************************************
//** GPS serialEvent ** //**************************************** *********************************
void serialEvent2() { // ++
while (Serial2.available()) { // ++
char c = Serial2.read(); // ++
//Serial.print(c); // togli il commento per vedere i dati GPS grezzi // ++
if (gps.encode(c)) { // ++
newdataGPS = vero; // ++
rottura; // togli il commento per stampare i nuovi dati immediatamente! // ++
} // ++
} // ++
} // ++
Aggiungi vuoto dump GPS
//*************************************************************************
//** dump gps ** //**************************************** *********************************
//** L'intervallo valido di latitudine in gradi è -90 e +90. **
//** La longitudine è compresa tra -180 e +180 **
//** specificando la posizione est-ovest **
//** "123456789 1234567890" **
//** "000.00000;0000.00000" ** //*************************************************************************
void gpsdump(TinyGPS e gps) // ++
{ // ++
int anno; // ++
byte mese, giorno, ora, minuto, secondo, centesimi; // ++
lunga età non firmata; // ++
gps.f_get_position(&LATGP00, &LONGP00, &età); // ++
gps.crack_datetime(&anno, &mese, &giorno, &ora, // ++
&minuto, &secondo, ¢esimi, &età); // ++
lungo lat, lon; // ++
gps.get_position(&lat, &lon, &età); // ++
// *********************************************************************
// ** crea una stringa per assemblare i dati da registrare: **
// *********************************************************************
String dataString = ""; // ++
dataString += (lat / 100000); // ++
dataString += "."; // ++
dataString += lat - (lat/100000) * 100000; // ++
dataString += ";"; // ++
dataString += (lon / 100000); // ++
dataString += "."; // ++
dataString += lon - (lon / 1000000) * 100000; // ++
dataString += ";"; // ++
dataString += String(static_cast(day)); // ++
dataString += "/"; // ++
dataString += String(static_cast(mese)); // ++
dataString += "/"; // ++
dataString += String (anno); // ++
dataString += ";"; // ++
dataString += String(static_cast(hour)); // ++
dataString += ":"; // ++
dataString += String(static_cast(minuto)); // ++
dataString += ":"; // ++
dataString += String(static_cast(secondo)); // ++ //********************************************* ******************************
//** SALVA SU SD ** //**************************************** ***********************************
//apro il file. nota che può essere aperto solo un file alla volta, **
// quindi devi chiudere questo prima di aprirne un altro. ** //********************************************* *************************
File dataFile = SD.open("gps00.txt", FILE_WRITE); // ++
// ***********************************************************************
// ** se il file è disponibile, scrivici: **
// ***********************************************************************
if (dataFile) { // ++
dataFile.println(dataString); // ++
dataFile.close(); // ++
} else { // ++
Serial.println(F("Scrittura SD ERRORE")); // ++
} // ++
}
Se vuoi scaricare il codice, visita questa pagina.
Consigliato:
Testa di manichino con localizzazione del suono con Kinect: 9 passaggi (con immagini)
Testa di manichino con localizzazione del suono con Kinect: ecco Margaret, un manichino di prova per un sistema di monitoraggio della fatica del conducente. Di recente si è ritirata dai suoi doveri e ha trovato la sua strada per il nostro ufficio, e da allora ha attirato l'attenzione di coloro che pensano che sia "inquietante". Nell'interesse della giustizia, ho
Modulo di localizzazione per ciclisti: 5 passaggi
Modulo di tracciamento per ciclisti: questo modulo di tracciamento per ciclisti è un modulo che rileva automaticamente gli incidenti in una gara e rileva un guasto meccanico toccando un sensore tattile. Quando si verifica uno di questi eventi, il modulo invia l'evento a un database su un lampone
Utilizzo del sensore di impronte digitali per l'orario di presenza in combinazione con la soluzione XAMP: 6 passaggi (con immagini)
Utilizzo del sensore di impronte digitali per l'orario di presenza in combinazione con la soluzione XAMP: per un progetto scolastico, stavamo cercando una soluzione su come monitorare la frequenza degli studenti. Molti dei nostri studenti arrivano in ritardo. È un lavoro noioso controllare la loro presenza. D'altra parte, c'è molta discussione perché gli studenti spesso diranno
Una soluzione di visione conveniente con braccio robotico basata su Arduino: 19 passaggi (con immagini)
Una soluzione di visione conveniente con braccio robotico basata su Arduino: quando parliamo di visione artificiale, ci sembra sempre così irraggiungibile. Mentre abbiamo realizzato una demo di visione open source che sarebbe super facile da realizzare per tutti. In questo video, con la telecamera OpenMV, non importa dove si trova il cubo rosso, il robot è
Come collegare il DeLorme Earthmate GPS LT-20 a Google Earth per un'ottima mappa di localizzazione GPS.: 5 passaggi
Come collegare DeLorme Earthmate GPS LT-20 al tuo Google Earth per un'ottima mappa di localizzazione GPS.: Ti mostrerò come collegare un dispositivo GPS al popolare programma Google Earth, senza utilizzare Google Earth Plus. Non ho un grande budget quindi posso garantire che sarà il più economico possibile