Taula de continguts:
- Pas 1: Construir l'estació base
- Pas 2: la primera prova
- Pas 3: creeu la interfície
- Pas 4: afegiu un indicador
- Pas 5: arrossegueu el GPS Gauge i afegiu OpenStreetMap
- Pas 6: arrossegueu l'indicador GPS i afegiu el registre de la taula
- Pas 7: Obteniu el codi
- Pas 8: Arduino IDE
- Pas 9: detalls de codificació
Vídeo: Projecte Arduino: Prova del mòdul LoRa RF1276 per al seguiment GPS Solució: 9 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:15
Connexió: USB - sèrie
Necessitat: navegador Chrome
Necessitat: 1 X Arduino Mega
Necessitat: 1 X GPS
Necessitat: 1 targeta SD X.
Necessitat: 2 X mòdem LoRa RF1276
Funció: Arduino Enviar valor GPS a la base principal: dades principals del magatzem de la base en el mòdul Lora del servidor Dataino: RF1276 d’alt abast RF1276 d’APPCONWIRELESS LoRa és una nova tècnica de modulació d’espectre privat i privat que permet enviar dades a velocitats de dades extremadament baixes. de llarg abast. La baixa velocitat de dades (fins a pocs bytes per segon) i la modulació LoRa condueixen a una sensibilitat del receptor molt baixa, cosa que significa que en aquesta prova es supera els 10 km.
Pas 1: Construir l'estació base
Connexió a Internet d’amplada de l’ordinador i un mòdem LoRa connectat al port USB.
Kit de cotxes Arduino ·
La caixa mètrica
Anduino Mega connectat a la sèrie 2 al receptor GPS, i la sèrie 1 al mòdem LoRa. S'utilitza una targeta SD per a les dades de la botiga.
Pas 2: la primera prova
· 10,6 Km per un camí a través de nuclis urbans, galeries i al llarg de la costa feta amb bucles
La proporció de recepció / transmissió ha estat de 321 / 500TX punt
Punt RX
Pas 3: creeu la interfície
1 - Configureu un nou projecte LoRa
Premeu la icona d'engranatge per obrir la configuració del projecte
Pas 4: afegiu un indicador
2) Obriu el control lliscant de l'indicador.
· 3) Desplaceu-vos fins al GPS.
· 4) Afegiu-ne un a l'escriptori.
Pas 5: arrossegueu el GPS Gauge i afegiu OpenStreetMap
· 5) Afegiu el mapa OpenStreetMap al taulell
En arrossegar el component GPS al mapa d’icones, es genera un mapa d’OpenStreet.
Creeu la interfície
· 6) Canviar l'actualització del mapa
Canvieu el temps d’actualització del mapa de 5000 a 10000
Pas 6: arrossegueu l'indicador GPS i afegiu el registre de la taula
· 7) Afegiu un indicador de registre de taula.
En arrossegar l’indicador per sobre de la taula d’icones GPS es crea el registre de la taula d’indicadors
· 8) Canvieu l'actualització del registre de la taula. Canvieu el temps d’actualització del mapa de 5000 a 10000
Ajusteu la posició dels indicadors
· 9) Els indicadors d'arrossegament ajusten la posició dels indicadors arrossegant-los per la pantalla.
· 10) Desa el projecte
Pas 7: Obteniu el codi
10) Activeu el contenidor de codi
Feu clic al botó superior dret, seleccioneu-ho tot i copieu el codi base.
Pas 8: Arduino IDE
· 11) Enganxa el codi a Arduino IDE
· 12) Edita el codi Afegiu aquesta línia a la definició
Pas 9: detalls de codificació
Afegiu aquesta línia a la definició
//*************************************************************************
// ** BIBLIOTECA ** // ****************************************** *********************************
#include // ++ Biblioteca GPS
#include // ++ Biblioteca SPI #include
// ++ biblioteca SD //
*************************************************************************
//** SD ** //***************************************** *********************************
// * Targeta SD connectada al bus SPI de la següent manera:
// ** UNO: MOSI - pin 11, MISO - pin 12, CLK - pin 13, CS - pin 4
// (el pin CS es pot canviar) i el pin # 10 (SS) ha de ser una sortida
// ** Mega: MOSI - pin 51, MISO - pin 50, CLK - pin 52, CS - pin 53
// (el PIN CS es pot canviar) i el PIN # 52 (SS) ha de ser una sortida
// ** Leonardo: connecteu-vos al maquinari SPI mitjançant la capçalera ICSP
// Pin 4 utilitzat aquí per a la coherència amb altres exemples d'Arduino const int chipSelect = 53;
// ++ Selector de pin SD
//*************************************************************************
// ** GPS ** // ****************************************** *********************************
TinyGPS gps; // ++ GPS a Serial2
void gpsdump (TinyGPS & gps); // ++
bool newdataGPS = false; // ++
Afegiu aquesta línia a la configuració ()
//***********************************************************************
// ** Configuració sèrie GPS ** // **************************************** *********************************
Serial2.begin (9600); // ++
retard (1000); // ++
//***********************************************************************
// ** Inicialització SD ** // ***************************************** ********************************
// assegureu-vos que el pin de selecció de xip per defecte estigui definit a // ++
// sortida, encara que no l'utilitzeu: // ++
pinMode (SS, OUTPUT); // ++
Serial.println (F ("Inicialització de la targeta SD …")); // ++
// veure si la targeta és present i es pot inicialitzar: // ++
if (! SD.begin (chipSelect)) {// ++
Serial.println (F ( La targeta ha fallat o no està present))); // ++
// no facis res més: // ++
tornar; // ++
} else {// ++
Serial.println (F ("La targeta SD està bé")); // ++
} // ++
Afegiu aquestes línies a bucle () void
serialEvent2 (); // + + Esdeveniment serial GPS de trucades
Afegiu el codi SeriaEvent2
//*************************************************************************
// ** GPS serialEvent ** // ***************************************** **********************************
void serialEvent2 () {// ++
while (Serial2.available ()) {// ++
char c = Serial2.read (); // ++
//Serial.print(c); // descomenta per veure dades GPS crues // ++
if (gps.encode (c)) {// ++
newdataGPS = true; // ++
trencar; // descomenta per imprimir dades noves immediatament. // ++
} // ++
} // ++
} // ++
Afegiu el buidatge GPS voud
//*************************************************************************
// ** abocament de gps ** // ***************************************** **********************************
// ** L'interval de latitud vàlid en graus és -90 i +90. **
// ** La longitud es troba entre -180 i +180 **
// ** especificant la posició est-oest **
//** "123456789 1234567890" **
//** "000.00000;0000.00000" ** //*************************************************************************
void gpsdump (TinyGPS i gps) // ++
{ // ++
int any; // ++
bytes mes, dia, hora, minut, segon, centèsimes; // ++
llarga edat sense signar; // ++
gps.f_get_position (& LATGP00, & LONGP00, & age); // ++
gps.crack_datetime (& any, & mes, & day, & hour, // ++
& minute, & second, & centèsimes, & age); // ++
llarg lat, lon; // ++
gps.get_position (& lat, & lon, & age); // ++
// *********************************************************************
// ** fes una cadena per reunir les dades al registre: **
// *********************************************************************
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 (month)); // ++
dataString + = "/"; // ++
dataString + = String (any); // ++
dataString + = ";"; // ++
dataString + = String (static_cast (hour)); // ++
dataString + = ":"; // ++
dataString + = String (static_cast (minute)); // ++
dataString + = ":"; // ++
dataString + = String (static_cast (second)); // ++ // ********************************************* *****************************
// ** DESA A SD ** // **************************************** ***********************************
// obriu el fitxer. Tingueu en compte que només es pot obrir un fitxer alhora, **
// per tant, heu de tancar-la abans d’obrir-ne una altra. ** // *********************************************** ***************************
Fitxer dataFile = SD.open ("gps00.txt", FILE_WRITE); // ++
// ***********************************************************************
// ** si el fitxer està disponible, escriviu-hi: **
// ***********************************************************************
if (fitxer de dades) {// ++
dataFile.println (dataString); // ++
dataFile.close (); // ++
} else {// ++
Serial.println (F ("ERROR SD Write")); // ++
} // ++
}
Si voleu descarregar el codi, visiteu aquesta pàgina.
Recomanat:
Arduino - Robot de solució de laberint (MicroMouse) Robot de seguiment de paret: 6 passos (amb imatges)
Arduino | Maze Solving Robot (MicroMouse) Wall Following Robot: Benvingut sóc Isaac i aquest és el meu primer robot "Striker v1.0". Aquest robot va ser dissenyat per resoldre un simple laberint. A la competició vam tenir dos laberints i el robot els va poder identificar. Qualsevol altre canvi al laberint pot requerir un canvi en el
Solució del problema del controlador / port sèrie USB del Mac Lilypad: 10 passos (amb imatges)
Solució del problema del controlador / port sèrie USB del Mac Lilypad: a partir de 2016, el vostre Mac té menys de 2 anys? Heu actualitzat recentment el sistema operatiu més recent (Yosemite o alguna cosa més recent)? Ja no funcionen els vostres USB / MP3 Lilypad? El tutorial us mostrarà com he solucionat el meu Lilypad USB. L’error que he trobat estava relacionat
Seguiment i seguiment de botigues petites: 9 passos (amb imatges)
Track & trace per a botigues petites: es tracta d’un sistema dissenyat per a petites botigues que se suposa que es munta en bicicletes elèctriques o patinets electrònics per a lliuraments a curt abast, per exemple, una fleca que vulgui lliurar pastes. Què significa Track and Trace? Track and trace és un sistema utilitzat per ca
Kits de cotxes de seguiment de robots intel·ligents de bricolatge Seguiment fotosensible del cotxe: 7 passos
Kits de cotxes de seguiment de robots intel·ligents de bricolatge Seguiment del cotxe fotosensible: dissenyat per SINONING ROBOT Podeu comprar amb el robot de seguiment El xip LM393 compara els dos fotoresistors, quan hi ha un LED de fotoresistència lateral en BLANC, el costat del motor s'aturarà immediatament, l'altre costat del motor girar, de manera que
Ús del sensor d'empremta digital per a l'assistència al temps en combinació amb la solució XAMP: 6 passos (amb imatges)
Ús del sensor d’empremta digital per a l’assistència de temps en combinació amb la solució XAMP: per a un projecte escolar, buscàvem una solució sobre com fer un seguiment de l’assistència dels estudiants. Molts dels nostres estudiants arriben tard. És una feina tediosa comprovar la seva presència. D'altra banda, hi ha molta discussió perquè els estudiants sovint diran