Përmbajtje:

Projekti Arduino: Gama e Testit LoRa Moduli RF1276 për Zgjidhjen e Gjurmimit GPS: 9 hapa (me fotografi)
Projekti Arduino: Gama e Testit LoRa Moduli RF1276 për Zgjidhjen e Gjurmimit GPS: 9 hapa (me fotografi)

Video: Projekti Arduino: Gama e Testit LoRa Moduli RF1276 për Zgjidhjen e Gjurmimit GPS: 9 hapa (me fotografi)

Video: Projekti Arduino: Gama e Testit LoRa Moduli RF1276 për Zgjidhjen e Gjurmimit GPS: 9 hapa (me fotografi)
Video: Высокая плотность 2022 2024, Dhjetor
Anonim
Projekti Arduino: Gama e Testit LoRa Moduli RF1276 për Zgjidhjen e Gjurmimit GPS
Projekti Arduino: Gama e Testit LoRa Moduli RF1276 për Zgjidhjen e Gjurmimit GPS

Lidhja: USB - Serial

Nevojë: Shfletuesi Chrome

Nevojë: 1 X Arduino Mega

Nevojë: 1 X GPS

Nevoja: 1 kartë SD SD

Nevojë: 2 X Modem LoRa RF1276

Funksioni: Arduino Dërgo vlerën e GPS në bazën kryesore-Të dhënat kryesore të ruajtura në Dataino Server Lora Moduli: Gama ultra e gjatë RF1276 nga APPCONWIRELESS LoRa është një teknikë e re, moduluese e spektrit të përhapur, e cila lejon dërgimin e të dhënave me ritme jashtëzakonisht të ulëta të të dhënave në jashtëzakonisht rreze të gjata. Shkalla e ulët e të dhënave (deri në disa bajtë për sekondë) dhe modulimi i LoRa çojnë në ndjeshmëri shumë të ulët të marrësit, do të thotë në këtë test do të thotë më shumë se 10 km.

Hapi 1: Ndërtimi i Stacionit Bazë

Ndërtimi i Stacionit Bazë
Ndërtimi i Stacionit Bazë
Ndërtimi i Stacionit Bazë
Ndërtimi i Stacionit Bazë

Lidhje interneti me gjerësi kompjuterike dhe një modem LoRa i lidhur në portën USB.

Kompleti i makinave Arduino ·

Kutia metrike

Anduino Mega i lidhur me serialin 2 me marrësin GPS, dhe serialin me modemin LoRa. Një kartë SD përdoret për ruajtjen e të dhënave.

Hapi 2: Testi i parë

Testi i Parë
Testi i Parë

· 10.6 Km në një shteg nëpër qendrat urbane, galeritë dhe përgjatë bregdetit të bëra me sythe

Raporti i pritjes /transmetimit ka qenë 321 /500TX pikë

Pika RX

Hapi 3: Krijoni ndërfaqen

Krijoni Ndërfaqen
Krijoni Ndërfaqen
Krijoni Ndërfaqen
Krijoni Ndërfaqen

1 - Krijoni një projekt të ri LoRa

Shtypni cog ikonën për të hapur konfigurimin e projektit

Hapi 4: Shtoni matës

Shto matës
Shto matës

2) Hapni rrëshqitësin e matësit.

· 3) Shkoni te GPS.

· 4) Shtoni një në tavolinë.

Hapi 5: Tërhiqni GPS Matësin dhe Shtoni OpenStreetMap

Tërhiqni GPS Matësin dhe Shtoni OpenStreetMap
Tërhiqni GPS Matësin dhe Shtoni OpenStreetMap
Tërhiqni GPS Matësin dhe Shtoni OpenStreetMap
Tërhiqni GPS Matësin dhe Shtoni OpenStreetMap

· 5) Shtoni hartën e OpenStreetMap në tavolinë

Duke tërhequr përbërësin GPS në hartën e ikonave, krijohet harta OpenStreet.

Krijoni Ndërfaqen

· 6) Ndrysho rifreskimin e hartës

Ndryshoni kohën e rifreskimit të hartës nga 5000 në 10000

Hapi 6: Tërhiqni matësin GPS dhe shtoni regjistrin e tabelës

Tërhiqni GPS Matësin dhe Shtoni Regjistrin e Tabelave
Tërhiqni GPS Matësin dhe Shtoni Regjistrin e Tabelave

· 7) Shtoni një matës të regjistrit të tabelës.

Duke tërhequr matësin mbi tabelën e ikonave GPS krijohet regjistri i tabelës së matësit

· 8) Ndrysho rifreskimin e regjistrit të tabelës. Ndryshoni kohën e rifreskimit të hartës nga 5000 në 10000

Rregulloni pozicionin e matësve

· 9) Matësit e tërheqjes rregullojnë pozicionin e matësve duke i tërhequr ato nëpër ekran.

· 10) Ruaj projektin

Hapi 7: Merrni Kodin

Merr kodin
Merr kodin

10) Aktivizoni enën e kodit

Butoni në butonin lart djathtas, zgjidhni të gjithë dhe kopjoni kodin bazë.

Hapi 8: Arduino IDE

Arduino IDE
Arduino IDE

· 11) Ngjisni kodin në Arduino IDE

· 12) Ndrysho kodin Shtoni këtë linjë në përkufizim

Hapi 9: Detajet e kodimit

Shtoni këtë rresht në përkufizim

//*************************************************************************

//** LIBRARI ** //***************************************** *******************************

#include // ++ bibliotekën GPS

#përfshije // ++ bibliotekën SPI #përfshi

// ++ biblioteka SD //

*************************************************************************

// ** SD ** // ************************************** *******************************

// * Karta SD e bashkangjitur në autobusin SPI si më poshtë:

// ** UNO: MOSI - pin 11, MISO - pin 12, CLK - pin 13, CS - pin 4

// (Pina CS mund të ndryshohet) dhe kunja #10 (SS) duhet të jetë një dalje

// ** Mega: MOSI - pin 51, MISO - pin 50, CLK - pin 52, CS - pin 53

// (Pina CS mund të ndryshohet) dhe kunja #52 (SS) duhet të jetë një dalje

// ** Leonardo: Lidhu me SPI të harduerit përmes kokës së ICSP

// Pin 4 i përdorur këtu për konsistencë me shembujt e tjerë të Arduino const int chipSelect = 53;

// ++ Zgjedhësi i kunjave SD

//*************************************************************************

// ** GPS ** // ************************************** *******************************

GPS TinyGPS; // ++ GPS në Serial2

zbraz gpsdump (TinyGPS & gps); // ++

bool newdataGPS = false; // ++

Shtoni këtë rresht në konfigurim ()

//***********************************************************************

// ** Konfigurimi i serisë GPS ** // ************************************* *******************************

Serial2.fill (9600); // ++

vonesa (1000); // ++

//***********************************************************************

// ** Fillimi i SD ** // ************************************ ******************************

// sigurohuni që kodi i zgjedhur i përzgjedhjes së çipit të jetë vendosur në // ++

// dalje, edhe nëse nuk e përdorni: // ++

pinMode (SS, OUTPUT); // ++

Serial.println (F ("Fillimi i kartës SD …")); // ++

// shikoni nëse karta është e pranishme dhe mund të inicializohet: // ++

nëse (! SD.filloj (chipSelect)) {// ++

Serial.println (F ("Karta dështoi, ose nuk është e pranishme")); // ++

// mos bëni asgjë më shumë: // ++

kthim; // ++

} tjetër {// ++

Serial.println (F ("Karta SD në rregull")); // ++

} // ++

Shtoni këto rreshta në loop () void

serialEvent2 (); // ++ ngjarje serike e thirrjes GPS

Shtoni kodin SeriaEvent2

//*************************************************************************

// ** GPS serialEvent ** ** ************************************* *******************************

void serialEvent2 () {// ++

ndërsa (Serial2.disponueshëm ()) {// ++

char c = Serial2.read (); // ++

//Serial.print(c); // mos komentoni për të parë të dhëna të papërpunuara GPS // ++

nëse (gps.enkodi (c)) {// ++

newdataGPS = e vërtetë; // ++

pushim; // mos komentoni të printoni të dhëna të reja menjëherë! // ++

} // ++

} // ++

} // ++

Shto zhurmë GPS me zë

//*************************************************************************

// ** gps dump ** // ************************************* *******************************

// ** Gama e vlefshme e gjerësisë gjeografike në gradë është -90 dhe +90. **

// ** Gjatësia gjeografike është në rangun -180 dhe +180 **

// ** duke specifikuar pozicionin lindje-perëndim **

//** "123456789 1234567890" **

//** "000.00000;0000.00000" ** //*************************************************************************

pavlefshme gpsdump (TinyGPS & gps) // ++

{ // ++

viti int; // ++

bajt muaj, ditë, orë, minutë, sekondë, të qindtat; // ++

moshë e gjatë e panënshkruar; // ++

gps.f_get_position (& LATGP00, & LONGP00, & mosha); // ++

gps.crack_datetime (& vit, & muaj, & ditë, & orë, // ++

& minutë, & e dyta, & qindtat, & mosha); // ++

gjatë lat, lon; // ++

gps.get_position (& lat, & lon, & age); // ++

// *********************************************************************

// ** bëni një varg për montimin e të dhënave në regjistër: **

// *********************************************************************

String dataString = ""; // ++

dataString += (lat / 100000); // ++

dataString += "."; // ++

dataString += lat - (lat / 100000) * 100000; // ++

dataString += ";"; // ++

dataString += (lon / 100000); // ++

dataString += "."; // ++

DataString += lon - (lon / 100000) * 100000; // ++

dataString += ";"; // ++

dataString += String (transmetim statik (ditë)); // ++

dataString += "/"; // ++

dataString += String (transmetim statik (muaj)); // ++

dataString += "/"; // ++

dataString += String (viti); // ++

dataString += ";"; // ++

dataString += String (transmetim statik (orë)); // ++

dataString += ":"; // ++

dataString += String (transmetim statik (minutë)); // ++

dataString += ":"; // ++

dataString += String (transmetim statik (i dyti)); // ++ // ***************************************** ****************************

// ** Kurseni në SD ** // ************************************ ********************************

// hap skedarin. vini re se vetëm një skedar mund të jetë i hapur në të njëjtën kohë, **

// kështu që ju duhet ta mbyllni këtë para se të hapni një tjetër. ** // ****************************************** **************************

File dataFile = SD.open ("gps00.txt", FILE_WRITE); // ++

// ***********************************************************************

// ** nëse skedari është i disponueshëm, shkruajini atij: **

// ***********************************************************************

if (dataFile) {// ++

dataFile.println (dataString); // ++

dataFile.close (); // ++

} tjetër {// ++

Serial.println (F ("ERROR SD Shkruaj")); // ++

} // ++

}

Nëse dëshironi të shkarkoni kodin, ju lutemi vizitoni këtë faqe.

Recommended: