# [Programa] LED a piscar

#### Objetivo:

Utilizar o *ESP32-WROOM-32E DevKitC v4* \[1\] para alimentar um LED e obter um piscar controlado de forma programática.

#### Lista de material:

- *ESP32-WROOM-32E DevKitC v4*
- Breadboards
- Resistência de 330 ohm (Ω)
- Díodo emissor de luz (LED) vermelho
- Fios de ligação
- Cabo USB micro

[![aaa.png](https://kb.deec.uc.pt/uploads/images/gallery/2023-08/scaled-1680-/aaa.png)](https://kb.deec.uc.pt/uploads/images/gallery/2023-08/aaa.png)

#### Contextualização:

Em eletrónica, um circuito LED é um circuito usado para alimentar um díodo emissor de luz (LED). O circuito deve fornecer corrente suficiente para acender o LED e evitar danos ao mesmo. O circuito mais simples para acionar um LED é através de uma resistência em série \[5\].

##### ESP32-WROOM-32E DevKitC v4

Apesar de se aconselhar a consulta da página do fabricante sobre o kit *ESP32-WROOM-32E DevKitC v4* \[1\] para mais detalhe, disponibilizam-se de seguida duas figuras com os componentes principais do kit bem como o esquema de terminais para referência.

##### [![esp32-devkitc-functional-overview.jpg](https://kb.deec.uc.pt/uploads/images/gallery/2023-08/scaled-1680-/esp32-devkitc-functional-overview.jpg)](https://kb.deec.uc.pt/uploads/images/gallery/2023-08/esp32-devkitc-functional-overview.jpg)

##### [![esp32-devkitC-v4-pinout.png](https://kb.deec.uc.pt/uploads/images/gallery/2023-08/scaled-1680-/esp32-devkitc-v4-pinout.png)](https://kb.deec.uc.pt/uploads/images/gallery/2023-08/esp32-devkitc-v4-pinout.png)

##### Breadboard

Uma breadboard ou placa de ensaio ou matriz de contactos é uma placa com furos e conexões condutoras tipicamente utilizada para a montagem de protótipos e projetos em estado inicial \[3\].   
Deve ser tido em consideração que internamente a breadboard também é composta por contactos metálicos, tipicamente organizados como se ilustra na figura em baixo. As linhas a azul e verde simbolizam ligações metálicas internas, ou seja, e por exemplo, tal como esquematizado, deve considerar-se que o orifício a1 está ligado internamente aos orifícios b1, c1, d1 e e1.

[![breadboard.png](https://kb.deec.uc.pt/uploads/images/gallery/2023-08/scaled-1680-/breadboard.png)](https://kb.deec.uc.pt/uploads/images/gallery/2023-08/breadboard.png)

##### Resistência

Uma resistência é um componente elétrico passivo de dois terminais que implementa resistência elétrica como um elemento de circuito \[6\]. Ainda que não seja do âmbito do presente documento detalhar este conceito, disponibiliza-se de seguida o esquema de quatro bandas e tabela de referência \[4\], tipicamente usados para indicar os valores associados, neste caso, as resistências.

[![resistor_b.png](https://kb.deec.uc.pt/uploads/images/gallery/2023-08/scaled-1680-/resistor-b.png)](https://kb.deec.uc.pt/uploads/images/gallery/2023-08/resistor-b.png)

##### Díodo emissor de luz (LED)

Um díodo emissor de luz (LED) é um dispositivo semicondutor que emite luz quando uma corrente flui através deste \[5\]. Destacar da figura seguinte a distinção entre ânodo e cátodo, tipicamente materializada por um comprimento diferente dos terminais de ligação (terminal do ânodo mais longo que o do cátodo), e um chanfro (ou superfície plana) no lado do cátodo.

[![led_cat_an.png](https://kb.deec.uc.pt/uploads/images/gallery/2023-08/scaled-1680-/led-cat-an.png)](https://kb.deec.uc.pt/uploads/images/gallery/2023-08/led-cat-an.png)

#### Procedimento:

As saídas digitais do *ESP32-WROOM-32E DevKitC v4* (ESP32) podem ser programas para assumir determinados valores de tensão como 0V (GND) ou 3.3V (VCC). Fazendo uso desta possibilidade, e ligando o LED ao ESP32, deverá então ser possível obter um piscar do LED controlado de forma programática.

Escolhendo os terminais 17 e GND do ESP32 como referência deve considerar-se o seguinte circuito LED:

<table border="0" id="bkmrk--5" style="border-collapse: collapse; width: 100%; height: 277.484px; border-style: none;"><tbody><tr style="height: 277.484px;"><td style="width: 49.9383%; height: 277.484px;">[![pisca1.png](https://kb.deec.uc.pt/uploads/images/gallery/2023-08/scaled-1680-/4HNpisca1.png)](https://kb.deec.uc.pt/uploads/images/gallery/2023-08/4HNpisca1.png)</td><td style="width: 49.9383%; height: 277.484px;">[![pisca2aa.png](https://kb.deec.uc.pt/uploads/images/gallery/2023-08/scaled-1680-/BPgpisca2aa.png)](https://kb.deec.uc.pt/uploads/images/gallery/2023-08/BPgpisca2aa.png)</td></tr></tbody></table>

##### Instruções:

(para uma primeira utilização do ESP32, sugere-se o tutorial *Primeiro Programa* \[2\])

- Montar o circuito esquematizado anteriormente (ver Secção **Montagem exemplificativa** , para mais detalhe)
- Ligar a placa ESP32 ao computador por via de cabo USB micro
- Abrir o IDE Arduino
- Selecionar o dispositivo ESP32 adequado
- Copiar o seguinte código

```C
/*
Pisca-pisca

Liga o LED por um segundo, desliga por um segundo e assim sucessivamente.
*/


// a função setup é executada pontualmente quando o botão reset é premido ou a placa é alimentada
void setup() {
  // inicializa o pino digital 17 como saída.
  pinMode(17, OUTPUT);
}

// a função loop é executada sucessivamente, uma e outra vez, e por aí em diante
void loop() {
  digitalWrite(17, HIGH);   // liga o LED 
  delay(1000);              // espera por um segundo
  digitalWrite(17, LOW);    // desliga o LED
  delay(1000);              // espera por um segundo
}
```

- Compilar e carregar o código para a placa ESP32

[![piscapisca.png](https://kb.deec.uc.pt/uploads/images/gallery/2023-08/scaled-1680-/piscapisca.png)](https://kb.deec.uc.pt/uploads/images/gallery/2023-08/piscapisca.png)

- Verificar o resultado

<table border="0" id="bkmrk--6" style="border-collapse: collapse; width: 100%; height: 277.719px; border-style: none;"><tbody><tr style="height: 277.719px;"><td style="width: 50.0618%; height: 277.719px;">[![ii.png](https://kb.deec.uc.pt/uploads/images/gallery/2023-08/scaled-1680-/ii.png)](https://kb.deec.uc.pt/uploads/images/gallery/2023-08/ii.png)  
</td><td style="width: 50.0618%; height: 277.719px;">[![jj.png](https://kb.deec.uc.pt/uploads/images/gallery/2023-08/scaled-1680-/jj.png)](https://kb.deec.uc.pt/uploads/images/gallery/2023-08/jj.png)</td></tr></tbody></table>

#### Montagem exemplificativa:

[![asdasd.png](https://kb.deec.uc.pt/uploads/images/gallery/2023-08/scaled-1680-/mY3asdasd.png)](https://kb.deec.uc.pt/uploads/images/gallery/2023-08/mY3asdasd.png)

[![a1.png](https://kb.deec.uc.pt/uploads/images/gallery/2023-08/scaled-1680-/a1.png)](https://kb.deec.uc.pt/uploads/images/gallery/2023-08/a1.png)

<table border="0" id="bkmrk--12" style="border-collapse: collapse; width: 100%; border-style: none;"><tbody><tr><td style="width: 49.9383%;">[![b1.png](https://kb.deec.uc.pt/uploads/images/gallery/2023-08/scaled-1680-/b1.png)](https://kb.deec.uc.pt/uploads/images/gallery/2023-08/b1.png)</td><td style="width: 49.9383%;">[![b2.png](https://kb.deec.uc.pt/uploads/images/gallery/2023-08/scaled-1680-/b2.png)](https://kb.deec.uc.pt/uploads/images/gallery/2023-08/b2.png)</td></tr></tbody></table>

<table border="0" id="bkmrk--13" style="border-collapse: collapse; width: 100%; border-style: none;"><tbody><tr><td style="width: 49.9383%;">[![c1.png](https://kb.deec.uc.pt/uploads/images/gallery/2023-08/scaled-1680-/c1.png)](https://kb.deec.uc.pt/uploads/images/gallery/2023-08/c1.png)</td><td style="width: 49.9383%;">[![c2.png](https://kb.deec.uc.pt/uploads/images/gallery/2023-08/scaled-1680-/c2.png)](https://kb.deec.uc.pt/uploads/images/gallery/2023-08/c2.png)</td></tr></tbody></table>

<table border="0" id="bkmrk--8" style="border-collapse: collapse; width: 100%; border-style: none;"><tbody><tr><td style="width: 33.2909%;">[![d1.png](https://kb.deec.uc.pt/uploads/images/gallery/2023-08/scaled-1680-/d1.png)](https://kb.deec.uc.pt/uploads/images/gallery/2023-08/d1.png)  
</td><td style="width: 33.2909%;">[![d2.png](https://kb.deec.uc.pt/uploads/images/gallery/2023-08/scaled-1680-/d2.png)](https://kb.deec.uc.pt/uploads/images/gallery/2023-08/d2.png)  
</td><td style="width: 33.2948%;">[![d3.png](https://kb.deec.uc.pt/uploads/images/gallery/2023-08/scaled-1680-/d3.png)](https://kb.deec.uc.pt/uploads/images/gallery/2023-08/d3.png)</td></tr></tbody></table>

#### Referências

  
\[1\] Ltd. Espressif Systems Co. ESP32-DevKitC V4 Getting Started Guide. url: [https://docs.espressif.com/projects/esp-idf/en/latest/esp32/hw-reference/esp32/get-started-devkitc.html](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/hw-reference/esp32/get-started-devkitc.html) (acedido em 18/08/2023).

\[2\] Paulo Menezes. Artigos de Suporte - DEEC - Kit Eletrónica - Primeiro Programa. url: [https://kb.deec.uc.pt/books/deec/page/primeiro-programa](https://kb.deec.uc.pt/books/deec/page/primeiro-programa) (acedido em17/08/2023).

\[3\] Wikipedia. Breadboard. url: [https://en.wikipedia.org/wiki/Breadboard](https://en.wikipedia.org/wiki/Breadboard) (acedido em 18/08/2023).

\[4\] Wikipedia. Electronic color code. url: [https://en.wikipedia.org/wiki/Electronic\_color\_code](https://en.wikipedia.org/wiki/Electronic_color_code) (acedido em 18/08/2023).

\[5\] Wikipedia. LED circuit. url: [https://en.wikipedia.org/wiki/LED\_circuit](https://en.wikipedia.org/wiki/LED_circuit) (acedido em 18/08/2023).

\[6\] Wikipedia. Resistor. url: [https://en.wikipedia.org/wiki/Resistor](https://en.wikipedia.org/wiki/Resistor) (acedido em 18/08/2023).