Lectura de tarjeta microsd linea a linea funciona pero parcialmente

Hola
Estoy trabajando un proyecto con un arduino uno y con un un sensor de nivel ultrasonido, esta data debe guardarla en un minuto en una tarjeta sd. el arduino se alimenta por una tarjeta ups con batería.

El código solo escribe un dato en la tarjeta SD.

#include <SPI.h> // Necesario para la SD card
#include <SD.h> // Libreria Modulo SD.
#include <NewPing.h> // Libreria Sensor Ultrasonico.
#include <MedianFilter.h> // Libreria Sensor Ultrasonico.
#include <Wire.h>
#include <MedianFilter.h> // Libreria Sensor Ultrasonico.

#define TRIGGER_PIN 2 // Arduino pin tied to trigger pin on the ultrasonic sensor.
#define ECHO_PIN 4 // Arduino pin tied to echo pin on the ultrasonic sensor.
#define MAX_DISTANCE 450 // Maximum distance we want to ping for (in centimeters). Maximum sensor distance is rated at 400-500cm.

int SENSOR = 0; // Nivel Canaleta
File myFile;

NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // NewPing setup of pins and maximum distance.
MedianFilter filter(31, 0);
const int chipSelect = 8; // Habiltar Tarjeta SD.
int on = 5; // Respaldo de Bateria.
int LBO = 7; //11 o 12 // Respaldo de Bateria.

void setup()
{
pinMode(on, OUTPUT);
pinMode(LBO, INPUT);
delay(10);
digitalWrite(on, HIGH);

Serial.begin(9600);
Serial.print(“Iniciando SD …”);
pinMode(10, OUTPUT);
if (!SD.begin(chipSelect)) {
Serial.println(“No se pudo inicializar”);
return;
}
Serial.println(“PEM TARJETA SD.”);
}

void loop() // Programa del Sensore de Nivel.
{
//Guardar en la micro SD
myFile = SD.open(“test.txt”, FILE_WRITE);

if (myFile) {
Serial.print(“Escribiendo SD” );
delay(100); // Wait 50ms between pings (about 20 pings/sec). 29ms should be the shortest delay between pings.
unsigned int o, uS = sonar.ping(); // Send ping, get ping time in microseconds (uS).
filter.in(uS);
o = filter.out();
Serial.print("SENSOR: “);
Serial.print(( o / US_ROUNDTRIP_CM) - 20); // Convert ping time to distance in cm and print result (0 = outside set distance range)
Serial.println(“cm”);
myFile.print(“Tiempo(ms)=”);
myFile.print(millis());
myFile.print(”,SENSOR output: ");
myFile.print(SENSOR);

myFile.close();// cerramos el archivo
Serial.print("SENSOR: ");
Serial.print(SENSOR);
Serial.println();
delay (2000);

}else {
Serial.println(“Error al abrir el archivo”);
}
delay (100);
}