0 голосов
Добрый день, у меня возникает ошибка компиляции для arduino uno: Используется: C:\Users\dell\Documents\Arduino\libraries\TroykaGPS
Не используется: C:\Users\dell\Documents\Arduino\libraries\TroykaGPS-master
Не используется: C:\Users\dell\Documents\Arduino\libraries\TroykaGPS-1.0.0
exit status 1.
Я использую клон бренда (Freendve) + (AMP-B017)+(AMP-B073)+(AMP-B220)
Подскажите пожалуйста в чем модет быть проблема.

// библиотека для работы с устройствами по SPI
#include <SPI.h>
// библиотека для работы с SD-картой
#include <SD.h>
// библиотека для работы с GPS устройством
#include <TroykaGPS.h>
// создаём объект класса GPS и передаём в него объект Serial1
GPS gps(Serial1);
// пин светодиода
#define LED_PIN           A0
// пин кнопки
#define BUTTON_PIN        13
// пин CS micro-sd карты
#define CHIP_SELECT_PIN   9
// интервал времени записи данных на карту
#define INTERVAL          5000
// задаём размер массива для времени, даты, широты и долготы
#define MAX_SIZE_MASS 16
// массив для хранения текущего времени
char time[MAX_SIZE_MASS];
// состояние записи
bool stateRec = false;
// запоминает текущее время
long startMillis = millis();
 
void setup()
{
  // открываем последовательный порт для мониторинга действий в программе
  Serial.begin(115200);
  // ждём, пока не откроется монитор последовательного порта
  // для того, чтобы отследить все события в программе
//  while (!Serial) {
//  }
  Serial.print("Serial init OK\r\n");
  // открываем Serial-соединение с GPS-модулем
  Serial1.begin(115200);
  // устанавливаем светодиод в режим выхода
  pinMode(LED_PIN, OUTPUT);
  // устанавливаем кнопку в режим входа
  pinMode(BUTTON_PIN, INPUT_PULLUP);
  // выводим информацию об инициализации в Serial-порт
  Serial.println("Initializing SD card...");
  // инициализируем SD-карту
  while (!SD.begin(CHIP_SELECT_PIN)) {
    Serial.println("Card failed, or not present");
    delay(1000);
  }
  // выводим информацию в Serial-порт
  Serial.println("Card initialized");
  // создаём объект dataFile класса File для работы с файлами
  File dataFile = SD.open("dataGPS.csv", FILE_WRITE);
  // если файл существует
  if (dataFile) {
    // записываем название будущих данных на карту памяти
    dataFile.println("Time, Coordinates, Speed");
    // закрываем файл
    dataFile.close();
    Serial.println("Save OK");
  } else {
    Serial.println("Error opening test.csv");
  }
}
 
void loop()
{
  // Фиксируем нажатие кнопки
  if (!digitalRead(BUTTON_PIN)) {
    // меняем состояние «запись» / «не запись» на карту памяти
    stateRec = !stateRec;
    // меняем состояние светодиода индикации
    digitalWrite(LED_PIN, stateRec);
  }
  // если пришли данные с gps-модуля
  if (gps.available()) {
    // считываем данные и парсим
    gps.readParsing();
    // проверяем состояние GPS-модуля
    switch(gps.getState()) {
      // всё OK
      case GPS_OK:
        Serial.println("GPS is OK");
        // если прошёл заданный интервал времени
        if (millis() - startMillis > INTERVAL && stateRec) {
          // сохраняем данные на карту памяти
          saveSD();
          // запоминаем текущее время
          startMillis = millis();
        }
        break;
      // ошибка данных
      case GPS_ERROR_DATA:
        Serial.println("GPS error data");
        break;
      // нет соединение со спутниками
      case GPS_ERROR_SAT:
        Serial.println("GPS no connect to satellites");
        break;
    }
  }
}
 
// функция сохарение данных на карту памяти
void saveSD() {
  File dataFile = SD.open("dataGPS.csv", FILE_WRITE);
  // если файл существует и открылся
  if (dataFile) {
    // считывает текущее время
    gps.getTime(time, MAX_SIZE_MASS);
    // записываем время на карту памяти
    dataFile.print("\"");
    dataFile.print(time);
    dataFile.print("\"");
    dataFile.print(",");
    dataFile.print("\"");
    // считываем и записывае координаты широты и долготы на карту памяти
    dataFile.print(gps.getLatitudeBase10(), 6);
    dataFile.print(",");
    dataFile.print(gps.getLongitudeBase10(), 6);
    dataFile.print("\"");
    dataFile.print(",");
    dataFile.print(gps.getSpeedKm());
    dataFile.println("km/h");
    dataFile.close();
    Serial.println("Save OK");
  } else {
    Serial.println("Error opening test.csv");
  }
}
(4 баллов) 5 3 5

1 Ответ

0 голосов
Возможно несколько библиотек с одинаковыми названиями.
Оставьте одну - ту которая под ваш девайс. Остальные перенесите во временную папку.
(28 баллов) 1 4 10
Добро пожаловать на Бредборд! Сайт вопросов и ответов на тему Arduino, Raspberry Pi и хоббийной электроники в целом. Цель Бредборда — быть максимально полезным. Поэтому мы строго следим за соблюдением правил, боремся с холиворами и оффтопиком.

    За этот месяц ещё никого.

    ...