DataLogger нужна помощь

Toshka
Offline
Зарегистрирован: 20.12.2018

Имеем под рукой:

1. nano

2. DS3231 подключена по i2c на А4 и А5 к нано

3. SD Reader по SPI 

1 что нужно сделать при запуске получить от часов сегодняшнюю дату и создать файл ГГГГ_ММ_ДД.csv

Пробовал реализовать следующим образом:

#include <SD.h>
#include <DS3231.h>

 #define chipSelect 4  // SK кардридера

// объекты и переменные для часов
DS3231 RTC;
RTCDateTime dt;

void setup() {

  while(!SD.begin(chipSelect)) {          // Проверка работоспособности карты памяти
    Serial.println("SD-card not found");  //             
    delay(3000);                  //
   }                                      //  

  Serial.println("SD-card ready");

 RTC.begin(); 
dt = RTC.getDateTime();
//далее формируем строку названия файла
String filename = (String(dt.year) +'_' + String(dt.month) + '_' + String(dt.day)+'.csv') ; 
CSVFile = SD.open (filename, FILE_WRITE);
delay (500);
  if(CSVFile){                                      // если файл доступен (открыт для записи), то ...
    Serial.println("file is opened");
    CSVFile.print("The beginning of a line, ");     // записываем первую часть строки в файл
    CSVFile.println("The end of the line");         // записываем вторую часть строки в файл
    Serial.println("data written to the file");
    CSVFile.close();                                // закрываем файл
    Serial.println("file is closed");
  }else{                                           // иначе ...
    Serial.println("file is not opened");
  } 

}

void loop() {

  
}

В итоге файл не создается, думаю проблема с типами строки, подскажите пожалуйста как сформировать правильно

 

следующая задача через по UART на скорости 19200 получаем данные вида: 

11:41:51,155.40,6789.30,123.30,1234.06,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,

время, 16 числовых значений, все разделенно запятыми, 

необходимо сохранить в массив M[17] эти 16 значений начиная с 2 ячейки тоесть время мы отбрасываем, пропускаем 0 и 1 ячейки массива и пишем каждое значение в свою ячейку.

П.С. Форум читал, но не программист я.... 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Toshka пишет:
сохранить в массив M[17] эти 16 значений начиная с 2 ячейки
Не поместится. 16 чисел в 15 ячеек трудно пихать.

Toshka
Offline
Зарегистрирован: 20.12.2018

Евгений, добавить ячейку не проблема, может что-то более полезное напишите?

 

sadman41
Offline
Зарегистрирован: 19.10.2016

Более полезное написано здесь: http://arduino.ru/forum/obshchii/pesochnitsa-dlya-vsekh-novichkov#comment-406075

ЕвгенийП запамятовал просто.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Вы поставили задачу. Я Вам сказал что она неразрешима и объяснил почему. В ответ, вместо "спасибо" получил: "может что-то более полезное напишите?". Ответ - нет, не напишу. Попробуйте догадаться почему.