Мазмуну:

Arduino долбоору: GPS Tracking Solution үчүн Test Range LoRa Module RF1276: 9 кадам (Сүрөттөр менен)
Arduino долбоору: GPS Tracking Solution үчүн Test Range LoRa Module RF1276: 9 кадам (Сүрөттөр менен)

Video: Arduino долбоору: GPS Tracking Solution үчүн Test Range LoRa Module RF1276: 9 кадам (Сүрөттөр менен)

Video: Arduino долбоору: GPS Tracking Solution үчүн Test Range LoRa Module RF1276: 9 кадам (Сүрөттөр менен)
Video: Lesson 28: Car-6 SunFounder self Driving Arduino car using | Robojax 2024, Ноябрь
Anonim
Arduino Project: GPS Tracking Solution үчүн TestRange LoRa Module RF1276
Arduino Project: GPS Tracking Solution үчүн TestRange LoRa Module RF1276

Байланыш: USB - Сериялык

Кереги: Chrome браузери

Кереги: 1 X Arduino Mega

Керек: 1 X GPS

Кереги: 1 X SD карта

Керек: 2 X LoRa модем RF1276

Функция: Arduino GPS баасын негизги базага жөнөтүү-Dataino Server Lora Module'деги негизги базалык дүкөндүн маалыматы: APPCONWIRELESS LoRa'дан келген RF1276 ультра узак диапазону-бул маалыматтарды өтө төмөн ылдамдыкта жөнөтүүгө мүмкүнчүлүк берген жаңы, жеке жана спектрлүү модуляция ыкмасы. узак аралыктар. Төмөн маалымат ылдамдыгы (секундасына бир нече байтка чейин) жана LoRa модуляциясы кабыл алуучунун сезгичтигине алып келет, бул тестте 10 кмден ашык дегенди билдирет.

1 -кадам: Базалык станция

Базалык станция
Базалык станция
Базалык станция
Базалык станция

Компьютердин туурасы интернет байланышы жана LoRa модеми USB портуна туташкан.

Ардуино унаа комплект ·

Метрикалык кутуча

Anduino Mega 2 сериясына GPS кабылдагычка, ал эми Serial 1 LoRa модемине туташкан. SD карта маалыматтарды сактоо үчүн колдонулат.

2 -кадам: Биринчи тест

Биринчи сыноо
Биринчи сыноо

· Шаар борборлору, галереялар жана жээкте илмек менен жасалган жолдо 10,6 км

Кабыл алуу /берүү катышы 321 /500TX чекитин түздү

RX чекити

3 -кадам: Interface түзүү

Интерфейсти түзүү
Интерфейсти түзүү
Интерфейсти түзүү
Интерфейсти түзүү

1 - LoRa жаңы долбоорун орнотуу

Долбоордун конфигурациясын ачуу үчүн сөлөкөт тиш баскычын басыңыз

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ге туташуу

// Pin 4 бул жерде башка Arduino мисалдары менен ырааттуулук үчүн колдонулат const int chipSelect = 53;

// ++ SD пин тандагыч

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

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

TinyGPS GPS; // Serial2 ++ GPS

жараксыз gpsdump (TinyGPS & gps); // ++

bool newdataGPS = жалган; // ++

Бул сапты орнотууга кошуңуз ()

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

// ** GPS сериялык орнотуусу ** // ************************************* ********************************

Serial2.begin (9600); // ++

кечигүү (1000); // ++

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

// ** SD башталууда ** // ************************************** *********************************

// демейки чип тандоо пини // ++ коюлганын текшериңиз

// чыгаруу, эгер сиз аны колдонбоңуз да: // ++

pinMode (SS, OUTPUT); // ++

Serial.println (F ("SD картаны баштоо …")); // ++

// картанын бар экенин жана инициализацияланарын караңыз: // ++

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

Serial.println (F ("Карта ишке ашпай калды, же жок")); // ++

// башка эч нерсе кылба: // ++

кайтуу; // ++

} башка {// ++

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

} // ++

Бул саптарды loop () боштугуна кошуңуз

serialEvent2 (); // ++ чалуу GPS сериялык окуя

SeriaEvent2 кодун кошуу

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

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

жараксыз serialEvent2 () {// ++

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

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

//Serial.print(c); // чийки GPS маалыматын көрүү үчүн комментарий жазба // ++

эгер (gps.encode (c)) {// ++

newdataGPS = чын; // ++

тыныгуу; // жаңы маалыматтарды дароо басып чыгарууга комментарий бербеңиз! // ++

} // ++

} // ++

} // ++

GPS таштандысын үн менен кошуу

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

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

// ** градус боюнча кеңдиктин жарактуу диапазону -90 жана +90. **

// ** Узундук -180 жана +180 диапазонунда **

// ** чыгыш-батыш позициясын көрсөтүү **

//** "123456789 1234567890" **

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

жараксыз gpsdump (TinyGPS & gps) // ++

{ // ++

int year; // ++

байт ай, күн, саат, мүнөт, секунд, жүздөр; // ++

кол коюлбаган узак жаш; // ++

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 += Стринг (static_cast (күн)); // ++

dataString += "/"; // ++

dataString += Стринг (static_cast (ай)); // ++

dataString += "/"; // ++

dataString += Стринг (жыл); // ++

dataString += ";"; // ++

dataString += Стринг (static_cast (саат)); // ++

dataString += ":"; // ++

dataString += Стринг (static_cast (мүнөт)); // ++

dataString += ":"; // ++

dataString += Стринг (static_cast (экинчи)); // ++ // ****************************************** *****************************

// ** SDге САКТАҢЫЗ ** // ************************************* **********************************

// файлды ачуу. Белгилей кетсек, бир эле учурда бир гана файл ачыла алат, **

// ошондуктан экинчисин ачардан мурун муну жабышыңыз керек. ** // ******************************************** ***************************

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

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

// ** эгерде файл бар болсо, ага жазыңыз: **

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

if (dataFile) {// ++

dataFile.println (dataString); // ++

dataFile.close (); // ++

} башка {// ++

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

} // ++

}

Эгерде сиз кодду жүктөгүңүз келсе, бул баракчага өтүңүз.

Сунушталууда: