[Risolto]aiuto sto impazzendo!!!

Sono ormai circa 8 ore che non riesco a capire perchè il sottostante sketch funziona (trovato in rete e modificato da me)...

const int Puls = 2;    
const int Led = 13;      

int ContaPuls = 0;  
int StatoPuls = 0;         
int UltimoStatoPuls = 0;   

void LeggiPuls()
{
  StatoPuls = digitalRead(Puls);
}

void Spento()
{
  digitalWrite(Led, LOW);
}

void Acceso()
{  
  digitalWrite(Led, HIGH);
}

void Set_IO()
{
  pinMode(Puls, INPUT);
  pinMode(Led, OUTPUT);
}

void setup() 
{
  Set_IO();
  Serial.begin(9600);
}


void loop() 
{
  LeggiPuls();
  if (StatoPuls != UltimoStatoPuls) 
  {
    if (StatoPuls == HIGH) 
    {
      ContaPuls++;
      Serial.println("ON");
      Serial.print("number of button pushes:  ");
      Serial.println(ContaPuls);
    } 
    else 
    {
      Serial.println("OFF"); 
    }
  }
  
  UltimoStatoPuls = StatoPuls;
  
  if (ContaPuls % 4 == 0) 
  {
    Acceso();
  } 
  else 
  {
    Spento();
  }
}

mentre invece il sottostante no.....

const int Led=13;
const int Puls=1;

int ContaPuls=0;
int StatoPuls=0;
int UltimoStatoPuls=0;

void LeggiPuls()
{
 StatoPuls=digitalRead(Puls); 
}

void Acceso()
{
  digitalWrite(Led, HIGH);
}

void Spento()
{
  digitalWrite(Led, LOW);
}

void Set_IO()
{
  pinMode(Led, OUTPUT);
  pinMode(Puls, INPUT);
}

void setup()
{
  Set_IO();
  Serial.begin(9600);
}

void loop()
{
  LeggiPuls();
  if(StatoPuls != UltimoStatoPuls)
  {
    if(StatoPuls==HIGH)
    {
      ContaPuls++;
      Serial.println("ON");
      Serial.println("Numero di volte che il pulsante è stato premuto:  ");
      Serial.println(ContaPuls);
    }
    else
    {
      Serial.println("OFF");
    }
  }
    
  UltimoStatoPuls = StatoPuls;
    
  if (ContaPuls % 4 == 0) 
  {
    Acceso();
  } 
  else 
  {
    Spento();
  }
}

Allora il primo come gia detto l'ho trovato in rete e modificato. Il secondo è stato modificato ulteriormente ma non funzionando sono piano piano tornato indietro fino ad avere nuovamente il primo sketch... insomma sono praticamente uguali ma il secondo non funziona.... ovvero è come se io premessi il pulsante in continuazione ottenendo così, tramite seriale la visualizzazione di ogni volta che suppostamente il pulsante è stato premuto e per quanto riguarda il led, bè, lui lampeggia... debbo dire anche con una regolarità affascinante. Ma comunque sia a parte il lampeggio non fa assolutamente quello che fa il primo pur essendo essenziamente uguali

Perché il pin 1 è usato dalla seriale... Cambia pin

mi vien da ridere.... :smiley:
dopo tutto il tempo passato a provare e riprovare era così semlice!!

Grazie TANTE!!