Përmbajtje:
- Hapi 1: Ndërtimi i Stacionit Bazë
- Hapi 2: Testi i parë
- Hapi 3: Krijoni ndërfaqen
- Hapi 4: Shtoni matës
- Hapi 5: Tërhiqni GPS Matësin dhe Shtoni OpenStreetMap
- Hapi 6: Tërhiqni matësin GPS dhe shtoni regjistrin e tabelës
- Hapi 7: Merrni Kodin
- Hapi 8: Arduino IDE
- Hapi 9: Detajet e kodimit
Video: Projekti Arduino: Gama e Testit LoRa Moduli RF1276 për Zgjidhjen e Gjurmimit GPS: 9 hapa (me fotografi)
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:24
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ë
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ë
· 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
1 - Krijoni një projekt të ri LoRa
Shtypni cog ikonën për të hapur konfigurimin e projektit
Hapi 4: Shtoni 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
· 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
· 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
10) Aktivizoni enën e kodit
Butoni në butonin lart djathtas, zgjidhni të gjithë dhe kopjoni kodin bazë.
Hapi 8: 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:
Arduino - Robot për zgjidhjen e labirintit (MicroMouse) Roboti pas murit: 6 hapa (me fotografi)
Arduino | Robot zgjidhës labirint (MicroMouse) Roboti që ndjek murin: Mirë se vini unë Isaku dhe ky është roboti im i parë " Sulmuesi v1.0 ". Ky Robot u krijua për të zgjidhur një labirint të thjeshtë. Në konkurs kishim dy labirintë dhe robotin ishte në gjendje t'i identifikonte ato. Çdo ndryshim tjetër në labirint mund të kërkojë një ndryshim në
Paketa e osciloskopit DIY - Udhëzuesi për montimin dhe zgjidhjen e problemeve: 10 hapa (me fotografi)
Paketa e osciloskopit DIY - Udhëzues për montimin dhe zgjidhjen e problemeve: Më duhet shumë shpesh, kur krijoj një vegël elektronike një oshiloskop për të vëzhguar praninë dhe formën e sinjaleve elektrike. Deri tani kam përdorur një oshiloskop CRT analog të vjetër sovjetik (viti 1988) me një kanal. Stillshtë ende funksionale
Përdorimi i sensorit të gjurmëve të gishtërinjve për pjesëmarrje në kohë në kombinim me zgjidhjen XAMP: 6 hapa (me fotografi)
Përdorimi i sensorit të gjurmëve të gishtërinjve për pjesëmarrjen në kohë në kombinim me zgjidhjen XAMP: Për një projekt shkollor, ne po kërkonim një zgjidhje se si të gjurmonim pjesëmarrjen e studentëve. Shumë nga studentët tanë vijnë me vonesë. Ashtë një punë e lodhshme që kontrollon praninë e tyre. Nga ana tjetër, ka shumë diskutime sepse studentët shpesh thonë
Shihni Zgjidhjen IoTea LoRa (Përditësimi 1811): 5 hapa
Shihet Zgjidhja IoTea LoRa (Përditësimi 1811): Internet+ është një koncept popullor tani. Këtë herë ne provuam internetin plus bujqësinë për të bërë kopshtin e çajit të rritet nga çaji i internetit
Pajisja e gjurmimit të papërpunuar nga një GPS dhe radiot me dy drejtime: 7 hapa
Pajisja e gjurmimit të papërpunuar nga një GPS dhe radiot me dy drejtime: Pra, doja të merrja një pajisje përcjellëse. Sapo shikova në treg, kuptova se çmimet për njërën nga ato gjëra fillojnë nga një krah dhe shkojnë deri në një këmbë ose më shumë! Çmenduria duhet të ndalet! Me siguri parimet e të diturit se ku kam diçka