Агуулгын хүснэгт:

Arduino төсөл: Туршилтын хүрээ LoRa RF1276 нь GPS хянах шийдэлд зориулагдсан: 9 алхам (зурагтай)
Arduino төсөл: Туршилтын хүрээ LoRa RF1276 нь GPS хянах шийдэлд зориулагдсан: 9 алхам (зурагтай)

Видео: Arduino төсөл: Туршилтын хүрээ LoRa RF1276 нь GPS хянах шийдэлд зориулагдсан: 9 алхам (зурагтай)

Видео: Arduino төсөл: Туршилтын хүрээ LoRa RF1276 нь GPS хянах шийдэлд зориулагдсан: 9 алхам (зурагтай)
Видео: Leslie Kean on David Grusch (UFO Whistleblower): Non-Human Intelligence, Recovered UFOs, UAP, & more 2024, Арванхоёрдугаар сар
Anonim
Arduino төсөл: GPS дагах шийдлийн хувьд RF1276 RRA модулийг турших
Arduino төсөл: GPS дагах шийдлийн хувьд RF1276 RRA модулийг турших

Холболт: USB - Цуваа

Шаардлагатай: Chrome хөтөч

Шаардлагатай: 1 X Arduino Mega

Шаардлагатай: 1 X GPS

Шаардлагатай: 1 X SD карт

Шаардлагатай: 2 X LoRa модем RF1276

Чиг үүрэг: Arduino GPS-ийн утгыг үндсэн бааз руу илгээх-Dataino Server Lora модулийн үндсэн өгөгдлийн дэлгүүрийн өгөгдөл: APPCONWIRELESS LoRa-ийн хэт урт хугацааны RF1276 нь өгөгдлийг маш бага хурдтайгаар маш өндөр түвшинд дамжуулах боломжийг олгодог шинэ, хувийн болон тархсан спектрийн модуляцийн техник юм. урт хүрээ. Мэдээллийн хурд багатай (секундэд цөөн байт хүртэл) ба LoRa модуляци нь хүлээн авагчийн мэдрэмтгий байдлыг маш бага болгодог бөгөөд энэ туршилтын явцад 10 км-ээс дээш зайтай гэсэн үг юм.

Алхам 1: Барилгын суурь станц

Барилгын суурь станц
Барилгын суурь станц
Барилгын суурь станц
Барилгын суурь станц

Компьютерийн өргөн интернэт холболт, LoRa модем USB порт руу холбогдсон.

Arduino машины иж бүрдэл ·

Метрийн хайрцаг

Андуино Мега нь 2 -р цувралд GPS хүлээн авагч, 1 -р цувралд LoRa модемд холбогдсон. Мэдээллийг хадгалахад SD карт ашигладаг.

Алхам 2: Эхний шалгалт

Эхний шалгалт
Эхний шалгалт

· Хотын төв, галлерей, эрэг дагуух гогцоонуудаар хийсэн замаар 10.6 км

Хүлээн авах /дамжуулах харьцаа 321 /500TX цэг байна

RX цэг

Алхам 3: Интерфэйсийг үүсгэнэ үү

Интерфэйсийг бий болгох
Интерфэйсийг бий болгох
Интерфэйсийг бий болгох
Интерфэйсийг бий болгох

1 - LoRa шинэ төслийг тохируулах

Төслийн тохиргоог нээхийн тулд icon cog дээр дарна уу

Алхам 4: Хэмжигчийг нэмнэ үү

Хэмжигч нэмэх
Хэмжигч нэмэх

2) Хэмжих гулсагчийг нээнэ үү.

· 3) GPS рүү гүйлгэнэ үү.

· 4) Ширээн дээр нэгийг нэмнэ үү.

Алхам 5: GPS хэмжигчийг чирж, OpenStreetMap нэмнэ үү

GPS хэмжигчийг чирж, OpenStreetMap нэмнэ үү
GPS хэмжигчийг чирж, OpenStreetMap нэмнэ үү
GPS хэмжигчийг чирж, OpenStreetMap нэмнэ үү
GPS хэмжигчийг чирж, OpenStreetMap нэмнэ үү

· 5) OpenStreetMap газрын зургийг ширээн дээр нэмэх

Дүрсний газрын зураг дээр GPS бүрэлдэхүүн хэсгийг чирж, OpenStreet газрын зургийг үүсгэнэ.

Интерфэйсийг бий болгох

· 6) Газрын зургийн шинэчлэлтийг өөрчлөх

Газрын зургийн шинэчлэх хугацааг 5000 болгож 10000 болгож өөрчилнө үү

Алхам 6: GPS хэмжигчийг чирж, хүснэгтийн бүртгэлийг нэмнэ үү

GPS хэмжигчийг чирж, хүснэгтийн бүртгэлийг нэмнэ үү
GPS хэмжигчийг чирж, хүснэгтийн бүртгэлийг нэмнэ үү

· 7) Хүснэгтийн бүртгэл хэмжигчийг нэмнэ үү.

Хэмжигчийг GPS дүрсний хүснэгтийн дээгүүр чирснээр хэмжигч хүснэгтийн бүртгэл үүснэ

· 8) Хүснэгтийн бүртгэлийн шинэчлэлтийг өөрчлөх. Газрын зургийн шинэчлэх хугацааг 5000 болгож 10000 болгож өөрчилнө үү

Тоолуурын байрлалыг тохируулна уу

· 9) Чирэгч хэмжигч нь дэлгэцийн дундуур чирж хэмжигчийн байрлалыг тохируулдаг.

· 10) Төслийг хадгалах

Алхам 7: Код авах

Код авах
Код авах

10) Код савыг идэвхжүүлэх

Баруун дээд буланд байгаа товчлуурыг бүгдийг нь сонгоод үндсэн кодыг хуулна уу.

Алхам 8: Arduino IDE

Arduino IDE
Arduino IDE

· 11) Arduino IDE дээр кодыг оруулна уу

· 12) Код засварлах Энэ мөрийг тодорхойлолтод нэмнэ үү

Алхам 9: Дэлгэрэнгүй мэдээллийг кодлох

Тодорхойлолтонд энэ мөрийг нэмнэ үү

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

// ** НОМЫН САН ** // *************************************** ********************************

#+++ GPS номын сан оруулах

#оруулах // ++ SPI номын сан #оруулах

// ++ SD номын сан //

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

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

// * SD картыг SPI автобусанд дараах байдлаар хавсаргасан болно.

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

// (CS зүүг өөрчилж болно) ба зүү #10 (SS) нь гаралт байх ёстой

// ** Мега: MOSI - зүү 51, MISO - зүү 50, CLK - зүү 52, CS - зүү 53

// (CS зүүг өөрчилж болно) ба #52 зүү (SS) нь гаралт байх ёстой

// ** Леонардо: ICSP толгойгоор тоног төхөөрөмжийн SPI -тэй холбогдоно уу

// Энд 4 -р Pin -ийг Arduino -ийн бусад жишээнүүдтэй нийцүүлэх зорилгоор ашигласан const int chipSelect = 53;

// ++ SD зүү сонгогч

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

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

TinyGPS GPS; // Цуврал2 дээр ++ GPS

хүчингүй gpsdump (TinyGPS & gps); // ++

bool newdataGPS = худал; // ++

Энэ мөрийг тохиргоонд нэмнэ үү ()

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

// ** GPS сериал тохиргоо ** // ************************************* ********************************

Цуваа 2. эхлэх (9600); // ++

саатал (1000); // ++

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

// ** SD эхлүүлж байна ** // ************************************** *******************************

// анхдагч чип сонгох зүүг // ++ болгож тохируулсан эсэхийг шалгаарай

// гаралт, та үүнийг ашиглахгүй байсан ч гэсэн: // ++

pinMode (SS, OUTPUT); // ++

Serial.println (F ("SD картыг эхлүүлж байна …")); // ++

// карт байгаа эсэхийг шалгаж, эхлүүлж болно: // ++

if (! SD.begin (chipSelect)) {// ++

Serial.println (F ("Карт амжилтгүй болсон эсвэл байхгүй байна")); // ++

// өөр зүйл бүү хий: // ++

буцах; // ++

} өөр {// ++

Serial.println (F ("SD карт OK")); // ++

} // ++

Энэ мөрийг loop () void дээр нэмнэ үү

serialEvent2 (); // ++ дуудлага GPS цуврал үйл явдал

SeriaEvent2 кодыг нэмнэ үү

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

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

хүчингүй serialEvent2 () {// ++

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

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

//Serial.print(c); // түүхий GPS өгөгдлийг харахын тулд тайлбар өгөхгүй // ++

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

newdataGPS = үнэн; // ++

завсарлага; // шинэ өгөгдлийг нэн даруй хэвлэхийг хүсэхгүй байна! // ++

} // ++

} // ++

} // ++

GPS -ийн овоолгыг чанга нэмэх

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

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

// ** Өргөргийн градусын хүчинтэй хүрээ нь -90 ба +90 байна. **

// ** Уртраг нь -180 ба +180 хооронд байна **

// ** зүүн-баруун байрлалыг зааж өгөх **

//** "123456789 1234567890" **

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

void gpsdump (TinyGPS & gps) // ++

{ // ++

int жил; // ++

байт сар, өдөр, цаг, минут, секунд, зуутын нэг; // ++

гарын үсэг зураагүй урт нас; // ++

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

gps.crack_datetime (& жил, сар, өдөр, цаг, // ++

& минут, & секунд, & зуут, & нас); // ++

урт лат, урт; // ++

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

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

// ** бүртгэхийн тулд өгөгдлийг угсрах мөр хийх: **

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

String dataString = ""; // ++

dataString += (лат / 100000); // ++

dataString += "."; // ++

dataString += лат - (лат / 100000) * 100000; // ++

dataString += ";"; // ++

dataString += (урт / 100000); // ++

dataString += "."; // ++

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

dataString += ";"; // ++

dataString += String (static_cast (өдөр)); // ++

dataString += "/"; // ++

dataString += String (static_cast (сар)); // ++

dataString += "/"; // ++

dataString += String (жил); // ++

dataString += ";"; // ++

dataString += String (static_cast (цаг)); // ++

dataString += ":"; // ++

dataString += String (static_cast (минут)); // ++

dataString += ":"; // ++

dataString += String (static_cast (секунд)); // ++ // ****************************************** *****************************

// ** SD -д ХАДГАЛАХ ** // ************************************* **********************************

// файлыг нээнэ үү. Нэг удаад зөвхөн нэг файл нээж болохыг анхаарна уу, **

// тиймээс та нээхээсээ өмнө үүнийг хаах хэрэгтэй. ** // ******************************************** ***************************

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

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

// ** хэрэв файл байгаа бол түүнд бичээрэй: **

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

if (dataFile) {// ++

dataFile.println (dataString); // ++

dataFile.close (); // ++

} өөр {// ++

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

} // ++

}

Хэрэв та кодыг татаж авахыг хүсвэл энэ хуудсанд зочилно уу.

Зөвлөмж болгож буй: