3 термопары и tft дисплей SPI ILI9225 к шине SPI

Блин не доходит можно еще подсказку

Догадался! скобки непоставил!

Показывайте, куда поставили скобки.

И расскажите своими словами, почему, по вашему, строчка 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());
    }
}

Отформатировал нагляднее.
if -оператор который выполняет блок под ним.

А код-то где?

Картинко - это не код :face_with_symbols_over_mouth:

Код в педыдущем сообщении

Картинко! А код где?

#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” то есть как я понимаю покругу должна работать и печатать запрошеные данные по очереди в порт ?

Потому что бы читать из порта что то разумное, надо СНАЧАЛА положить туда что то разумное !

1 лайк

Все получилось! Отображает в порт дату, время согласно часового пояса, количество спутников и высоту.

Вопрос А програмно можно чтобы отображало направление в градусах относительно СЕВЕРА

#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) ?

Ведь модуль ничего не принимает от ардуино только передает данные о местоположении . пробывал оцеплять работает тогда зачем :exploding_head: