Sadržaj:
- Korak 1: Izgradnja bazne stanice
- Korak 2: Prvi test
- Korak 3: Izradite sučelje
- Korak 4: Dodajte mjerač
- Korak 5: Povucite GPS mjerač i dodajte OpenStreetMap
- Korak 6: Povucite GPS mjerač i dodajte zapisnik tablice
- Korak 7: Nabavite kod
- Korak 8: Arduino IDE
- Korak 9: Kodiranje pojedinosti
Video: Arduino projekt: Testni raspon LoRa modul RF1276 za rješenje GPS praćenja: 9 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:36
Priključak: USB - serijski
Potrebno: Chrome preglednik
Potrebno: 1 X Arduino Mega
Potrebno: 1 X GPS
Potrebno: 1 x SD kartica
Potrebno: 2 X LoRa modema RF1276
Funkcija: Arduino Pošaljite GPS vrijednost na glavnu bazu-Podaci glavne baze pohranjuju podatke u Dataino poslužiteljskom modulu Lora: RF1276 ultra velike udaljenosti iz APPCONWIRELESS-a LoRa je nova, privatna tehnika modulacije s širokim spektrom koja omogućuje slanje podataka po izuzetno niskim brzinama prijenosa do iznimno niskih brzina prijenosa podataka velike udaljenosti. Niska brzina prijenosa podataka (do nekoliko bajtova u sekundi) i LoRa modulacija dovode do vrlo niske osjetljivosti prijemnika, što znači da u ovom testu znači više od 10 km.
Korak 1: Izgradnja bazne stanice
Internetska širina računala i LoRa modem spojeni na USB priključak.
Arduino automobilski komplet ·
Metrička kutija
Anduino Mega spojen na serijski 2 na GPS prijemnik, a serijski 1 na LoRa modem. Za pohranu podataka koristi se SD kartica.
Korak 2: Prvi test
· 10,6 km na putu kroz urbana središta, galerije i uz obalu napravljenim s petljama
Omjer prijema /prijenosa bio je 321 /500TX bod
RX točka
Korak 3: Izradite sučelje
1 - Postavite novi projekt LoRa
Pritisnite ikonu zupčanika za otvaranje konfiguracije projekta
Korak 4: Dodajte mjerač
2) Otvorite klizač mjerača.
· 3) Pomaknite se do GPS -a.
· 4) Dodajte jednu na stol.
Korak 5: Povucite GPS mjerač i dodajte OpenStreetMap
· 5) Dodajte OpenStreetMap kartu na stol
Povlačenjem komponentnog GPS -a na kartu ikona stvara se OpenStreet karta.
Izradite sučelje
· 6) Promijenite osvježavanje karte
Promijenite vrijeme osvježavanja karte s 5000 na 10000
Korak 6: Povucite GPS mjerač i dodajte zapisnik tablice
· 7) Dodajte mjerač tabličnog dnevnika.
Povlačenjem mjerača iznad tablice ikona GPS -a stvara se dnevnik tablice mjerača
· 8) Promjena osvježavanja dnevnika tablice. Promijenite vrijeme osvježavanja karte s 5000 na 10000
Podesite položaj mjerača
· 9) Mjerači za povlačenje prilagođavaju položaj mjerača povlačenjem po zaslonu.
· 10) Spremi projekt
Korak 7: Nabavite kod
10) Aktivirajte spremnik kodova
Gumb u gornjem desnom kutu, odaberite sve i kopirajte osnovni kôd.
Korak 8: Arduino IDE
· 11) Zalijepite kôd na Arduino IDE
· 12) Uređivanje koda Dodajte ovaj redak u definiciju
Korak 9: Kodiranje pojedinosti
Dodajte ovaj redak u definiciju
//*************************************************************************
// ** KNJIŽNICA ** // ***************************************** ******************************
#include // ++ GPS biblioteka
#include // ++ SPI biblioteka #include
// ++ SD biblioteka //
*************************************************************************
// ** SD ** // ***************************************** ******************************
// * SD kartica priključena na SPI sabirnicu na sljedeći način:
// ** UNO: MOSI - pin 11, MISO - pin 12, CLK - pin 13, CS - pin 4
// (CS pin se može promijeniti) i pin #10 (SS) moraju biti izlaz
// ** Mega: MOSI - pin 51, MISO - pin 50, CLK - pin 52, CS - pin 53
// (CS pin se može promijeniti) i pin #52 (SS) moraju biti izlaz
// ** Leonardo: Spojite se na hardverski SPI putem ICSP zaglavlja
// Pin 4 koji se ovdje koristi za usklađenost s drugim Arduino primjerima const int chipSelect = 53;
// ++ SD pin birač
//*************************************************************************
// ** GPS ** // ***************************************** ******************************
TinyGPS GPS; // ++ GPS na Serial2
void gpsdump (TinyGPS & gps); // ++
bool newdataGPS = netočno; // ++
Dodajte ovaj redak u setup ()
//***********************************************************************
// ** GPS serijsko postavljanje ** // *************************************** ******************************
Serial2.begin (9600); // ++
kašnjenje (1000); // ++
//***********************************************************************
// ** SD inicijalizacija ** // ************************************** *******************************
// provjerite je li zadani pin za odabir čipa postavljen na // ++
// izlaz, čak i ako ga ne koristite: // ++
pinMode (SS, OUTPUT); // ++
Serial.println (F ("Inicijalizacija SD kartice …")); // ++
// vidjeti je li kartica prisutna i može li se inicijalizirati: // ++
if (! SD.begin (chipSelect)) {// ++
Serial.println (F ("Kartica nije uspjela ili je nema")); // ++
// ne činite ništa više: // ++
povratak; // ++
} else {// ++
Serial.println (F ("SD kartica u redu")); // ++
} // ++
Dodajte ove retke u loop () void
serialEvent2 (); // ++ poziv GPS serijski događaj
Dodajte kod SeriaEvent2
//*************************************************************************
// ** GPS serialEvent ** // ************************************** *********************************
void serialEvent2 () {// ++
while (Serial2.available ()) {// ++
char c = Serial2.read (); // ++
//Serijski.ispis (c); // uklonite komentar da biste vidjeli neobrađene GPS podatke // ++
if (gps.encode (c)) {// ++
newdataGPS = istina; // ++
pauza; // uklonite komentar za ispis novih podataka odmah! // ++
} // ++
} // ++
} // ++
Dodajte GPS dump voud
//*************************************************************************
// ** GPS dump ** // ************************************** *********************************
// ** Važeći raspon zemljopisne širine u stupnjevima je -90 i +90. **
// ** Geografska dužina je u rasponu -180 i +180 **
// ** određujući položaj istok-zapad **
//** "123456789 1234567890" **
//** "000.00000;0000.00000" ** //*************************************************************************
void gpsdump (TinyGPS & gps) // ++
{ // ++
int godina; // ++
bajt mjesec, dan, sat, minuta, sekunda, stotinke; // ++
nepotpisana duga dob; // ++
gps.f_get_position (& LATGP00, & LONGP00, & age); // ++
gps.crack_datetime (& godina, & mjesec, & dan, & sat, // ++
& minuta, & drugo, & stotinke, & dob); // ++
dugačak lat, lon; // ++
gps.get_position (& lat, & lon, & age); // ++
// *********************************************************************
// ** napravite niz za sastavljanje podataka u zapisnik: **
// *********************************************************************
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 (dan)); // ++
dataString += "/"; // ++
dataString += String (static_cast (mjesec)); // ++
dataString += "/"; // ++
dataString += String (godina); // ++
dataString += ";"; // ++
dataString += String (static_cast (sat)); // ++
dataString += ":"; // ++
dataString += String (static_cast (minuta)); // ++
dataString += ":"; // ++
dataString += String (static_cast (drugi)); // ++ // ****************************************** *****************************
// ** SPREMI NA SD ** // *************************************** ********************************
// otvaranje datoteke. imajte na umu da se samo jedna datoteka može otvoriti odjednom, **
// pa morate zatvoriti ovaj prije nego otvorite drugi. ** // ******************************************** ***************************
Datoteka dataFile = SD.open ("gps00.txt", FILE_WRITE); // ++
// ***********************************************************************
// ** ako je datoteka dostupna, napišite joj: **
// ***********************************************************************
if (datoteka podataka) {// ++
dataFile.println (dataString); // ++
dataFile.close (); // ++
} else {// ++
Serial.println (F ("ERROR SD Write")); // ++
} // ++
}
Ako želite preuzeti kôd, posjetite ovu stranicu.
Preporučeni:
Sustav vizualnog praćenja poljoprivrede temeljen na LoRa Iot - Dizajniranje prednje aplikacije pomoću Firebase & Angular: 10 koraka
Sustav vizualnog praćenja poljoprivrede temeljen na LoRa Iot | Dizajniranje frontalne aplikacije pomoću Firebase & Angular: U prethodnom poglavlju govorimo o tome kako senzori rade s loRa modulom za popunjavanje baze podataka Firebase u stvarnom vremenu, te smo vidjeli dijagram vrlo visoke razine kako cijeli naš projekt funkcionira. U ovom ćemo poglavlju govoriti o tome kako možemo
3D karta GPS praćenja: 9 koraka
GPS praćenje 3D karte: Ovaj projekt je 3D ispisana 3D karta s cestama, rijekama i gradovima, sa LED svjetionicima za prikaz lokacije članova obitelji. Može pokazati je li dijete u školi ili samo lokaciju oba roditelja. Također ga možemo koristiti za predviđanje
Robotski testni štand: 8 koraka (sa slikama)
Robotski ispitni štand: Trebalo mi je a kako bih držao kotače svog YAAR robota (vidi Instrukcije za YAAR) od tla radi testiranja
Testni raketni štand s 3D printanom raketom: 15 koraka (sa slikama)
3D ispisani raketni ispitni stalak: Htio sam napraviti ispitni stalak za rakete kako bih mogao mjeriti potisak koji proizvodi raketni motori. Potisni stalak pomaže u projektiranju raketa pokazujući karakteristike raketnog motora
Raspon krila 8 Ft Coroplast RC Piper Cub Letjeti trimer za korenje 25cc: 27 koraka (sa slikama)
8 Ft raspon krila Coroplast RC Piper Cub Polijeće trimer za uklanjanje korova 25cc: Volim zrakoplove s radijskim upravljanjem i napravio sam nekoliko vrsta od balse do ove velike plastike. Ovaj je napravljen od plastike vrijedne 25,00 dolara koju sam kupio lokalno u tvrtki za potpisivanje znakova. Plastika je Coroplast ili valovita plastika, jeftina je