Mündəricat:

Arduino Layihəsi: GPS İzləmə Həll üçün RF1276 Test Aralığı LoRa Modulu: 9 Addım (Şəkillərlə birlikdə)
Arduino Layihəsi: GPS İzləmə Həll üçün RF1276 Test Aralığı LoRa Modulu: 9 Addım (Şəkillərlə birlikdə)

Video: Arduino Layihəsi: GPS İzləmə Həll üçün RF1276 Test Aralığı LoRa Modulu: 9 Addım (Şəkillərlə birlikdə)

Video: Arduino Layihəsi: GPS İzləmə Həll üçün RF1276 Test Aralığı LoRa Modulu: 9 Addım (Şəkillərlə birlikdə)
Video: GPS'li mesafe ölçüm cihazı yaptım | Likya GPS Modülü V2 | Arduino | PCBWay 2024, Iyul
Anonim
Arduino Layihəsi: GPS İzləmə Həll üçün RF1276 Aralığı LoRa Modulu Test edin
Arduino Layihəsi: GPS İzləmə Həll üçün RF1276 Aralığı LoRa Modulu Test edin

Bağlantı: USB - Serial

Ehtiyac: Chrome brauzeri

Ehtiyac: 1 X Arduino Mega

Lazımdır: 1 X GPS

Lazımdır: 1 X SD kart

Ehtiyac: 2 X LoRa Modem RF1276

Fonksiyon: Arduino, GPS dəyərini əsas bazaya göndərir-Dataino Server Lora Modulunda əsas baza məlumatları: APPCONWIRELESS LoRa'dan ultra uzun məsafəli RF1276, son dərəcə aşağı məlumat sürətində məlumat göndərmək imkanı verən yeni, özəl və yayılmış spektrli bir modulyasiya texnikasıdır. uzun məsafələr. Aşağı məlumat sürəti (saniyədə bir neçə bayta qədər) və LoRa modulyasiyası çox aşağı alıcı həssaslığına səbəb olur, bu testdə 10 km-dən çox deməkdir.

Addım 1: Baza Stansiyası

Bina Baza Stansiyası
Bina Baza Stansiyası
Bina Baza Stansiyası
Bina Baza Stansiyası

Kompüter genişliyində internet bağlantısı və USB portuna qoşulmuş LoRa modemi.

Arduino Avtomobil dəsti ·

Metrik qutu

Anduino Mega serial 2 -ni GPS qəbuledicisinə və Serial 1 -ə LoRa modeminə bağladı. Məlumat saxlamaq üçün bir SD kart istifadə olunur.

Addım 2: İlk test

İlk Test
İlk Test

· Şəhər mərkəzləri, qalereyalar və sahillər boyunca bir döngə ilə 10.6 km

Qəbul /ötürmə nisbəti 321 /500TX nöqtəsinə bərabərdir

RX nöqtəsi

Addım 3: İnterfeys yaradın

İnterfeys yaradın
İnterfeys yaradın
İnterfeys yaradın
İnterfeys yaradın

1 - Yeni bir LoRa layihəsi qurun

Layihə konfiqurasiyasını açmaq üçün icon cog düyməsini basın

Addım 4: Göstərici əlavə edin

Göstərici əlavə edin
Göstərici əlavə edin

2) Ölçmə çubuğunu açın.

· 3) GPS -ə keçin.

· 4) Masaya birini əlavə edin.

Addım 5: GPS Ölçmə cihazını çəkin və OpenStreetMap əlavə edin

Ölçmə cihazını çəkin və OpenStreetMap əlavə edin
Ölçmə cihazını çəkin və OpenStreetMap əlavə edin
Ölçmə cihazını çəkin və OpenStreetMap əlavə edin
Ölçmə cihazını çəkin və OpenStreetMap əlavə edin

· 5) OpenStreetMap xəritəsini masaya əlavə edin

GPS komponentini simge xəritəsinə sürükləyərək OpenStreet xəritəsi yaradılır.

İnterfeys yaradın

· 6) Xəritənin yenilənməsini dəyişdirin

Xəritənin yeniləmə müddətini 5000 -dən 10000 -ə dəyişdirin

Addım 6: GPS Göstəricisini çəkin və Cədvəl Qeydini əlavə edin

GPS Göstəricisini sürükləyin və Cədvəl Girişini əlavə edin
GPS Göstəricisini sürükləyin və Cədvəl Girişini əlavə edin

· 7) Cədvəl Giriş ölçmə cihazı əlavə edin.

Göstəricini GPS simvol cədvəlinin üstünə sürükləyərək ölçü cədvəli qeydləri yaradılır

· 8) Cədvəl jurnalının yeniləməsini dəyişdirin. Xəritənin yeniləmə müddətini 5000 -dən 10000 -ə dəyişdirin

Göstəricilərin yerini tənzimləyin

· 9) Çəkmə ölçü cihazları, ekran boyunca sürükləyərək ölçü cihazlarının mövqeyini tənzimləyir.

· 10) Layihəni saxla

Addım 7: Kod əldə edin

Kodu əldə edin
Kodu əldə edin

10) Kod konteynerini aktivləşdirin

Sağ üstdəki düyməni basın, hamısını seçin və əsas kodu kopyalayın.

Addım 8: Arduino IDE

Arduino IDE
Arduino IDE

· 11) Arduino IDE -yə kodu yapışdırın

· 12) Kodu redaktə et Bu sətri tərifə əlavə et

Addım 9: Detalların kodlaşdırılması

Bu xətti tərifə əlavə edin

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

// ** KİTABXANA ** // *************************************** ********************************

# + // GPS kitabxanasına daxil olun

#daxil edin // ++ SPI kitabxanası #daxil edin

// ++ SD kitabxana //

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

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

// * SD kart SPI avtobusuna aşağıdakı kimi yapışdırılır:

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

// (CS pin dəyişdirilə bilər) və pin #10 (SS) bir çıxış olmalıdır

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

// (CS pin dəyişdirilə bilər) və pin #52 (SS) bir çıxış olmalıdır

// ** Leonardo: ICSP başlığı ilə aparat SPI -yə qoşulun

// Pin 4 burada digər Arduino nümunələri ilə uyğunluq üçün istifadə olunur const int chipSelect = 53;

// ++ SD pin seçicisi

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

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

TinyGPS GPS; // Serialda ++ GPS2

boş gpsdump (TinyGPS & gps); // ++

bool newdataGPS = yanlış; // ++

Bu xətti quraşdırmaya əlavə edin ()

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

// ** GPS serial quruluşu ** // ************************************* ********************************

Serial2.begin (9600); // ++

gecikmə (1000); // ++

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

// ** SD işə salınır ** // ************************************** *******************************

// standart çip seçmə pininin // ++ olaraq təyin olunduğundan əmin olun

// çıxış, istifadə etməsəniz də: // ++

pinMode (SS, Çıxış); // ++

Serial.println (F ("SD kartı işə salır …")); // ++

// kartın olub olmadığını və işə salınacağını yoxlayın: // ++

əgər (! SD.begin (chipSelect)) {// ++

Serial.println (F ("Kart uğursuz, ya da yoxdur")); // ++

// daha heç nə etmə: // ++

qayıtmaq; // ++

} başqa {// ++

Serial.println (F ("SD kart OK")); // ++

} // ++

Bu xətləri loop () void -ə əlavə edin

serialEvent2 (); // ++ GPS seriyası hadisəsinə zəng edin

SeriaEvent2 kodunu əlavə edin

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

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

etibarsız serialEvent2 () {// ++

while (Serial2.available ()) {// ++

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

//Serial.print(c); // xam GPS məlumatlarını görmək üçün şərh yazmayın // ++

əgər (gps.encode (c)) {// ++

newdataGPS = doğru; // ++

fasilə; // yeni məlumatları dərhal çap etmək üçün şərh yazmayın! // ++

} // ++

} // ++

} // ++

GPS zibilini yüksək səslə əlavə edin

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

// ** gps dump ** // ************************************** *********************************

// ** Dərəcələrdə etibarlı enlem aralığı -90 və +90 -dır. **

// ** Boylam -180 və +180 aralığındadır **

// ** şərq-qərb mövqeyini göstərməklə **

//** "123456789 1234567890" **

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

void gpsdump (TinyGPS & gps) // ++

{ // ++

int il; // ++

bayt ay, gün, saat, dəqiqə, saniyə, yüzdə biri; // ++

imzasız uzun yaş; // ++

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

gps.crack_datetime (və il, ay, gün və saat, // ++

& dəqiqə, ikinci, & yüzdə və yaş); // ++

uzun lat, uzun; // ++

gps.get_position (& lat, & lon, & age); // ++

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

// ** daxil olmaq üçün məlumatları toplamaq üçün simli olun: **

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

String dataString = ""; // ++

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

dataString += "."; // ++

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

dataString += ";"; // ++

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

dataString += "."; // ++

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

dataString += ";"; // ++

dataString += String (static_cast (gün)); // ++

dataString += "/"; // ++

dataString += String (static_cast (ay)); // ++

dataString += "/"; // ++

dataString += String (il); // ++

dataString += ";"; // ++

dataString += String (static_cast (saat)); // ++

dataString += ":"; // ++

dataString += String (static_cast (dəqiqə)); // ++

dataString += ":"; // ++

dataString += String (static_cast (ikinci)); // ++ // ****************************************** *****************************

// ** SD -yə QAYD EDİN ** // ************************************* **********************************

// faylı açın. Qeyd edək ki, bir anda yalnız bir fayl açıla bilər, **

// başqa birini açmadan əvvəl bunu bağlamalısınız. ** // ******************************************** ***************************

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

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

// ** fayl mövcuddursa, ona yazın: **

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

if (dataFile) {// ++

dataFile.println (dataString); // ++

dataFile.close (); // ++

} başqa {// ++

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

} // ++

}

Kodu yükləmək istəyirsinizsə, bu səhifəni ziyarət edin.

Tövsiyə: