Как осуществить запись на SD карту в два (три) столбика?

Тема в разделе "Arduino & Shields", создана пользователем РоманИ, 15 мар 2016.

  1. Megakoteyka

    Megakoteyka Оракул Модератор

    Так вы начинайте системно изучать, а не урывками. Иначе будет каша в голове.
    [​IMG]
     
    Mestniy нравится это.
  2. Sindbad

    Sindbad Гик

    Код (C++):
    SavaData();
     
  3. AlexVS

    AlexVS Гик

    Код (C++):
    void loop()
    {
      unsigned long currentMillis = millis();
        //проверяем не прошел ли нужный интервал, если прошел то
      if(currentMillis - previousMillis > interval)
       {
        // сохраняем время последнего переключения
        previousMillis = currentMillis;
        SavaData2SD();
       }
    }
     
    РоманИ нравится это.
  4. РоманИ

    РоманИ Нерд

    Спасибо большое! Записываю в тетрадочку. А в loop вернуться нужен return или автоматически переходит обратно?
     
  5. AlexVS

    AlexVS Гик

    return - не нужен, в данном случае.
     
  6. prohor-nastya

    prohor-nastya Нерд

    Доброго дня, Как писать две переменные в два разных файла, что то не получается ни как...ъ
    первый файл пишет, второй ошибка...
    Код (C++):
    #include <SPI.h>
    #include <SD.h>
    #include <Wire.h>// библиотека для работы I2C
    #include <TroykaIMU.h>// библиотека для работы с модулями IMU
    Barometer barometer;
    Accelerometer accel;
    File myFile;
    //File myFile2;
    //File myFile3;
    float alt1;
    float pressure;

    void setup()
    {
        Serial.begin(9600);// открываем последовательный порт
        while (!Serial)
        {
            ; // wait for serial port to connect. Needed for Leonardo only
        }
        Serial.print("Initializing SD card...");
        if (!SD.begin(8))
        {
        Serial.println("initialization failed!");
        return;
        }
        Serial.println("initialization done.");
        barometer.begin();
      // выводим сообщение об удачной инициализации
        Serial.println("Barometr Initialization completed");

         accel.begin();
          // устанавливаем чувствительность акселерометра
          // 2g — по умолчанию, 4g, 8g
          accel.setRange(RANGE_2G);
          // выводим сообщение об удачной инициализации
          Serial.println("Accelerom Initialization completed");
          pressure = barometer.readPressureMillibars();
          alt1 = barometer.pressureToAltitudeMeters(pressure);
      }

      void loop()
      {

      float x = accel.readAZ()*100;

      float angle = map(x,0,1000, 90,0);
      Serial.print("Naklon - ");
      Serial.print(angle);
      Serial.println("gradusov");
      // создаём переменную и присваиваем ей значения абсолютного давления
      float pressure = barometer.readPressureMillibars();
      // создаём переменную и присваиваем ей значения высоты над уровнем море
      float altitude = barometer.pressureToAltitudeMeters(pressure);
      delay(100);
      Serial.print("h: ");
      Serial.print(altitude - alt1);
      Serial.print(" m \t");

      Serial.print("\t\t");
      Serial.println("");
      delay(500);
      float temperature = barometer.readTemperatureC();

      Serial.print("temper=");
      Serial.print(temperature);
      Serial.println(" C");
      delay(500);

      myFile = SD.open("Altitude.txt", FILE_WRITE);
      if (myFile) {
       myFile.print("H--: \t");
       myFile.println(altitude - alt1);
       myFile.println("");
       myFile.close();
       Serial.println("Success!");
        } else {
            // выводим ошибку если не удалось открыть файл
            Serial.println("error opening file");
        }
       delay(500);
     
       myFile = SD.open("Temperature.txt", FILE_WRITE);
       if (myFile) {
       myFile.print("T--: \t");
       myFile.println(temperature);
       myFile.println("");
       myFile.close();
       Serial.println("Success!");
        } else {
            // выводим ошибку если не удалось открыть файл
            Serial.println("error opening file");
        }
       delay(100);

    }
     
  7. prohor-nastya

    prohor-nastya Нерд

    Все разобралсо... В названии второго файла было слишком много букав.
    Всем спасибо!