# 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&#x26;token=a2048d37-f1f4-4a4c-8a2c-9a8cca839641" alt=""><figcaption><p>Placa ESP32</p></figcaption></figure>

El archivo fritzing se muestra a continuación:

{% file src="<https://4115294714-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxugokskCzICXfnqSP3ui%2Fuploads%2FexApWXYL4qL1NQDeGfbt%2Fmontaje1.fzz?alt=media&token=8ec126c3-62cc-418f-b1b7-608766ebb344>" %}
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);  
}

```
