INHOUDSOPGAWE:
- Stap 1: Bou basisstasie
- Stap 2: Die eerste toets
- Stap 3: Skep die koppelvlak
- Stap 4: Voeg meter by
- Stap 5: Sleep Gauge GPS en voeg OpenStreetMap by
- Stap 6: Sleep GPS -meter en voeg tabellogboek by
- Stap 7: Kry kode
- Stap 8: Arduino IDE
- Stap 9: Koderingsbesonderhede
Video: Arduino -projek: toetsreeks LoRa -module RF1276 vir GPS -opsporingsoplossing: 9 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
Verbinding: USB - Reeks
Benodig: Chrome -blaaier
Benodig: 1 X Arduino Mega
Benodig: 1 X GPS
Benodig: 1 X SD -kaart
Benodig: 2 X LoRa -modem RF1276
Funksie: Arduino Stuur GPS-waarde na die hoofbasis-Hoofbasis stoor data in Dataino Server Lora-module: Ultra lang afstand RF1276 van APPCONWIRELESS LoRa is 'n nuwe, private en verspreidingspektrum modulasietegniek waarmee data teen uiters lae datatempo's na uiters lae data gestuur kan word lang afstande. Die lae datatempo (tot 'n paar grepe per sekonde) en LoRa-modulasie lei tot 'n baie lae ontvangergevoeligheid, wat beteken dat hierdie toets meer as 10km beteken.
Stap 1: Bou basisstasie
Rekenaarwydte internetverbinding en 'n LoRa -modem wat op 'n USB -poort gekoppel is.
Arduino Car Kit ·
Die metrieke boks
Anduino Mega is gekoppel aan reeks 2 aan die GPS -ontvanger en Serial 1 aan die LoRa -modem. 'N SD -kaart word gebruik vir stoor data.
Stap 2: Die eerste toets
· 10,6 km op 'n pad deur stedelike sentrums, galerye en langs die kus met lusse
Die verhouding van ontvangs /versending was 321 /500TX punt
RX punt
Stap 3: Skep die koppelvlak
1 - Stel 'n nuwe projek LoRa op
Druk op die ikoon om die konfigurasie van die projek oop te maak
Stap 4: Voeg meter by
2) Maak die maatskyfie oop.
· 3) Blaai na die GPS.
· 4) Voeg een by die lessenaar.
Stap 5: Sleep Gauge GPS en voeg OpenStreetMap by
· 5) Voeg OpenStreetMap -kaart by die lessenaar
Deur die komponent -GPS op die ikoonkaart te sleep, word OpenStreet -kaart gegenereer.
Skep die koppelvlak
· 6) Verander kaartverfris
Verander die herlaai -tyd van die kaart van 5000 na 10000
Stap 6: Sleep GPS -meter en voeg tabellogboek by
· 7) Voeg 'n tabel log meter by.
Deur die meter bo die GPS -ikoon -tabel te sleep, word 'n metertabel -log geskep
· 8) Verander die tabelopdatering. Verander die herlaai -tyd van die kaart van 5000 na 10000
Pas die posisie van die meters aan
· 9) Sleepmeters pas die posisie van die meters aan deur dit oor die skerm te sleep.
· 10) Stoor projek
Stap 7: Kry kode
10) Aktiveer kodehouer
Knoppie regs bo, kies alles en kopieer die basiskode.
Stap 8: Arduino IDE
· 11) Plak kode op Arduino IDE
· 12) Wysig kode Voeg hierdie reël by in die definisie
Stap 9: Koderingsbesonderhede
Voeg hierdie reël by in die definisie
//*************************************************************************
// ** BIBLIOTEKE ********************************
#sluit // ++ GPS -biblioteek in
#include // ++ SPI biblioteek #include
// ++ SD biblioteek //
*************************************************************************
// ** SD ** // ***************************************** ********************************
// * SD -kaart is soos volg aan die SPI -bus geheg:
// ** UNO: MOSI - pen 11, MISO - pen 12, CLK - pen 13, CS - pen 4
// (CS -pen kan verander word) en pen #10 (SS) moet 'n uitset wees
// ** Mega: MOSI - pen 51, MISO - pen 50, CLK - pen 52, CS - pen 53
// (CS -pen kan verander word) en pen #52 (SS) moet 'n uitset wees
// ** Leonardo: Koppel aan hardeware SPI via die ICSP -kop
// Speld 4 wat hier gebruik word om in ooreenstemming te wees met ander Arduino -voorbeelde const int chipSelect = 53;
// ++ SD -pen selekteerder
//*************************************************************************
// ** GPS ** // ***************************************** ********************************
TinyGPS gps; // ++ GPS op Serial2
leegte gpsdump (TinyGPS & gps); // ++
bool newdataGPS = vals; // ++
Voeg hierdie reël by die opstelling ()
//***********************************************************************
// ** Seriële opstelling van GPS ** // ************************************ ********************************
Reeks2. begin (9600); // ++
vertraging (1000); // ++
//***********************************************************************
// ** SD -inisialisering *******************************
// maak seker dat die standaard chip -kiespen op // ++ gestel is
// uitvoer, selfs as u dit nie gebruik nie: // ++
pinMode (SS, OUTPUT); // ++
Serial.println (F ("Initialiseer SD -kaart …")); // ++
// kyk of die kaart teenwoordig is en geïnisialiseer kan word: // ++
as (! SD.begin (chipSelect)) {// ++
Serial.println (F ("Kaart misluk, of nie teenwoordig nie")); // ++
// doen niks meer nie: // ++
terugkeer; // ++
} anders {// ++
Serial.println (F ("SD -kaart OK")); // ++
} // ++
Voeg hierdie reëls by lus () leeg
serialEvent2 (); // ++ oproep GPS -reeksgebeurtenis
Voeg SeriaEvent2 -kode by
//*************************************************************************
// ** GPS serialEvent ** // **************************************** ********************************
ongeldig serialEvent2 () {// ++
terwyl (Serial2.available ()) {// ++
char c = Serial2.read (); // ++
//Serial.print(c); // kommentaar om rou GPS -data te sien // ++
as (gps.kode (c)) {// ++
newdataGPS = waar; // ++
breek; // kommentaar lewer om nuwe data onmiddellik te druk! // ++
} // ++
} // ++
} // ++
Voeg GPS dump voud by
//*************************************************************************
// ** gps dump ** // **************************************** ********************************
// ** Die geldige breedtegraad in grade is -90 en +90. **
// ** Lengtegraad is in die reeks -180 en +180 **
// ** spesifiseer die oos-wes posisie **
//** "123456789 1234567890" **
//** "000.00000;0000.00000" ** //*************************************************************************
leegte gpsdump (TinyGPS en gps) // ++
{ // ++
int jaar; // ++
byte maand, dag, uur, minuut, sekonde, honderdstes; // ++
ongetekende lang ouderdom; // ++
gps.f_get_position (& LATGP00, & LONGP00, & age); // ++
gps.crack_datetime (& jaar, & maand, & dag, & uur, // ++
& minuut, & tweede, & honderdstes, & ouderdom); // ++
lang lat, lon; // ++
gps.get_position (& lat, & lon, & age); // ++
// *********************************************************************
// ** maak 'n string vir die samestelling van die data om aan te meld: **
// *********************************************************************
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 (dag)); // ++
dataString += "/"; // ++
dataString += String (static_cast (maand)); // ++
dataString += "/"; // ++
dataString += String (jaar); // ++
dataString += ";"; // ++
dataString += String (static_cast (uur)); // ++
dataString += ":"; // ++
dataString += String (static_cast (minuut)); // ++
dataString += ":"; // ++
dataString += String (static_cast (tweede)); // ++ // ******************************************** *****************************
// ** SAVE TO SD ** // *************************************** **********************************
// maak die lêer oop. let op dat slegs een lêer op 'n slag oop kan wees, **
// sodat u hierdie een moet sluit voordat u 'n ander een oopmaak. ** // ********************************************* ****************************
Lêer dataFile = SD.open ("gps00.txt", FILE_WRITE); // ++
// ***********************************************************************
// ** as die lêer beskikbaar is, skryf daaraan: **
// ***********************************************************************
as (dataFile) {// ++
dataFile.println (dataString); // ++
dataFile.close (); // ++
} anders {// ++
Serial.println (F ("ERROR SD Write")); // ++
} // ++
}
Besoek hierdie bladsy as u die kode wil aflaai.
Aanbeveel:
Xpedit - Toestemming vir atmosfeermonitering vir stap en trekking: 12 stappe (met foto's)
Xpedit - Atmosfeermonitoringsapparaat vir stap en trekking: as u van plan is om 'n avontuurlike reis of in die natuur te onderneem, is dit noodsaaklik om 'n toestel in u rugsak te hê wat u help om die omgewing te verstaan. Vir my komende avontuurreis was ek van plan om 'n draagbare toestel te bou wat help
Muurhouer vir iPad as bedieningspaneel vir tuisautomatisering, met behulp van servo -beheerde magneet om die skerm te aktiveer: 4 stappe (met foto's)
Muurhouer vir iPad as 'n bedieningspaneel vir tuisautomatisering, met behulp van 'n servo -beheerde magneet om die skerm te aktiveer: Ek het die afgelope tyd baie tyd spandeer om dinge in en om my huis te outomatiseer. Ek gebruik Domoticz as my Home Automation -toepassing, sien www.domoticz.com vir meer inligting. In my soeke na 'n dashboard -toepassing wat alle Domoticz -inligting saam wys
ForgetMeNot - platform vir kennisgewings vir slim huise: 14 stappe (met foto's)
ForgetMeNot - platform vir kennisgewings vir slim huise: As besige kollege studente wat rondloop tussen klasse, werk en gesinsverpligtinge, is ons geneig om die klein dingetjies te vergeet. 'N Verjaarsdag kom en gaan sonder dat ons dit agterkom, 'n belangrike sperdatum word misgeloop vanweë blote vergeetagtigheid en soms, net
Laserwyser vir brille gemonteer vir mense met bewegingsgestremdhede: 9 stappe (met foto's)
Laserwyser vir brille vir mense met bewegingsgestremdhede: Mense met ernstige bewegingsgestremdhede soos serebrale gestremdheid het dikwels ingewikkelde kommunikasiebehoeftes. Dit kan van hulle verwag word om borde met die alfabet te gebruik of woorde wat gereeld daarop gedruk word om kommunikasie te vergemaklik. Baie
VERDER DIE HORIZON MET LORa RF1276: 12 stappe
VERDER DIE HORIZON MET LORa RF1276: Ek het gevind dat RF1276 -ontvanger die beste prestasie lewer in terme van seinreeks en kwaliteit. Met my eerste vlug kon ek 'n afstand van 56 km bereik op -70dB seinvlak met klein kwartgolflengte -antennas