Turinys:
- 1 žingsnis: pastatykite bazinę stotį
- 2 žingsnis: pirmasis bandymas
- 3 žingsnis: sukurkite sąsają
- 4 žingsnis: pridėkite matuoklį
- 5 veiksmas: vilkite GPS matuoklį ir pridėkite „OpenStreetMap“
- 6 veiksmas: vilkite GPS matuoklį ir pridėkite lentelės žurnalą
- 7 žingsnis: Gaukite kodą
- 8 žingsnis: „Arduino IDE“
- 9 žingsnis: Išsami kodavimo informacija
Video: „Arduino“projektas: „LoRa“modulio RF1276 bandymo diapazonas GPS sekimui Sprendimas: 9 žingsniai (su paveikslėliais)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Prijungimas: USB - nuoseklus
Reikia: „Chrome“naršyklės
Reikia: 1 X „Arduino Mega“
Reikia: 1 X GPS
Reikia: 1 x SD kortelės
Reikia: 2 X „LoRa“modemo RF1276
Funkcija: „Arduino“Siųsti GPS reikšmę į pagrindinę bazę-Pagrindinė bazė saugo duomenis „Dataino Server Lora“modulyje: Itin ilgas diapazonas RF1276 iš APPCONWIRELESS LoRa yra nauja, privati ir išplėstinio spektro moduliavimo technika, leidžianti siųsti duomenis itin mažu duomenų perdavimo greičiu ilgi atstumai. Mažas duomenų perdavimo greitis (iki kelių baitų per sekundę) ir „LoRa“moduliacija lemia labai mažą imtuvo jautrumą, todėl šiame bandyme reiškia daugiau nei 10 km.
1 žingsnis: pastatykite bazinę stotį
Prie kompiuterio prijungtas kompiuterio pločio interneto ryšys ir „LoRa“modemas.
„Arduino“automobilių rinkinys ·
Metrinė dėžutė
„Anduino Mega“prijungtas prie 2 serijos prie GPS imtuvo ir 1 serijos prie „LoRa“modemo. SD kortelė naudojama duomenims saugoti.
2 žingsnis: pirmasis bandymas
· 10,6 km kelyje per miesto centrus, galerijas ir palei pakrantę, padarytą kilpomis
Priėmimo /perdavimo santykis buvo 321 /500TX taškas
RX taškas
3 žingsnis: sukurkite sąsają
1 - Sukurkite naują projektą „LoRa“
Norėdami atidaryti projekto konfigūraciją, paspauskite piktogramą „Cog“
4 žingsnis: pridėkite matuoklį
2) Atidarykite matuoklio slankiklį.
· 3) Pereikite prie GPS.
· 4) Pridėkite vieną prie stalo.
5 veiksmas: vilkite GPS matuoklį ir pridėkite „OpenStreetMap“
· 5) Pridėkite „OpenStreetMap“žemėlapį prie stalo
Vilkiant GPS komponentą piktogramų žemėlapyje, sukuriamas „OpenStreet“žemėlapis.
Sukurkite sąsają
· 6) Pakeiskite žemėlapio atnaujinimą
Pakeiskite žemėlapio atnaujinimo laiką nuo 5000 iki 10000
6 veiksmas: vilkite GPS matuoklį ir pridėkite lentelės žurnalą
· 7) Pridėkite lentelės žurnalo matuoklį.
Vilkiant matuoklį virš GPS piktogramų lentelės, sukuriamas matuoklio lentelės žurnalas
· 8) Keisti lentelės žurnalo atnaujinimą. Pakeiskite žemėlapio atnaujinimo laiką nuo 5000 iki 10000
Sureguliuokite matuoklių padėtį
· 9) Vilkimo matuokliai sureguliuoja matuoklių padėtį vilkdami juos per ekraną.
· 10) Išsaugoti projektą
7 žingsnis: Gaukite kodą
10) Suaktyvinkite kodo talpyklą
Mygtukas viršuje dešinėje, pasirinkite viską ir nukopijuokite pagrindinį kodą.
8 žingsnis: „Arduino IDE“
· 11) Įklijuokite kodą „Arduino IDE“
· 12) Redaguoti kodą Įtraukite šią eilutę į apibrėžimą
9 žingsnis: Išsami kodavimo informacija
Įtraukite šią eilutę į apibrėžimą
//*************************************************************************
// ** BIBLIOTEKA ** // **************************************** ********************************
#include // ++ GPS biblioteka
#įtraukimas // ++ SPI biblioteka #įtraukimas
// ++ SD biblioteka //
*************************************************************************
// ** SD ** // **************************************** ********************************
// * SD kortelė, prijungta prie SPI magistralės taip:
// ** UNO: MOSI - 11 kaištis, MISO - 12 kaištis, CLK - 13 kaištis, CS - 4 kaištis
// (CS kaištį galima pakeisti) ir kaištis #10 (SS) turi būti išvestis
// ** Mega: MOSI - 51 kaištis, MISO - 50 kaištis, CLK - 52 kaištis, CS - 53 kaištis
// (CS kaištį galima pakeisti) ir kaištis #52 (SS) turi būti išvestis
// ** „Leonardo“: prisijunkite prie aparatinės įrangos SPI per ICSP antraštę
// Čia naudojamas 4 kaištis, siekiant nuoseklumo su kitais „Arduino“pavyzdžiais const int chipSelect = 53;
// ++ SD kaiščio parinkiklis
//*************************************************************************
// ** GPS ** // **************************************** ********************************
„TinyGPS“GPS; // ++ GPS Serial2
void gpsdump („TinyGPS & gps“); // ++
bool newdataGPS = klaidinga; // ++
Pridėkite šią eilutę prie sąrankos ()
//***********************************************************************
// ** GPS serijos sąranka ** // *************************************** ********************************
Serial2.begin (9600); // ++
vėlavimas (1000); // ++
//***********************************************************************
// ** SD inicijavimas ** // *************************************** *******************************
// įsitikinkite, kad numatytasis lusto pasirinkimo kaištis nustatytas į // ++
// išvestis, net jei jos nenaudojate: // ++
pinMode (SS, OUTPUT); // ++
Serial.println (F ("SD kortelės inicijavimas …")); // ++
// pažiūrėkite, ar kortelė yra ir ar ją galima inicijuoti: // ++
if (! SD.begin (chipSelect)) {// ++
Serial.println (F („Kortelė nepavyko arba jos nėra“)); // ++
// daugiau nieko nedaryk: // ++
grįžti; // ++
} kitas {// ++
Serial.println (F („SD kortelė OK“)); // ++
} // ++
Pridėkite šias eilutes į loop () void
serialEvent2 (); // ++ skambinti GPS serijiniu įvykiu
Pridėkite „SeriaEvent2“kodą
//*************************************************************************
// ** GPS serialEvent ** // *************************************** ********************************
void serialEvent2 () {// ++
tuo tarpu (Serial2.available ()) {// ++
char c = Serial2.read (); // ++
// Serijos.spaudas (c); // atšaukti, kad pamatytumėte neapdorotus GPS duomenis // ++
jei (gps.kodas (c)) {// ++
newdataGPS = tiesa; // ++
pertrauka; // nekomentuokite nedelsiant spausdinti naujus duomenis! // ++
} // ++
} // ++
} // ++
Pridėti GPS iškėlimą
//*************************************************************************
// ** gps dump ** // **************************************** ********************************
// ** Galiojantis platumos diapazonas laipsniais yra -90 ir +90. **
// ** Ilguma yra -180 ir +180 diapazone **
// ** nurodant rytų-vakarų padėtį **
//** "123456789 1234567890" **
//** "000.00000;0000.00000" ** //*************************************************************************
void gpsdump („TinyGPS & gps“) // ++
{ // ++
int metai; // ++
baitas mėnuo, diena, valanda, minutė, antra, šimtosios; // ++
nepasirašytas ilgas amžius; // ++
gps.f_get_position (& LATGP00, & LONGP00 ir amžius); // ++
gps.crack_datetime (ir metai, ir mėnuo, ir diena, ir valanda, // ++
& minutė, antra, šimtosios ir amžius); // ++
ilgas lat, lon; // ++
gps.get_position (& lat, & lon, & age); // ++
// *********************************************************************
// ** sukurkite eilutę duomenų surinkimui į žurnalą: **
// *********************************************************************
Eilutės duomenysString = ""; // ++
dataString += (lat / 100000); // ++
duomenų eilutė += "."; // ++
dataString += lat - (lat / 100000) * 100000; // ++
duomenų eilutė += ";"; // ++
dataString += (lon / 100000); // ++
duomenų eilutė += "."; // ++
dataString += lon - (lon / 100000) * 100000; // ++
duomenų eilutė += ";"; // ++
dataString += String (static_cast (diena)); // ++
dataString += "/"; // ++
dataString += String (static_cast (mėnuo)); // ++
dataString += "/"; // ++
dataString += Styga (metai); // ++
duomenų eilutė += ";"; // ++
dataString += String (static_cast (valanda)); // ++
dataString += ":"; // ++
dataString += String (static_cast (minute)); // ++
dataString += ":"; // ++
dataString += String (static_cast (antras)); // ++ // ******************************************* *****************************
// ** SAVE TO SD ** // ************************************** *********************************
// atidaryti failą. atminkite, kad vienu metu galima atidaryti tik vieną failą, **
// taigi, prieš atidarydami kitą, turite uždaryti šį. ** // ********************************************* ***************************
Failo duomenysFailas = SD.open ("gps00.txt", FILE_WRITE); // ++
// ***********************************************************************
// ** jei failas yra, parašykite jam: **
// ***********************************************************************
jei (dataFile) {// ++
dataFile.println (dataString); // ++
dataFile.close (); // ++
} kitas {// ++
Serial.println (F ("ERROR SD Write")); // ++
} // ++
}
Jei norite atsisiųsti kodą, apsilankykite šiame puslapyje.
Rekomenduojamas:
Nešiojamojo kompiuterio CMOS akumuliatoriaus problemos sprendimas: 7 žingsniai (su paveikslėliais)
Išspręskite nešiojamojo kompiuterio CMOS akumuliatoriaus problemą: vieną dieną neišvengiama atsitiks jūsų kompiuteryje, CMOS akumuliatorius sugenda. Tai gali būti diagnozuota kaip įprasta priežastis, dėl kurios kompiuteris turi iš naujo įvesti laiką ir datą kiekvieną kartą, kai kompiuteris praranda maitinimą. Jei nešiojamojo kompiuterio baterija išsikrovusi ir
ESP32 Su E32-433T „LoRa“modulio pamoka - „LoRa Arduino“sąsaja: 8 žingsniai
ESP32 Su E32-433T „LoRa“modulio pamoka | „LoRa Arduino“sąsaja: Ei, kas vyksta, vaikinai! Akarsh čia iš „CETech“. Šis mano projektas sujungia „eByte“„E32 LoRa“modulį, kuris yra didelės galios 1 vatų siųstuvo-imtuvo modulis su ESP32, naudojant „Arduino IDE“. Mes supratome E32 veikimą paskutinėje pamokoje
E32-433T „LoRa“modulio pamoka - „Pasidaryk pats“E32 modulio lenta: 6 žingsniai
E32-433T „LoRa“modulio pamoka | „Pasidaryk pats“E32 modulio lenta: Ei, kas vyksta, vaikinai! Akarsh čia iš „CETech“. Šis mano projektas yra daugiau mokymosi kreivė, skirta suprasti „E32 LoRa“modulio iš „eByte“, kuris yra didelės galios 1 vatų siųstuvo-imtuvo modulis, veikimą. Kai suprasime darbą, turiu dizainą
Paprastas „Uldar“apdorojimas (ultragarsinis aptikimas ir diapazonas): 3 žingsniai
Paprastas apdorojimo Uldar (ultragarsinis aptikimas ir diapazonas): Tai yra paprastas projektas, kuriame naudojamas „Arduino UNO“ir „Processing“, kad būtų sukurtas paprastas „lidar“. Lidar (taip pat vadinamas LIDAR, LiDAR ir LADAR) yra tyrimo metodas, kuriuo matuojamas atstumas iki taikinio apšviečiant taikinys impulsine lazerio šviesa ir matavimu
Didelio nuotolio belaidis vandens lygio indikatorius su aliarmu - Diapazonas iki 1 km - Septyni lygiai: 7 žingsniai
Didelio nuotolio belaidis vandens lygio indikatorius su aliarmu | Diapazonas iki 1 km | Septyni lygiai: žiūrėkite „Youtube“: https://youtu.be/vdq5BanVS0YGalbūt matėte daug laidinio ir belaidžio vandens lygio indikatorių, kurie užtikrintų atstumą iki 100–200 metrų. Tačiau šioje pamokoje pamatysite ilgo nuotolio belaidžio vandens lygio indikatorių