> For the complete documentation index, see [llms.txt](https://udea-iot.gitbook.io/introduccion-al-iot/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://udea-iot.gitbook.io/introduccion-al-iot/primeros-pasos/primeros-pasos-usando-el-esp32/proyecto-1.md).

# Proyecto 1

## Descripción

Usando la placa de desarrollo ESP32 hacer una aplicación que ponga a parpadear un led cada un segundo (Periodo = 1 s). El numero de veces que lleva parpadeando el led desde que este se inicio debera se impreso mediante en la terminal serial mostrando un mensaje de la forma:

```
Parpadeo: <num_parpadeos>
```

## Hardware

Ya que la targeta ESP32 tiene un led integrado, vamos a hacer uso de este para evitar conectar hardware adicional. La siguiente tabla muestra la lista de componentes a usar:

<table><thead><tr><th width="73">#</th><th width="112">Nombre</th><th width="127">Cantidad</th><th>Componente</th></tr></thead><tbody><tr><td>1</td><td>U1</td><td>1</td><td>Tarjeta de desarrollo ESP32</td></tr></tbody></table>

A continuación se muestra el hardware a emplear:

<figure><img src="https://4115294714-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxugokskCzICXfnqSP3ui%2Fuploads%2FjPg3JPhMB6gKT7s5epJj%2Fmontaje1_bb.png?alt=media&amp;token=a2048d37-f1f4-4a4c-8a2c-9a8cca839641" alt=""><figcaption><p>Placa ESP32</p></figcaption></figure>

El archivo fritzing se muestra a continuación:

{% file src="/files/6vxxjhTk4raHczk8s1hz" %}
Archivo Fritzing del montaje 1
{% endfile %}

## Software

A continuación se muestra el código que implementa la funcionalidad que se pide (NOTA: AGREGAR EL INO):

```arduino
/*
Nombre: montaje1.ino
Autor: IoT UdeA
Descripción: Aplicación que pone a parpadear un led con un periodo 
             1 segundo y muestra el numero de parpadeos 
             en la terminal serial 
Conexiones: No se emplean elementos externos por lo tanto no hay
*/

/* Librerias*/

/* Constantes */
#define SERIAL_SPEED 9600

/* Entradas */

/* Salidas */
const int ledPin =  LED_BUILTIN; //(GPIO2 - D2)

/* Variables de la aplicacion */
int cnt_blinks;    // Contador de parpadeos     

/* Funcion setup: Configuracion */
void setup() {
  cnt_blinks = 0;
  pinMode(ledPin, OUTPUT);
  Serial.begin(SERIAL_SPEED);
  Serial.println("Start -> OK");
}

/* Funcion loop: Logica del programa */
void loop() {
  digitalWrite(ledPin, HIGH);
  delay(500);
  digitalWrite(ledPin, LOW);
  delay(500);
  Serial.print("Parpadeo: ");
  Serial.println(cnt_blinks);  
}

```
