(RESUELTO)Encender led con boton y activar con otro

hola que tal necesito ayuda para desarrollar la siguiente función :

-con el boton 1 se pulsa varias veces y un contador se incrementara
-una vez el contador en el numero deseado
-se pulsa el boton 2 y encendera y apagara en intervalos de 1s las veces pulsadas

algun ejemplo ya hecho, algun consejo que me pueda ayudar es util

Aqui el codigo final:

int led=13;
int conta;

int estado=0;
void setup() {
  pinMode(13,OUTPUT);
  pinMode(2,OUTPUT);
  Serial.begin(9600);
conta=0;
}
void loop() {
 Serial.println(conta);
 int b1=digitalRead(2);
  int estado=digitalRead(3);
 delay(170);
 if(digitalRead(2)==HIGH)
{
  conta++;
}

if((estado==1)&&(conta==1))
{
  digitalWrite(led,HIGH);
  delay(1000);
    digitalWrite(led,LOW);
delay(1000);
    conta=0;
    
}
if((estado==1)&&(conta==2))
{
  digitalWrite(led,HIGH);
  delay(1000);
    digitalWrite(led,LOW);
delay(1000);
  digitalWrite(led,HIGH);
  delay(1000);
    digitalWrite(led,LOW);
delay(1000);
    conta=0;
}
if((estado==1)&&(conta==3))
{
  digitalWrite(led,HIGH);
  delay(1000);
    digitalWrite(led,LOW);
delay(1000);
  digitalWrite(led,HIGH);
  delay(1000);
    digitalWrite(led,LOW);
delay(1000);
digitalWrite(led,HIGH);
  delay(1000);
    digitalWrite(led,LOW);
delay(1000);
    conta=0;
}
if((estado==1)&&(conta==4))
{
  digitalWrite(led,HIGH);
  delay(1000);
    digitalWrite(led,LOW);
delay(1000);
  digitalWrite(led,HIGH);
  delay(1000);
    digitalWrite(led,LOW);
delay(1000);
digitalWrite(led,HIGH);
  delay(1000);
    digitalWrite(led,LOW);
delay(1000);
digitalWrite(led,HIGH);
  delay(1000);
    digitalWrite(led,LOW);
delay(1000);
    conta=0;
}
if((estado==1)&&(conta==5))
{
  digitalWrite(led,HIGH);
  delay(1000);
    digitalWrite(led,LOW);
delay(1000);
  digitalWrite(led,HIGH);
  delay(1000);
    digitalWrite(led,LOW);
delay(1000);
digitalWrite(led,HIGH);
  delay(1000);
    digitalWrite(led,LOW);
delay(1000);
digitalWrite(led,HIGH);
  delay(1000);
    digitalWrite(led,LOW);
delay(1000);
digitalWrite(led,HIGH);
  delay(1000);
    digitalWrite(led,LOW);
delay(1000);
    conta=0;}}

@ckroncm, eso suena a tarea escolar.Este foro no está para hacer tu tarea. Hay muchos ejemplos similares en la web en los que te podés basar para hacerlo. Si tenés alguna duda puntual acá se te va a ayudar pero deberías intentar realizar el código vos mismo. Es bastante sencillo y nunca vas a aprender si otro te hace la tarea.

En este foro hay muchos ejemplos similares.
Ve a Software y ponte a leer uno por uno hasta hallarlo.

Tal vez no sean idénticos pero como pides guia, encontrarás como entender lo que debes hacer.

Ya logre hacer uno bastante fácil pero no quería usar tantos delay
he aquí mi código:

int led=13;
int conta;

int estado=0;
void setup() {
  pinMode(13,OUTPUT);
  pinMode(2,OUTPUT);
  Serial.begin(9600);
conta=0;
}
void loop() {
 Serial.println(conta);
 int b1=digitalRead(2);
  int estado=digitalRead(3);
 delay(170);
 if(digitalRead(2)==HIGH)
{
  conta++;
}

if((estado==1)&&(conta==1))
{
  digitalWrite(led,HIGH);
  delay(1000);
    digitalWrite(led,LOW);
delay(1000);
    conta=0;
    
}
if((estado==1)&&(conta==2))
{
  digitalWrite(led,HIGH);
  delay(1000);
    digitalWrite(led,LOW);
delay(1000);
  digitalWrite(led,HIGH);
  delay(1000);
    digitalWrite(led,LOW);
delay(1000);
    conta=0;
}
if((estado==1)&&(conta==3))
{
  digitalWrite(led,HIGH);
  delay(1000);
    digitalWrite(led,LOW);
delay(1000);
  digitalWrite(led,HIGH);
  delay(1000);
    digitalWrite(led,LOW);
delay(1000);
digitalWrite(led,HIGH);
  delay(1000);
    digitalWrite(led,LOW);
delay(1000);
    conta=0;
}
if((estado==1)&&(conta==4))
{
  digitalWrite(led,HIGH);
  delay(1000);
    digitalWrite(led,LOW);
delay(1000);
  digitalWrite(led,HIGH);
  delay(1000);
    digitalWrite(led,LOW);
delay(1000);
digitalWrite(led,HIGH);
  delay(1000);
    digitalWrite(led,LOW);
delay(1000);
digitalWrite(led,HIGH);
  delay(1000);
    digitalWrite(led,LOW);
delay(1000);
    conta=0;
}
if((estado==1)&&(conta==5))
{
  digitalWrite(led,HIGH);
  delay(1000);
    digitalWrite(led,LOW);
delay(1000);
  digitalWrite(led,HIGH);
  delay(1000);
    digitalWrite(led,LOW);
delay(1000);
digitalWrite(led,HIGH);
  delay(1000);
    digitalWrite(led,LOW);
delay(1000);
digitalWrite(led,HIGH);
  delay(1000);
    digitalWrite(led,LOW);
delay(1000);
digitalWrite(led,HIGH);
  delay(1000);
    digitalWrite(led,LOW);
delay(1000);
    conta=0;
}
}

Bueno ya se que esta resuelto, pero comparto el codigo que hace lo mismo pero sin tantos delay por si alguien más le interesa

struct BTN {
	byte		  pin;
	bool          estado;
	unsigned int  debounce = 100;
	unsigned long tiempo;
};
BTN btnBlink;
BTN btnEnter;
struct BLK	// Estructura blink 
{
	byte
		pin,
		bliks = 0,
		conteoBlink = 0;
	bool estado = 0;
	unsigned long tiempoActual = 0;
};
BLK led1;
const unsigned long tiempoBlinkLed = 1000;

void setup() {
	Serial.begin(9600);
	pinMode(led1.pin = 13, OUTPUT);
	pinMode(btnBlink.pin = 5, INPUT);
	pinMode(btnEnter.pin = 6, INPUT);
}
void blink() {
	if (led1.estado) {
		if (led1.conteoBlink < led1.bliks) {
			if (millis() - led1.tiempoActual >= tiempoBlinkLed) {
				led1.tiempoActual = millis();
				if (digitalRead(led1.pin)) {
					led1.conteoBlink++;
				}
				digitalWrite(led1.pin, !digitalRead(led1.pin));
			}
		}
		else
		{
			led1.conteoBlink = 0;
			led1.bliks = 0;
			led1.estado = 0;
		}
	}
}
void loop() {
	if (millis() - btnBlink.tiempo >= btnBlink.debounce) {
		if (digitalRead(btnBlink.pin)) {
			if (!btnBlink.estado) {
				led1.bliks++;
				Serial.println(led1.bliks);
				btnBlink.estado = true;
			}
		}
		else {
			btnBlink.estado = false;
		}
		btnBlink.tiempo = millis();
	}
	if (millis() - btnEnter.tiempo >= btnEnter.debounce) {
		if (digitalRead(btnEnter.pin)) {
			if (!btnEnter.estado) {
				led1.estado = 1;
				btnEnter.estado = true;
			}
		}
		else {
			btnEnter.estado = false;
		}
		btnEnter.tiempo = millis();
	}
	blink();
}