Problema codice

#include <HX711.h>
#define LED1 2
#include <SD.h>
#include <SPI.h> 
#define PULSANTE 9

File myFile;
int pinCS = 10;
HX711 cell(5,4);

int val = 0;
volatile byte stato = LOW;
long lastBlink = millis();
int ledState = LOW;
float zero;
float lecture;
float attuale;
int potentiometerPin = A0;
int value = 0;
int potentiometer = 0;
int spostamento = 0;
int delta_spostamento = 0;
int spostamentoprec = 0;

void debug(){
 
  value = analogRead(potentiometerPin); // leggo valore potenziometro
  attuale = cell.read();
  lecture = attuale - zero;

  if ( value - potentiometer >= 0 ){
    
    spostamento = spostamento  + (value - potentiometer);
    delta_spostamento = spostamento - spostamentoprec;
    
    if ( lecture < 0 ){
      
      lecture = lecture*(-1);
      
      }
      
      } else {
        
        spostamento = spostamento + (potentiometer - value);
        delta_spostamento = spostamento - spostamentoprec;
        
        if ( lecture < 0 ){
          
          lecture = lecture*(-1);
          
          }
      }
    
  potentiometer = value;
  spostamentoprec = spostamento;
  zero = attuale;
  
  Serial.print(delta_spostamento);
  Serial.print(",");
  Serial.println(lecture);
  
  myFile = SD.open("test.txt",FILE_WRITE);
  
  if (myFile) {
    
    myFile.print(millis());
    myFile.print(",");
    myFile.print(delta_spostamento);
    myFile.print(",");
    myFile.println(lecture);
    myFile.close(); // close the file
    
    }else {
      
      Serial.println("error opening test.txt");
      
      }
    
}

void setup(){
  
  Serial.begin(9600);
  pinMode(pinCS,OUTPUT);
  
  if (!SD.begin()) { // Initialize SD card
    
    Serial.println("Could not initialize SD card."); // if return value is false, something went wrong.
    
    }
    
    if (SD.exists("test.txt")) { // if "file.txt" exists, fill will be deleted
      
      Serial.println("test exists.");
      
      if (SD.remove("test.txt") == true) {
        
        Serial.println("Successfully removed file.");
        
        } else {
          
          Serial.println("Could not removed file.");
          
          }
     }
     
  attachInterrupt( digitalPinToInterrupt(2), debug, HIGH );
  pinMode( LED1, OUTPUT );
  Serial.println( "Setup Done" );
  zero = cell.read();
  potentiometer = analogRead(potentiometerPin);
  pinMode(PULSANTE, INPUT);

}

void loop(){
 val = digitalRead(PULSANTE);
  
   
 digitalWrite( LED1, ledState );
 if ((val != HIGH)) {
 if ( millis() - lastBlink == 40){
   
   lastBlink = millis();
   if ( ledState == LOW )
     ledState = HIGH;
   else
     ledState = LOW;

 }
 }else if(val == HIGH){
  ledState =LOW;
 }
}

Il programma deve prendere ogni 25 Hz (40 millisecondi) il valore di un potenziometro e quello di una cella di carico. Il campionamento è stato grazie ad un interrupt governato da un Led. Quando un pulsante viene premuto l'acquisizione si ferma. Ora il mio problema è che una volta staccata l'alimentazione e poi ricollegata il programma non prende più l'acquisizione bensì rimane spento. Per intenderci il led rimane spento invece che lampeggiare. Grazie dell'aiuto e scusate se posso essere stato poco chiaro