# [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:
[![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)[![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)
##### 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
[![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) [![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)
#### 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)
[![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)[![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)
[![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)[![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)
[![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) [![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) [![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)
#### 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).