Про GY-GPS6MV2
- Войдите на сайт для отправки комментариев
Втр, 14/09/2021 - 16:39
Правильно ли я подключил модуль?
VCC - 3.3V
GND - GND
RX(на модуле) - RX(на ардуино)
TX(на модуле) - RX(на ардуино)
В интернете на некоторых сайта пишут rx - rx tx - tx, а на других rx-tx tx-rx. Какой правильный?
Правильно ли я подключил модуль?
RX(на модуле) - RX(на ардуино)
TX(на модуле) - RX(на ардуино)
оба пина с модуля - на RX ардуино?
Правильно ли я подключил модуль?
RX(на модуле) - RX(на ардуино)
TX(на модуле) - RX(на ардуино)
оба пина с модуля - на RX ардуино?
Ой ошибся. Иизвиняюсь
RX(на модуле) - RX(на ардуино)
TX(на модуле) - TX(на ардуино)
RX(на модуле) - RX(на ардуино)
TX(на модуле) - TX(на ардуино)
неправильно, правильно
rx -tx
tx -rx
RX(на модуле) - RX(на ардуино)
TX(на модуле) - TX(на ардуино)
неправильно, правильно
rx -tx
tx -rx
Спасибо. А с модулем ничего не случится если я так присоединил и запустил?
RX(на модуле) - RX(на ардуино)
TX(на модуле) - TX(на ардуино)
с модулем ничего не случится если я так присоединил и запустил?
этого не знаю, я в электронике нуб.
Если оба сразу передавать начали и HIGH с LOW встретились, что там будет...
с модулем ничего не случится если я так присоединил и запустил?
этого не знаю, я в электронике нуб.
Если оба сразу передавать начали и HIGH с LOW встретились, что там будет...
Вроде бы все норм. Щас перепаял и теперь не пишет что модуль не подключен. Осталось подождать пока спутники найдет
Спутники так и не нашлись. В чем может быть дело? Может в батарейке на модуле? Час назад напряжение у батарейки было 2.6, а щас 2.25.
Подключение:
VCC - 3.3V
GND - GND
RX(на модуле) - TX(на ардуино)
TX(на модуле) - RX(на ардуино)
(На ардуино мигает RX)
Может в программе?
#include <TinyGPS++.h> #include <SoftwareSerial.h> static const int RXPin = 0, TXPin = 1; static const uint32_t GPSBaud = 9600; // The TinyGPS++ object TinyGPSPlus gps; // The serial connection to the GPS device SoftwareSerial ss(RXPin, TXPin); void setup() { Serial.begin(115200); ss.begin(GPSBaud); } void loop() { static const double MOSCOW_LAT = 56.337582, MOSCOW_LON = 38.370631; Serial.print("Спутников - \t\t\t\t"); printInt(gps.satellites.value(), gps.satellites.isValid(), 5); //- информация о спутниках Serial.println(); Serial.print("Точность по горизон. - \t\t\t"); printFloat(gps.hdop.hdop(), gps.hdop.isValid(), 6, 1); // - Точность Serial.println(); Serial.print("Широта и долгота - \t\t\t"); printFloat(gps.location.lat(), gps.location.isValid(), 11, 6); Serial.print(" / "); printFloat(gps.location.lng(), gps.location.isValid(), 12, 6); Serial.println(); Serial.print("Дата и время - \t\t\t\t"); printDateTime(gps.date, gps.time); Serial.println(); Serial.print("Высота над уровнем моря - \t\t"); printFloat(gps.altitude.meters(), gps.altitude.isValid(), 7, 2); Serial.println(); Serial.print("Направление движения (компас) - \t"); printFloat(gps.course.deg(), gps.course.isValid(), 7, 2); Serial.println(); Serial.print("Скорость в км. - \t\t\t"); printFloat(gps.speed.kmph(), gps.speed.isValid(), 6, 2); Serial.println(); Serial.print("Направление - \t\t\t\t"); printStr(gps.course.isValid() ? TinyGPSPlus::cardinal(gps.course.deg()) : "*** ", 6); Serial.println(); Serial.print("расстояние до дачи - \t\t\t"); unsigned long distanceKmToMoscow = (unsigned long)TinyGPSPlus::distanceBetween( gps.location.lat(), gps.location.lng(), MOSCOW_LAT, MOSCOW_LON) / 1000; printInt(distanceKmToMoscow, gps.location.isValid(), 9); double courseToMoscow = TinyGPSPlus::courseTo( gps.location.lat(), gps.location.lng(), MOSCOW_LAT, MOSCOW_LON); printFloat(courseToMoscow, gps.location.isValid(), 7, 2); Serial.println(); Serial.print("Направление к даче - \t\t\t"); const char *cardinalToMoscow = TinyGPSPlus::cardinal(courseToMoscow); printStr(gps.location.isValid() ? cardinalToMoscow : "*** ", 6); Serial.println(); // printInt(gps.charsProcessed(), true, 6); // printInt(gps.sentencesWithFix(), true, 10); // printInt(gps.failedChecksum(), true, 9); Serial.println("------------------------------------------------------------------"); smartDelay(10000); // Пауза для вывода if (millis() > 5000 && gps.charsProcessed() < 10) Serial.println(F("Данные GPS не получены: проверьте соединение")); } // This custom version of delay() ensures that the gps object // is being "fed". static void smartDelay(unsigned long ms) { unsigned long start = millis(); do { while (ss.available()) gps.encode(ss.read()); } while (millis() - start < ms); } static void printFloat(float val, bool valid, int len, int prec) { if (!valid) { while (len-- > 1) Serial.print('*'); Serial.print(' '); } else { Serial.print(val, prec); int vi = abs((int)val); int flen = prec + (val < 0.0 ? 2 : 1); // . and - flen += vi >= 1000 ? 4 : vi >= 100 ? 3 : vi >= 10 ? 2 : 1; for (int i=flen; i<len; ++i) Serial.print(' '); } smartDelay(0); } static void printInt(unsigned long val, bool valid, int len) { char sz[32] = "*****************"; if (valid) sprintf(sz, "%ld", val); sz[len] = 0; for (int i=strlen(sz); i<len; ++i) sz[i] = ' '; if (len > 0) sz[len-1] = ' '; Serial.print(sz); smartDelay(0); } static void printDateTime(TinyGPSDate &d, TinyGPSTime &t) { if (!d.isValid()) { Serial.print(F("********** ")); } else { char sz[32]; sprintf(sz, "%02d/%02d/%02d ", d.month(), d.day(), d.year()); Serial.print(sz); } if (!t.isValid()) { Serial.print(F("******** ")); } else { char sz[32]; sprintf(sz, "%02d:%02d:%02d ", t.hour(), t.minute(), t.second()); Serial.print(sz); } printInt(d.age(), d.isValid(), 5); smartDelay(0); } static void printStr(const char *str, int len) { int slen = strlen(str); for (int i=0; i<len; ++i) Serial.print(i<slen ? str[i] : ' '); smartDelay(0); }у вас Софтсериал подключен к тем же пинам, что и аппаратный? и как оно может работать, по вашему?
Ардуина какая?
у вас Софтсериал подключен к тем же пинам, что и аппаратный? и как оно может работать, по вашему?
Ардуина какая?
Ардуина какая?
на Нано пины 0 и 1 уже заняты аппаратным Сериал (тем, что к USB подключен). использовать эти пины для поключения СофтСериала нельзя
Ардуина какая?
на Нано пины 0 и 1 уже заняты аппаратным Сериал (тем, что к USB подключен). использовать эти пины для поключения СофтСериала нельзя
Понял, я прочитал что можно еще использовать D3 и D4. Какой из них надо подключить к RX/TX?
я прочитал что можно еще использовать D3 и D4. Какой из них надо подключить к RX/TX?
не знаю, где вы это вычитали, но вообще можно использовать ЛЮБЫЕ цифровые пины, кроме 0 и 1. Еще желательно не трогать 13й, потому что там висит светодиод.
RX TX как угодно по своему выбору
я прочитал что можно еще использовать D3 и D4. Какой из них надо подключить к RX/TX?
не знаю, где вы это вычитали, но вообще можно использовать ЛЮБЫЕ цифровые пины, кроме 0 и 1. Еще желательно не трогать 13й, потому что там висит светодиод
Спасибо. Тогда получается, что без разницы какому цифровому пину подключать RX/TX?(Извиняюсь, просто не хорошо понял это предложение "RX TX как угодно по своему выбору")
Спасибо. Тогда получается, что без разницы какому цифровому пину подключать RX/TX?
только в операторе
пины прописать в правильном порядке
Спасибо. Тогда получается, что без разницы какому цифровому пину подключать RX/TX?
только в операторе
пины прописать в правильном порядке
Большое спасибо вам!