Orodha ya maudhui:

Mradi wa Arduino: Moduli ya Mtihani wa LoRa RF1276 ya Suluhisho la Kufuatilia GPS: Hatua 9 (na Picha)
Mradi wa Arduino: Moduli ya Mtihani wa LoRa RF1276 ya Suluhisho la Kufuatilia GPS: Hatua 9 (na Picha)

Video: Mradi wa Arduino: Moduli ya Mtihani wa LoRa RF1276 ya Suluhisho la Kufuatilia GPS: Hatua 9 (na Picha)

Video: Mradi wa Arduino: Moduli ya Mtihani wa LoRa RF1276 ya Suluhisho la Kufuatilia GPS: Hatua 9 (na Picha)
Video: Leslie Kean on David Grusch (UFO Whistleblower): Non-Human Intelligence, Recovered UFOs, UAP, & more 2024, Julai
Anonim
Mradi wa Arduino: Sura ya Mtihani LoRa Module RF1276 ya Suluhisho la Kufuatilia GPS
Mradi wa Arduino: Sura ya Mtihani LoRa Module RF1276 ya Suluhisho la Kufuatilia GPS

Uunganisho: USB - Serial

Inahitaji: Kivinjari cha Chrome

Inahitaji: 1 X Arduino Mega

Inahitaji: 1 X GPS

Inahitaji: 1 X kadi ya SD

Inahitaji: 2 X LoRa Modem RF1276

Kazi: Arduino Tuma thamani ya GPS kwa msingi kuu - Data kuu ya duka kuu katika Moduli ya Serverino Lora ya Dataino: Masafa marefu ya RF1276 kutoka APPCONWIRELESS LoRa ni mbinu mpya, ya faragha na ya kuenea kwa wigo ambayo inaruhusu kutuma data kwa viwango vya chini sana vya data hadi sana masafa marefu. Kiwango cha chini cha data (chini ya ka chache kwa sekunde) na moduli ya LoRa husababisha unyeti wa mpokeaji sana, inamaanisha katika jaribio hili inamaanisha zaidi ya 10km.

Hatua ya 1: Kujenga Kituo cha Msingi

Kituo cha Msingi wa Ujenzi
Kituo cha Msingi wa Ujenzi
Kituo cha Msingi wa Ujenzi
Kituo cha Msingi wa Ujenzi

Uunganisho wa mtandao wa kompyuta na modemu ya LoRa iliyounganishwa kwenye bandari ya USB.

Kitengo cha Gari la Arduino ·

Sanduku la metri

Anduino Mega imeunganishwa na serial 2 kwa kipokeaji cha GPS, na Serial 1 kwa modem ya LoRa. Kadi ya SD hutumiwa kwa data ya duka.

Hatua ya 2: Jaribio la Kwanza

Mtihani wa Kwanza
Mtihani wa Kwanza

· 10.6 Km kwenye njia kupitia vituo vya mijini, mabango na kando ya pwani iliyotengenezwa na matanzi

Uwiano wa mapokezi / usafirishaji umekuwa wa kiwango cha 321 / 500TX

Kiwango cha RX

Hatua ya 3: Unda Kiolesura

Unda Kiolesura
Unda Kiolesura
Unda Kiolesura
Unda Kiolesura

1 - Sanidi mradi mpya wa LoRa

Bonyeza kitufe cha ikoni kufungua usanidi wa mradi

Hatua ya 4: Ongeza Upimaji

Ongeza Upimaji
Ongeza Upimaji

2) Fungua kitelezi cha kupima.

· 3) Tembeza kwa GPS.

· 4) Ongeza moja kwenye dawati.

Hatua ya 5: Buruta Kupima GPS na Ongeza OpenStreetMap

Buruta kupima GPS na Ongeza OpenStreetMap
Buruta kupima GPS na Ongeza OpenStreetMap
Buruta kupima GPS na Ongeza OpenStreetMap
Buruta kupima GPS na Ongeza OpenStreetMap

· 5) Ongeza ramani ya OpenStreetMap kwenye dawati

Kuvuta sehemu ya GPS kwenye ramani ya ikoni, ramani ya OpenStreet imetengenezwa.

Unda Kiolesura

· 6) Badilisha mabadiliko ya ramani

Badilisha wakati wa kuonyesha upya ramani kutoka 5000 hadi 10000

Hatua ya 6: Buruta Upimaji wa GPS na Ongeza Jedwali la Jedwali

Buruta Upimaji wa GPS na Ongeza Jedwali la Jedwali
Buruta Upimaji wa GPS na Ongeza Jedwali la Jedwali

· 7) Ongeza kipimo cha Jedwali la Jedwali.

Kwa kuburuta kupima juu ya jedwali la ikoni ya GPS imeundwa logi ya jedwali la kupima

· 8) Badilisha badiliko la kumbukumbu ya meza. Badilisha wakati wa kuonyesha upya ramani kutoka 5000 hadi 10000

Rekebisha nafasi ya viwango

· 9) Buruta kupima kurekebisha nafasi ya viwango kwa kuburuta kwenye skrini.

· 10) Hifadhi mradi

Hatua ya 7: Pata Msimbo

Pata Msimbo
Pata Msimbo

10) Anzisha kontena la nambari

Kitufe kwenye kitufe cha juu kulia, chagua zote na nakili nambari ya msingi.

Hatua ya 8: Arduino IDE

Arduino IDE
Arduino IDE

· 11) Bandika nambari kwenye Arduino IDE

· 12) Hariri nambari Ongeza mstari huu katika ufafanuzi

Hatua ya 9: Maelezo ya Usimbuaji

Ongeza mstari huu katika ufafanuzi

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

//** MAKTABA ** //***************************************** ********************************

# pamoja na // ++ maktaba ya GPS

# pamoja na // ++ SPI maktaba # pamoja na

// ++ maktaba ya SD //

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

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

// * Kadi ya SD iliyowekwa kwenye basi ya SPI kama ifuatavyo:

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

// (CS pin inaweza kubadilishwa) na pin # 10 (SS) lazima iwe pato

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

// (CS pin inaweza kubadilishwa) na pin # 52 (SS) lazima iwe pato

// ** Leonardo: Unganisha na SPI ya vifaa kupitia kichwa cha ICSP

// Pin 4 kutumika hapa kwa msimamo na mifano mingine ya Arduino const int chipSelect = 53;

Kichaguzi cha pini cha + // ++ cha SD

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

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

GPS za TinyGPS; // ++ GPS kwenye Serial2

gpsdump ya utupu (TinyGPS & gps); // ++

data mpya boPSGPS = uwongo; // ++

Ongeza mstari huu katika usanidi ()

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

// ** GPS serial setup ** // ******************************************* ********************************

Serial2.anza (9600); // ++

kuchelewesha (1000); // ++

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

// ** Kuanzisha SD ** // ******************************************** *******************************

// hakikisha kuwa chaguo-msingi chagua pini imewekwa kwa // ++

// pato, hata ikiwa hutumii: // ++

pinMode (SS, OUTPUT); // ++

Serial.println (F ("Kuanzisha kadi ya SD…")); // ++

// angalia ikiwa kadi iko na inaweza kuanza: // ++

ikiwa (! SD.anza (chip Chagua)) {// ++

Serial.println (F ("Kadi imeshindwa, au haipo")); // ++

// usifanye chochote zaidi: // ++

kurudi; // ++

} mwingine {// ++

Serial.println (F ("kadi ya SD sawa")); // ++

} // ++

Ongeza mistari hii kwa kitanzi () batili

serialEvent2 (); // ++ piga tukio la serial GPS

Ongeza nambari ya SeriaEvent2

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

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

utupu serialEvent2 () {// ++

wakati (Serial2 haipatikani ()) {// ++

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

//Serial.print (c); // uncomment kuona data ya GPS mbichi // ++

ikiwa (gps.encode (c)) {// ++

newdataGPS = kweli; // ++

kuvunja; // uncomment kuchapisha data mpya mara moja! // ++

} // ++

} // ++

} // ++

Ongeza sauti ya dampo la GPS

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

// ** gps dampo ** // ******************************************** *********************************

// ** Upeo halali wa latitudo kwa digrii ni -90 na +90. **

// ** Longitude iko katika masafa -180 na +180 **

// ** kubainisha nafasi ya mashariki-magharibi **

//** "123456789 1234567890" **

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

utupu gpsdump (TinyGPS & gps) // ++

{ // ++

mwaka wa int; // ++

mwezi mwezi, siku, saa, dakika, pili, mia; // ++

umri mrefu usiosainiwa; // ++

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

gps.crack_datetime (& mwaka, & mwezi, & siku, & saa, // ++

& dakika, & pili, & mia, & umri); // ++

muda mrefu, lon; // ++

nafasi.pata nafasi (& lat, & lon, & umri); // ++

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

// ** tengeneza kamba kwa kukusanya data kuingia: **

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

String dataString = ""; // ++

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

dataString + = "."; // ++

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

dataString + = ";"; // ++

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

dataString + = "."; // ++

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

dataString + = ";"; // ++

dataString + = Kamba (static_cast (siku)); // ++

dataString + = "/"; // ++

dataString + = Kamba (static_cast (mwezi)); // ++

dataString + = "/"; // ++

dataString + = Kamba (mwaka); // ++

dataString + = ";"; // ++

dataString + = Kamba (static_cast (saa)); // ++

dataString + = ":"; // ++

dataString + = Kamba (static_cast (dakika)); // ++

dataString + = ":"; // ++

dataString + = Kamba (static_cast (pili)); // ++ // ******************************************** *****************************

// ** SAVE TO SD ** // ******************************************* **********************************

// kufungua faili. kumbuka kuwa faili moja tu inaweza kuwa wazi kwa wakati mmoja, **

// kwa hivyo lazima ufunge hii kabla ya kufungua nyingine. ** // ********************************************** ***************************

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

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

// ** ikiwa faili inapatikana, iandikie: **

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

ikiwa (dataFile) {// ++

dataFile.println (dataString); // ++

dataFile. karibu (); // ++

} mwingine {// ++

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

} // ++

}

Ikiwa unataka kupakua nambari, tafadhali tembelea ukurasa huu.

Ilipendekeza: