# [Programa] LED a piscar

#### Objetivo:

Utilizar o *ESP32-C6-DevKitM-1* para alimentar um LED e obter um piscar controlado de forma programática.

#### Lista de material:

- *ESP32-C6-DevKitM-1*
- Breadboard
- Resistência de 330 ohm (Ω)
- Díodo emissor de luz (LED) vermelho
- Cabo USB C
- Fios de ligação

[![aaa.png](https://i.imgur.com/X2wHncm.jpeg)](https://i.imgur.com/X2wHncm.jpeg)

#### 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 \[3\].

##### ESP32-C6-DevKitM-1

Apesar de se aconselhar a consulta da página do fabricante sobre o kit *ESP32-C6-DevKitM-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://docs.espressif.com/projects/esp-dev-kits/en/latest/_images/esp32-c6-devkitm-1-v1-annotated-photo.png)](https://docs.espressif.com/projects/esp-dev-kits/en/latest/_images/esp32-c6-devkitm-1-v1-annotated-photo.png)

##### [![esp32-devkitC-v4-pinout.png](https://docs.espressif.com/projects/esp-dev-kits/en/latest/_images/esp32-c6-devkitm-1-pin-layout.png)](https://docs.espressif.com/projects/esp-dev-kits/en/latest/_images/esp32-c6-devkitm-1-pin-layout.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 \[1\].   
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 \[4\]. 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 \[2\], 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 \[3\]. 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-C6-DevKitM-1* 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 5 e GND do ESP32 como referência deve considerar-se a seguinte montagem:

<table border="1" id="bkmrk--5" style="border-collapse: collapse; width: 100%;"><tbody><tr><td style="width: 49.9506%;">[![pisca1.png](https://i.imgur.com/yTAKcas.jpeg)](https://i.imgur.com/yTAKcas.jpeg)</td><td style="width: 49.9506%;">[![pisca2aa.png](https://i.imgur.com/14Xnzpm.png)](https://i.imgur.com/14Xnzpm.png)</td></tr></tbody></table>

##### Instruções:

- Montar o circuito representado anteriormente
- Ligar a placa ESP32 ao computador por via de cabo USB C
- Abrir o IDE Arduino
- Selecionar o dispositivo ESP32 adequado ( *ESP32C6 Dev Module* )
- 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 5 como saída.
  pinMode(5, OUTPUT);
}

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

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

<table border="1" id="bkmrk--6" style="border-collapse: collapse; width: 100%;"><tbody><tr><td style="width: 99.9012%;">[![blink](https://s11.gifyu.com/images/SoCie.gif)](https://s11.gifyu.com/images/SoCie.gif)</td></tr></tbody></table>

#### Referências

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

\[2\] 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).

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

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