Мазмуну:
- 1 -кадам: Базалык станция
- 2 -кадам: Биринчи тест
- 3 -кадам: Interface түзүү
- 4 -кадам: ченегичти кошуу
- 5 -кадам: GPSти сүйрөңүз жана OpenStreetMap кошуңуз
- 6 -кадам: GPS ченегичти сүйрөңүз жана стол журналын кошуңуз
- 7 -кадам: Кодду алыңыз
- 8 -кадам: Arduino IDE
- 9 -кадам: Чоо -жайын коддоо
Video: Arduino долбоору: GPS Tracking Solution үчүн Test Range LoRa Module RF1276: 9 кадам (Сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:41
Байланыш: 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 кошуңуз
· 5) столго OpenStreetMap картасын кошуу
GPS компонентин сөлөкөт картасына сүйрөп, OpenStreet картасы түзүлөт.
Интерфейсти түзүү
· 6) Картанын жаңыртуусун өзгөртүү
Картаны жаңыртуу убактысын 5000ден 10000гө өзгөртүңүз
6 -кадам: GPS ченегичти сүйрөңүз жана стол журналын кошуңуз
· 7) Таблицанын журналын кошуу.
GPS сөлөкөтүнүн үстөлүндөгү ченегичти сүйрөө менен ченегич стол журналы түзүлөт
· 8) Таблицанын журналын жаңыртууну өзгөртүү. Картаны жаңыртуу убактысын 5000ден 10000гө өзгөртүңүз
Ченегичтердин абалын тууралаңыз
· 9) Сүйрөө өлчөгүчтөр экранды сүйрөп өлчөгүчтөрдүн абалын тууралайт.
· 10) Долбоорду сактоо
7 -кадам: Кодду алыңыз
10) Код контейнерин иштетүү
Жогорку оң баскычтагы баскыч, бардыгын тандап, базалык кодду көчүрүңүз.
8 -кадам: 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")); // ++
} // ++
}
Эгерде сиз кодду жүктөгүңүз келсе, бул баракчага өтүңүз.
Сунушталууда:
Arduino автоматташтырылган көлөкө экраны долбоору үчүн кадам моторун жана драйверди тандоо: 12 кадам (сүрөттөр менен)
Arduino автоматташтырылган көлөкө экраны долбоору үчүн тепкич моторун жана драйверди тандоо: Бул Нускамада мен Automated Shade Screen долбоорунун прототипине Step Motor жана Driver тандоо үчүн жасаган кадамдарымдан өтөм. Көлөкөлүү экрандар - бул популярдуу жана арзан Coolaroo кол менен жасалган моделдер, мен аны алмаштыргым келди
Өзүңүздүн Raspberry Pi Compule Module PCB долбоору: 5 кадам (Сүрөттөр менен)
Өзүңүздүн Raspberry Pi эсептөө модулуңузду ПКБдан жасаңыз: Эгерде сиз Raspberry Pi Compute Module жөнүндө эч качан уккан эмес болсоңуз, бул негизинен ноутбуктун RAM таякчасы бар формалдуу Linux компьютери! Raspberry Pi - бул дагы бир с
Манжа изинин сенсорун XAMP Solution менен айкалыштыруу үчүн колдонуу: 6 кадам (сүрөттөр менен)
Манжа изинин сенсорун XAMP Чечими менен айкалышта катышуу үчүн колдонуу: Мектептин долбоору үчүн биз окуучулардын сабакка катышуусун кантип көзөмөлдөө боюнча чечим издеп жүргөнбүз. Көптөгөн студенттерибиз кеч келишет. Бул алардын бар экендигин текшерүү түйшүктүү жумуш. Башка жагынан алганда, көптөгөн талкуулар бар, анткени студенттер көп учурда
Сүйүү оюнчулар үчүн, Arduino долбоору бойдоктор үчүн жасалган: 5 кадам
Сүйүү оюнчулар үчүн, Arduino долбоору бойдоктор үчүн жасалган: Бул көрсөтмө менин " Сүйүү оюнчулар үчүн " аттуу Arduino долбоорум жөнүндө. күлкү жана көңүл ачуу куралы катары башталган. Бул идеалдуу же эч нерсе эмес, бирок ал иштейт
P10 LED дисплейи менен DMDди колдонуу менен Score Board долбоору: 6 кадам (Сүрөттөр менен)
P10 LED дисплейи менен DMDди колдонуу менен Score Board долбоору: Көп учурда биз футбол стадионунда жолугушабыз; табло катары кызмат кылган алп LED тактасы бар. Башка спорттук талаада да, биз көбүнчө LEDден жасалган дисплейдин таблосун билебиз. Мүмкүн болбогону менен, бизди дагы бир талаа дагы