Satura rādītājs:
- 1. darbība: bāzes stacijas izveide
- 2. solis: pirmais tests
- 3. darbība: izveidojiet saskarni
- 4. solis: pievienojiet mērierīci
- 5. darbība: velciet GPS un pievienojiet OpenStreetMap
- 6. darbība: velciet GPS mērītāju un pievienojiet tabulas žurnālu
- 7. darbība: iegūstiet kodu
- 8. darbība: Arduino IDE
- 9. darbība. Detalizēta kodēšanas informācija
Video: Arduino projekts: testa diapazona LoRa modulis RF1276 GPS izsekošanas risinājumam: 9 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
Savienojums: USB - seriāls
Nepieciešams: Chrome pārlūks
Nepieciešams: 1 X Arduino Mega
Nepieciešams: 1 X GPS
Nepieciešama: 1 X SD karte
Nepieciešams: 2 X LoRa modems RF1276
Funkcija: Arduino Nosūtīt GPS vērtību uz galveno bāzi-Galvenā bāze uzglabā datus Dataino Server Lora modulī: Īpaši liela diapazona RF1276 no APPCONWIRELESS LoRa ir jauna, privāta un izkliedēta spektra modulācijas tehnika, kas ļauj nosūtīt datus par ārkārtīgi zemu datu pārraides ātrumu gari diapazoni. Zemais datu pārraides ātrums (līdz dažiem baitiem sekundē) un LoRa modulācija noved pie ļoti zemas uztvērēja jutības, šajā testā nozīmē vairāk nekā 10 km.
1. darbība: bāzes stacijas izveide
Datora platuma interneta pieslēgums un LoRa modems, kas pievienots USB portam.
Arduino automašīnas komplekts ·
Metrikas kaste
Anduino Mega ir pievienots 2. sērijai ar GPS uztvērēju, bet 1. sērija - LoRa modemam. Datu glabāšanai tiek izmantota SD karte.
2. solis: pirmais tests
· 10,6 km ceļā caur pilsētas centriem, galerijām un gar krastu, kas veidots ar cilpām
Saņemšanas /pārraides attiecība ir bijusi 321 /500TX punkts
RX punkts
3. darbība: izveidojiet saskarni
1 - Izveidojiet jaunu projektu LoRa
Nospiediet ikonu zobrata, lai atvērtu projekta konfigurāciju
4. solis: pievienojiet mērierīci
2) Atveriet mērierīces slīdni.
· 3) Ritiniet līdz GPS.
· 4) Pievienojiet vienu galdam.
5. darbība: velciet GPS un pievienojiet OpenStreetMap
· 5) Pievienojiet OpenStreetMap karti pie galda
Velkot komponentu GPS ikonu kartē, tiek ģenerēta OpenStreet karte.
Izveidojiet saskarni
· 6) Mainīt kartes atsvaidzināšanu
Mainiet kartes atsvaidzināšanas laiku no 5000 uz 10000
6. darbība: velciet GPS mērītāju un pievienojiet tabulas žurnālu
· 7) Pievienojiet galda žurnāla mērītāju.
Velkot mērinstrumentu virs GPS ikonu tabulas, tiek izveidots mērinstrumentu tabulas žurnāls
· 8) Mainīt tabulas žurnāla atsvaidzināšanu. Mainiet kartes atsvaidzināšanas laiku no 5000 uz 10000
Pielāgojiet mērinstrumentu stāvokli
· 9) Velciet mērierīces, lai pielāgotu mērinstrumentu stāvokli, velkot tos pa ekrānu.
· 10) Saglabāt projektu
7. darbība: iegūstiet kodu
10) Aktivizējiet koda konteineru
Poga augšējā labajā stūrī, atlasiet visu un kopējiet bāzes kodu.
8. darbība: Arduino IDE
· 11) Ielīmējiet kodu Arduino IDE
· 12) Rediģēt kodu Pievienojiet šo rindu definīcijai
9. darbība. Detalizēta kodēšanas informācija
Pievienojiet šo rindiņu definīcijai
//*************************************************************************
// ** BIBLIOTĒKA ** // **************************************** ********************************
#include // ++ GPS bibliotēka
#iekļaut // ++ SPI bibliotēka #iekļaut
// ++ SD bibliotēka //
*************************************************************************
// ** SD ** // **************************************** ********************************
// * SD karte, kas pievienota SPI kopnei šādi:
// ** UNO: MOSI - 11. tapa, MISO - 12. tapa, CLK - 13. tapa, CS - 4. tapa
// (CS tapu var mainīt) un tapai #10 (SS) jābūt izvadam
// ** Mega: MOSI - 51. tapa, MISO - 50. tapa, CLK - 52. tapa, CS - 53. tapa
// (CS tapu var mainīt) un tapai #52 (SS) jābūt izvadam
// ** Leonardo: izveidojiet savienojumu ar aparatūras SPI, izmantojot ICSP galveni
// 4. pin, kas šeit izmantots konsekvencei ar citiem Arduino piemēriem const int chipSelect = 53;
// ++ SD tapas atlasītājs
//*************************************************************************
//** GPS ** //***************************************** ********************************
TinyGPS GPS; // ++ GPS Serial2
void gpsdump (TinyGPS & gps); // ++
bool newdataGPS = nepatiess; // ++
Pievienojiet šo rindu iestatīšanai ()
//***********************************************************************
// ** GPS sērijas iestatīšana ** // *************************************** ********************************
Serial2.begin (9600); // ++
kavēšanās (1000); // ++
//***********************************************************************
// ** SD inicializēšana ** // *************************************** *******************************
// pārliecinieties, vai noklusējuma mikroshēmas atlases tapa ir iestatīta uz // ++
// izvade, pat ja to neizmantojat: // ++
pinMode (SS, OUTPUT); // ++
Serial.println (F ("SD kartes inicializēšana …")); // ++
// pārbaudiet, vai karte ir pieejama un vai to var inicializēt: // ++
ja (! SD.begin (chipSelect)) {// ++
Serial.println (F ("Karte neizdevās vai nav klāt")); // ++
// neko vairāk nedari: // ++
atgriešanās; // ++
} cits {// ++
Serial.println (F ("SD karte OK")); // ++
} // ++
Pievienojiet šīs rindiņas cilpas () void
serialEvent2 (); // + + izsaukt GPS sērijas notikumu
Pievienojiet SeriaEvent2 kodu
//*************************************************************************
// ** GPS serialEvent ** // *************************************** ********************************
void serialEvent2 () {// ++
kamēr (Serial2.available ()) {// ++
char c = Sērijas2.lasījums (); // ++
//Sērijas.druka (c); // atteikšanās redzēt neapstrādātus GPS datus // ++
ja (gps.kodēt (c)) {// ++
newdataGPS = true; // ++
pārtraukums; // atteikšanās nekavējoties izdrukāt jaunus datus! // ++
} // ++
} // ++
} // ++
Pievienojiet GPS izgāztuvi
//*************************************************************************
// ** gps dump ** // **************************************** *********************************
// ** Derīgais platuma grādu diapazons ir -90 un +90. **
// ** Garums ir diapazonā no -180 līdz +180 **
// ** norādot austrumu-rietumu pozīciju **
//** "123456789 1234567890" **
//** "000.00000;0000.00000" ** //*************************************************************************
void gpsdump (TinyGPS & gps) // ++
{ // ++
int gads; // ++
baits mēnesis, diena, stunda, minūte, otrā, simtdaļas; // ++
neparakstīts ilgs vecums; // ++
gps.f_get_position (& LATGP00, & LONGP00 un vecums); // ++
gps.crack_datetime (& gads, & mēnesis, & diena, & stunda, // ++
& minūti, & otrais, & simtdaļas, & vecums); // ++
garš lat, lon; // ++
gps.get_position (& lat, & lon, & age); // ++
// *********************************************************************
// ** izveidojiet virkni datu apkopošanai žurnālā: **
// *********************************************************************
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 (diena)); // ++
dataString += "/"; // ++
dataString += String (static_cast (mēnesis)); // ++
dataString += "/"; // ++
dataString += String (gads); // ++
dataString += ";"; // ++
dataString += String (static_cast (stunda)); // ++
dataString += ":"; // ++
dataString += String (static_cast (minūte)); // ++
dataString += ":"; // ++
dataString += String (static_cast (otrais)); // ++ // ******************************************* *****************************
// ** SAGLABĀT SD ** // ************************************** **********************************
// atveriet failu. ņemiet vērā, ka vienlaikus var atvērt tikai vienu failu, **
// tāpēc jums ir jāaizver šis, pirms atverat citu. ** // ********************************************* ***************************
Fails dataFile = SD.open ("gps00.txt", FILE_WRITE); // ++
// ***********************************************************************
// ** ja fails ir pieejams, rakstiet uz to: **
// ***********************************************************************
ja (dataFile) {// ++
dataFile.println (dataString); // ++
dataFile.close (); // ++
} cits {// ++
Serial.println (F ("ERROR SD Write")); // ++
} // ++
}
Ja vēlaties lejupielādēt kodu, lūdzu, apmeklējiet šo lapu.
Ieteicams:
Saskarnes ultraskaņas diapazona modulis HC-SR04 ar Arduino: 5 soļi
Saskarnes ultraskaņas diapazona modulis HC-SR04 ar Arduino: Hei, kas notiek, puiši! Akarsh šeit no CETech. Šis mans projekts ir nedaudz vienkāršāks, bet tikpat jautrs kā citi projekti. Šajā projektā mēs sasaistīsim ultraskaņas attāluma sensora moduli HC-SR04. Šis modulis darbojas pēc ģeneratīva
SASSIE: sistēma neērtam klusuma risinājumam un mijiedarbības pastiprinātājam: 5 soļi
SASSIE: sistēma neērtam klusuma risinājumam un mijiedarbības veicinātājam: SASSIE ir atbilde uz jautājumu, ko mēs visi esam sev uzdevuši neērta klusuma laikā vienā dzīves posmā: “Vai es runāju tālāk?” Tagad jums nav jāuztraucas, jo SASSIE ir īpaši izstrādāts, lai atpazītu neērtu klusumu
Riteņbraucēju izsekošanas modulis: 5 soļi
Riteņbraucēju izsekošanas modulis: Šis velosipēdistu izsekošanas modulis ir modulis, kas automātiski nosaka sacensību avārijas un kas pieskaras pieskāriena sensoram, nosaka mehānisku bojājumu. Kad notiek kāds no šiem notikumiem, modulis nosūta notikumu aveņu datu bāzei
Kas ir pie Manām durvīm? PIR kustības sensora/diapazona sensora projekts: 5 soļi
Kas ir pie Manām durvīm? PIR kustības sensora/diapazona sensora projekts: Mūsu projekta mērķis ir uztvert kustību, izmantojot PIR un attāluma sensorus. Arduino kods izvadīs vizuālu un audio signālu, lai informētu lietotāju, ka kāds atrodas tuvumā. MATLAB kods nosūtīs e -pasta signālu, lai brīdinātu lietotāju, ka kāds atrodas tuvumā. Šī ierīce
Kā savienot DeLorme Earthmate GPS LT-20 ar savu Google Earth, lai iegūtu lielisku GPS izsekošanas karti: 5 soļi
Kā savienot DeLorme Earthmate GPS LT-20 ar savu Google Earth, lai iegūtu lielisku GPS izsekošanas karti .: Es jums parādīšu, kā savienot GPS ierīci ar populāro Google Earth programmu, neizmantojot Google Earth Plus. Man nav liela budžeta, tāpēc varu garantēt, ka tas būs pēc iespējas lētāk