// C++ code

// constants won't change. They're used here to set pin numbers:
const int buttonPin = 2;  // the number of the pushbutton pin
const int ledPin = 4;    // the number of the LED pin


// Variables will change:
int ledState = HIGH;        // the current state of the output pin
int buttonState;            // the current reading from the input pin
int lastButtonState = LOW;  // the previous reading from the input pin
int button_counter = 0;
  
void setup() {
  pinMode(buttonPin, INPUT);
  pinMode(ledPin, OUTPUT);
  // set initial LED state
  digitalWrite(ledPin, ledState);
  Serial.begin(9600);
  Serial.println("Contador de pulsaciones: ");
  Serial.println(button_counter);
}

void loop() {
  int reading = digitalRead(buttonPin);
  // if the button state has changed:
  if (reading != buttonState) {
    buttonState = reading;    
    // only toggle the LED if the new button state is HIGH
    if (buttonState == HIGH) {
      ledState = !ledState;
      button_counter++;
      Serial.println(button_counter);
    }
  }
  // set the LED:
  digitalWrite(ledPin, ledState);
  // save the reading. Next time through the loop, it'll be the lastButtonState:
  lastButtonState = reading;
}
$abcdeabcde151015202530fghijfghij