Блин не доходит можно еще подсказку
Догадался! скобки непоставил!
Показывайте, куда поставили скобки.
И расскажите своими словами, почему, по вашему, строчка 22 была сдвинута.
#include <TinyGPSPlus.h>
#include <SoftwareSerial.h>
/*
This sample sketch demonstrates the normal use of a TinyGPSPlus (TinyGPSPlus) object.
It requires the use of SoftwareSerial, and assumes that you have a
4800-baud serial GPS device hooked up on pins 4(rx) and 3(tx).
*/
static const int RXPin = 4, TXPin = 3;
static const uint32_t GPSBaud = 9600;
// The TinyGPSPlus object
TinyGPSPlus gps;
// The serial connection to the GPS device
SoftwareSerial ss(RXPin, TXPin);
void setup() {
Serial.begin(9600);
ss.begin(GPSBaud);
}
void loop() {
// This sketch displays information every time a new sentence is correctly encoded.
while (ss.available() > 0)
if (gps.encode(ss.read())) {
Serial.print(F(" Дата: "));
Serial.print(gps.date.month());
Serial.print(F("/"));
Serial.print(gps.date.day());
Serial.print(F("/"));
Serial.print(gps.date.year());
Serial.print(F(" время: "));
if (gps.time.hour() < 10) Serial.print(F("0"));
Serial.print(gps.time.hour());
Serial.print(F(":"));
if (gps.time.minute() < 10) Serial.print(F("0"));
Serial.print(gps.time.minute());
Serial.print(F(" Спутники="));
Serial.println(gps.satellites.value());
}
}
А код-то где?
Картинко - это не код
Код в педыдущем сообщении
Картинко! А код где?
#include <TinyGPSPlus.h>
#include <SoftwareSerial.h>
/*
This sample sketch demonstrates the normal use of a TinyGPSPlus (TinyGPSPlus) object.
It requires the use of SoftwareSerial, and assumes that you have a
4800-baud serial GPS device hooked up on pins 4(rx) and 3(tx).
*/
static const int RXPin = 4, TXPin = 3;
static const uint32_t GPSBaud = 9600;
// The TinyGPSPlus object
TinyGPSPlus gps;
// The serial connection to the GPS device
SoftwareSerial ss(RXPin, TXPin);
void setup() {
Serial.begin(9600);
ss.begin(GPSBaud);
}
void loop() {
// This sketch displays information every time a new sentence is correctly encoded.
while (ss.available() > 0)
if (gps.encode(ss.read())) {
Serial.print(F(" Дата: "));
Serial.print(gps.date.month());
Serial.print(F("/"));
Serial.print(gps.date.day());
Serial.print(F("/"));
Serial.print(gps.date.year());
Serial.print(F(" время: "));
if (gps.time.hour() < 10) Serial.print(F("0"));
Serial.print(gps.time.hour());
Serial.print(F(":"));
if (gps.time.minute() < 10) Serial.print(F("0"));
Serial.print(gps.time.minute());
Serial.print(F(" Спутники="));
Serial.println(gps.satellites.value());
}
}
А возможно ли еще упростить код.Не использовать while (ss.available() > 0)?
если просто удалить перестает отображать информацию
Можно.
Пишите просто while (ss.available())
.
А что значит >0? я его менял на любые цифры никакой разницы
Пока число непрочитанных символов больше нуля …
Это значит “больше нуля”.
Но, вообще-то, ответы на такие вопросы следует искать в учебнике, а не на форуме.
Прошу сильно не пинать. Я понимаю что “while (ss.available() > 0)” это значит что цикл начнет работать когда станет больше 0. Я уложить не могу в голову почему без этого программа не работает. Программа находится в функции “void loop” то есть как я понимаю покругу должна работать и печатать запрошеные данные по очереди в порт ?
Потому что бы читать из порта что то разумное, надо СНАЧАЛА положить туда что то разумное !
Все получилось! Отображает в порт дату, время согласно часового пояса, количество спутников и высоту.
Вопрос А програмно можно чтобы отображало направление в градусах относительно СЕВЕРА
#include <TinyGPSPlus.h>
#include <SoftwareSerial.h>
/*
This sample sketch demonstrates the normal use of a TinyGPSPlus (TinyGPSPlus) object.
It requires the use of SoftwareSerial, and assumes that you have a
4800-baud serial GPS device hooked up on pins 4(rx) and 3(tx).
*/
static const int RXPin = 4, TXPin = 3;
static const uint32_t GPSBaud = 9600;
// The TinyGPSPlus object
TinyGPSPlus gps;
// The serial connection to the GPS device
SoftwareSerial ss(RXPin, TXPin);
int hour; // обЪявление переменной час
int GMT = 5; // обЪявление переменной часовой пояс
void setup() {
Serial.begin(9600);
ss.begin(GPSBaud);
}
void loop() {
// This sketch displays information every time a new sentence is correctly encoded.
while (ss.available())
if (gps.encode(ss.read())) {
Serial.print(F(" Дата: "));
Serial.print(gps.date.month());
Serial.print(F("/"));
Serial.print(gps.date.day());
Serial.print(F("/"));
Serial.print(gps.date.year());
Serial.print(F(" время: "));
hour = gps.time.hour() + GMT; // расчет переменной час с учетом часового пояса
if (hour > 23) hour = hour - 24; // Вычитанм 24 когда часы переходят за 23 часа
if (hour < 10) Serial.print(F("0")); //печать 0 перед часом если меньше 10
Serial.print(hour); // печать скоректируемой переменной час
Serial.print(F(":"));
if (gps.time.minute() < 10) Serial.print(F("0"));
Serial.print(gps.time.minute());
Serial.print(F(" Спутники= "));
Serial.print(gps.satellites.value());
Serial.print(F(" Высота= "));
Serial.println(gps.altitude.meters());
}
}
Ищите - передаётся ли такой параметр в данных от GPS … вижу какой то course и deg() есть в библиотеке …
Спасибо получилось показывает угол! осталось попробывать в движении.
#include <TinyGPSPlus.h> //Библиотека GPS модуля
#include <SoftwareSerial.h>//Библиотека для подключения пинов RX TX к любым назначеным контактам
static const int RXPin = 4, TXPin = 3;
static const uint32_t GPSBaud = 9600;
TinyGPSPlus gps;//Создаём объект gps класса TinyGPSPlus.
// The serial connection to the GPS device
SoftwareSerial ss(RXPin, TXPin);
int hour; // обЪявление переменной час
int GMT = 5; // обЪявление переменной часовой пояс
void setup() {
Serial.begin(9600);
ss.begin(GPSBaud);
}
void loop() {
// This sketch displays information every time a new sentence is correctly encoded.
while (ss.available())
if (gps.encode(ss.read())) {
Serial.print(F(" Дата: "));
Serial.print(gps.date.month());
Serial.print(F("/"));
Serial.print(gps.date.day());
Serial.print(F("/"));
Serial.print(gps.date.year());
Serial.print(F(" время: "));
hour = gps.time.hour() + GMT; // расчет переменной час с учетом часового пояса
if (hour > 23) hour = hour - 24; // Вычитаем 24 когда часы переходят за 23 часа
if (hour < 10) Serial.print(F("0")); //печать 0 перед часом если меньше 10
Serial.print(hour); // печать скоректируемой переменной час
Serial.print(F(":"));
if (gps.time.minute() < 10) Serial.print(F("0"));
Serial.print(gps.time.minute());
Serial.print(F(" Спутники= "));
Serial.print(gps.satellites.value());
Serial.print(F(" Высота= "));
Serial.print(gps.altitude.meters());
Serial.print(F(" Угол направления "));
Serial.println(gps.course.deg());
}
}
Подскажите пожалуйста в каких случаях нужно подключать контакт RX gps модуля (gy-gps6mv2) ?
Ведь модуль ничего не принимает от ардуино только передает данные о местоположении . пробывал оцеплять работает тогда зачем