Básico - Projeto 01
Led como pisca pisca
Objetivo
Criar um circuito para fazer um led piscar. Embora muito simples, este projeto vai exemplificar a utilização do Arduino para controle de componentes eletrônicos. Os conceitos apresentados neste exemplo irão servir para a utilização do Arduino com outros componentes, como sensores, displays, buzzers, motores, etc.
Esse projeto simples também vai ajudar a entender os conceitos básicos de controle de pinos no Arduino, montagem de um circuito com o uso do protoboard e alguns conceitos básicos da eletrônica. À medida que você avança em projetos, esses conceitos são fundamentais para criar sistemas mais complexos.
Definições
Arduino é uma plataforma eletrônica de prototipagem baseada em hardware e software de código aberto (open source). Ela permite que os usuários criem dispositivos interativos e inteligentes usando componentes eletrônicos simples e uma linguagem de programação fácil de aprender.
É muito importante ter uma noção geral sobre a plataforma Arduino para aproveitar ao máximo este projeto e os futuros que serão compartilhados neste site. Esse conhecimento preparatório não apenas facilitará a compreensão do que estamos prestes a fazer, mas também abrirá as portas para inúmeras possibilidades de criação e inovação.
Para uma introdução abrangente sobre o mundo do Arduino, recomendamos a leitura do nosso guia inicial: Projeto 00 - Como usar o Arduino pela primeira vez. Este guia aborda desde conceitos fundamentais até os primeiros passos práticos, preparando você para explorar o potencial infinito desta plataforma.

LED é um componente eletrônico semicondutor, ou seja, um diodo emissor de luz ( L.E.D = Light emitter diode ), que tem a propriedade de transformar energia elétrica em luz. Para saber mais sobre leds, leia o artigo Led de 5mm.

Resistor é um componente eletrônico que limita ou controla a corrente elétrica em um circuito. Ele possui uma resistência elétrica medida em ohms (Ω). A principal função de um resistor é introduzir uma resistência ao fluxo de corrente elétrica, convertendo parte dessa energia em calor por meio do efeito Joule. Para saber mais sobre resistores, leia o artigo Resistor.

A equação fundamental que descreve a relação entre tensão (V), corrente (i) e resistência (Ω) é conhecida como Lei de Ohm:
U= R⋅ i
U é a tensão em volts (V),
i é a corrente em amperes (A), e
R é a resistência em ohms (Ω).
Os resistores são comumente usados em circuitos eletrônicos para várias finalidades, incluindo limitar a corrente, dividir a tensão, fornecer polarização, entre outros. No circuito deste tutorial o resistor terá a função de limitador da corrente que vai para o LED.
Veja o exemplo abaixo, onde temos um circuito simples para iluminar um LED por meio de uma bateria de 9V. Observe que foi incorporado um resistor de 330 Ω para limitar a corrente elétrica que alimenta o LED, prevenindo possíveis danos ao componente:
Obs.: Para entender melhor como calcular os valores de um resistor, leia o artigo Teste 02 - Leds ligados em série e em paralelo.

Protoboard (matriz de contato): É uma placa de ensaio reutilizável. Com a ajuda de um protoboard, podemos criar protótipos de projetos ou testar circuitos. Essa matriz de contatos reutilizável elimina a necessidade de produzir uma placa de circuito impresso, permitindo modificações rápidas e conferindo flexibilidade ao circuito. Portanto:
- O protoboard facilita a criação de circuitos temporários, permitindo que você conecte e desconecte componentes facilmente.
- As linhas horizontais e verticais são condutores, permitindo que você conecte componentes de maneira eficiente.
- Para saber mais sobre protoboards, leia o artigo Protoboard.

Conceitos Básicos em Eletrônica
A eletrônica é uma área da física e engenharia elétrica que lida com o controle de elétrons para realizar diferentes funções, desde processamento de sinais até transmissão de informações. Aqui estão alguns conceitos iniciais importantes em eletrônica:
Corrente Elétrica (i): A corrente elétrica é o fluxo de elétrons em um circuito. A unidade de medida é o Ampere (A).
Tensão Elétrica (V) ou Diferença de Potencial: A tensão elétrica é a energia por unidade de carga em um circuito. Pode ser considerada como a diferença de potencial (ddp) que impulsiona a corrente elétrica. A unidade de medida é o Volt (V).
Resistência (R): A resistência elétrica limita o fluxo de corrente em um circuito. É medida em Ohms (Ω).
Lei de Ohm: Estabelece a relação entre tensão, corrente e resistência em um circuito. A fórmula é U= R ⋅ i.
Potência Elétrica (P): A potência elétrica é a taxa na qual a energia é transferida ou convertida em um circuito. A fórmula é P = U ⋅ i.
Circuito Elétrico: Um circuito é uma rota fechada que permite a corrente elétrica fluir. Pode incluir componentes como resistores, capacitores, indutores e dispositivos semicondutores.
Corrente Contínua e Corrente Alternada
A corrente elétrica pode ser classificada em duas categorias principais: corrente contínua (CC) e corrente alternada (CA). Aqui estão as principais diferenças entre elas:

Corrente Contínua (CC):
-
Direção Constante: A corrente contínua tem uma direção constante, fluindo sempre na mesma direção.
-
Origem: Geralmente, é produzida por fontes de energia como baterias, células solares e pilhas.
-
Utilização Comum: É comumente usada em dispositivos eletrônicos, veículos elétricos, sistemas de alimentação ininterrupta (UPS) e eletrônica de consumo.
-
Equação de Tensão: A relação entre tensão (U), corrente (i) e resistência (R) é governada pela Lei de Ohm: U= R ⋅ i.
Corrente Alternada (CA):
-
Direção Oscilante: A corrente alternada muda de direção periodicamente, invertendo seu sentido em intervalos regulares.
-
Origem: É a forma de corrente que geralmente é gerada nas usinas elétricas e transmitida pela rede elétrica.
-
Utilização Comum: A corrente alternada é amplamente utilizada em residências, indústrias, sistemas de distribuição de energia e na maioria dos aparelhos domésticos.
-
Equação de Tensão: A relação entre tensão, corrente e impedância em um circuito de corrente alternada é mais complexa do que na corrente contínua.
Conclusão:
A escolha entre corrente contínua e alternada depende das aplicações específicas. Enquanto a corrente contínua é preferida para eletrônica de baixa potência e dispositivos portáteis, a corrente alternada é amplamente utilizada na transmissão de energia elétrica a longas distâncias e em muitas aplicações industriais.
O Arduino UNO opera com corrente contínua (CC), pois a energia fornecida pelas portas USB ou pelo conector de alimentação é proveniente de fontes de corrente contínua, como baterias ou adaptadores de energia.
Grandeza Digital X Grandeza Analógica
No contexto do Arduino e da eletrônica, a diferença entre grandeza digital e analógica refere-se ao tipo de sinal que está sendo processado ou gerenciado pelo sistema. Vamos explorar cada um desses conceitos:

Sinal Digital:
Definição: Um sinal digital assume valores discretos, geralmente representados por 0 e 1, formando o sistema binário. Cada valor é chamado de "bit".
Nos circuitos e equipamentos elétricos com Arduino, ditos digitais, trabalham com apenas dois valores de tensão definidos:
-
- Um nível lógico alto (1), que no caso do Arduino é 5V
- Um nível lógico baixo (0), que no caso do Arduino é 0V.
Exemplo no Arduino: Se você está lendo um sinal digital de um sensor de proximidade, ele pode enviar um sinal alto (1) quando detecta algo e um sinal baixo (0) quando não detecta.
Sinal Analógico:
Definição: Um sinal analógico é contínuo e pode assumir uma gama infinita de valores dentro de um intervalo específico. Isso significa que pode representar uma variedade de valores em uma escala contínua.
Os circuitos e equipamentos elétricos com Arduino ditos analógicos trabalham com uma faixa de valores chamada de range:
-
- Faixa de valores (range) vai de 0V a 5V.
Exemplo no Arduino: Um sensor de luz analógico pode gerar um sinal analógico que varia de 0V a 5V, ou seja, de 0 a 1023 em uma escala digital de 10 bits no Arduino, representando a intensidade da luz.
Aplicação
Para fins didáticos e projetos gerais com Arduino.
Componentes necessários
Referência
|
Componente
|
Quantidade
|
Imagem
|
Observação
|
Protoboard |
Protoboard 830 pontos |
1 |
 |
No mínimo utilizar protoboard com 400 pontos
|
Jumpers |
Kit cabos ligação macho / macho |
1 |
 |
|
Resistor |
Resistor
|
1 |
 |
1 Resistor 150Ω (led vermelho ou amarelo)
(Potência Nominal = 1/4W)
Se precisar usar outros valores, calcule o resistor apropriado para o led utilizado ou utilize a tabela padrão Tabela de resistores para leds
|
Led 5mm |
LED 5mm |
1 |
 |
1 LED alto brilho ou difuso (qualquer cor)
Você poderá utilizar também LEDs de 3 mm na cor que desejar.
|
Arduino UNO R3 |
Arduino UNO |
1 |
 |
Você poderá utilizar uma placa Arduino UNO original ou similar
|
Montagem do Circuito
Conecte os componentes no Protoboard como mostra a figura abaixo. Verifique cuidadosamente os cabos de ligação antes de ligar seu Arduino. Lembre-se que o Arduino deve estar totalmente desconectado da força enquanto você monta o circuito.
Obs.: Se você tiver dúvidas de como usar a protoboard, acesse o link a seguir: Como usar a Protoboard

Atenção
1. Para conectarmos o LED na placa do Arduino UNO, precisamos entender alguns conceitos e detalhes construtivos:
1.1. Pinos Analógicos e Ditigais do Arduino UNO:
Pinos Analógicos: São capazes de ler sinais analógicos. No Arduino UNO, por exemplo, os pinos A0 a A5 são capazes de fazer isso.
Pinos Digitais: Podem lidar com sinais digitais (alto/baixo), mas também podem ser usados para leitura de sinais analógicos.
1.2. O Arduino é flexível nesse aspecto, permitindo que você trabalhe com ambos os tipos de sinais. A conversão analógico-digital (ADC) no Arduino permite que você leia sinais analógicos, enquanto os pinos digitais são usados para lógica digital.

1.3. Pinos de entrada e saída do Arduino UNO (Analógicos e Digitais):
a) Pinos de Entrada do Arduino (Input):
Leitura de Sinal Analógico (Entradas Analógicas): Alguns pinos, rotulados como "A0" a "A5" em placas como o Arduino UNO, são usados para ler sinais analógicos, como os provenientes de sensores de luz, temperatura, etc.
Leitura de Sinal Digital (Entradas Digitais): Todos os pinos digitais (0 a 13 em um Arduino UNO) podem ser usados para ler sinais digitais, representando valores binários (0 ou 1).
b) Pinos de Saída (Output):
Pinos de Saída (Output): Saída Digital: Os pinos digitais podem ser usados para fornecer um sinal digital, geralmente ligado (HIGH) ou desligado (LOW). Isso é usado para controlar LEDs, relés, etc.
Saída PWM (Modulação por Largura de Pulso): Alguns pinos digitais suportam PWM, permitindo simular sinais analógicos. Isso é útil para controlar a intensidade luminosa de LEDs, por exemplo. Veremos a utilização desses pinos em projetos mais avançados.
Saída Analógica: Alguns pinos (como "A0" a "A5" em um Arduino UNO) também podem ser usados para gerar sinais analógicos usando a função analogWrite().
1.4. Os pinos de entrada e saída são essenciais para conectar o Arduino a outros componentes eletrônicos e criar interações em projetos. Eles proporcionam a interface através da qual o Arduino pode receber informações do ambiente (entrada) e controlar dispositivos externos (saída).
1.5. O LED (Light Emitting Diode) é, por natureza, um dispositivo que emite luz quando uma corrente elétrica passa por ele. No projeto de pisca-pisca vamos precisar que o LED se alterne entre os estados ligado e desligado. Nesse contexto, o controle do LED pelo Arduino se dá por meio de sinais digitais, permitindo que o LED seja alternadamente aceso (passa correte elétrica) e apagado (não passa corrente elétrica).
1.5.1. Desta forma, fica bem claro o uso do sinal digital. O Arduino ora gera tensão no pino digital (passa corrente elérica) ora não gera tensão no pino digital (não passa corrente elétrica), formanto um sistema binário. Assim podemos ter:
1.5.1.1. Led ativado: Tensão de saída no pino digital = 5V, indicando nível lógico alto (HIGH) ou (1), ou
1.5.1.2. Led desativado: Tensão de saída no pino digital = 0V, indicando nível lógico baixo (LOW) ou (0).
1.5.2. Isso significa que o LED pode estar ligado (HIGH) ou desligado (LOW), representando os estados binários 1 e 0, respectivamente. A função digitalWrite() no Arduino é comumente usada para controlar LEDs desta forma.
2. Ao entendermos que o sinal deve ser digital, podemos selecionar qualquer pino digital do Arduino UNO para estabelecer a conexão com o LED, conforme mostrado na imagem abaixo (pinos de 0 ao 13).
2.1. Procure evitar os pinos 0 e 1, pois ambos também são utilizados por outras funções que podem causar algum conflito:
2.1.1. Os pinos 0 (RX) e 1 (TX): são usados para receber (RX) e transmitir (TX) dados seriais. Eles podem ser utilizados também para comunicação serial entre a placa Arduino e o computador. Veremos isso em projetos um pouco mais avançados.

2.2. Assim, podemos escolher para o nosso projeto o pino 2 do Arduino para conectar com o led.

3. Para concluir o fechamento do circuito elétrico e promover o fluxo contínuo de corrente elétrica, vamos conectar o led no"terra" (GND) do Arduino.
3.1. O fechamento de um circuito elétrico, em eletrônica, refere-se ao estabelecimento de uma rota condutora contínua para o fluxo de corrente elétrica. Em outras palavras, quando um circuito elétrico está fechado, significa que há uma conexão contínua entre os componentes elétricos, permitindo que a corrente flua sem interrupções. Lembrando-se também que o controle da fonte de 5V é feita pelo microprocessador do Arduino, gerando ou não essa tensão de acordo com a programação.

4. Lembrar sempre que o LED é um componente do tipo bipolar, ou seja, tem um terminal chamado anodo (ou ânodo) e outro, chamado catodo (ou cátodo). Dependendo de como for polarizado, permite ou não a passagem de corrente elétrica e, consequentemente, a geração ou não de luz.
4.1 Componentes polarizados possuem polos elétricos e, portanto, devem ser colocados no circuito na posição correta. Os leds comuns de 5mm ou 3mm, difusos ou de alto brilho, possuem o terminal maior com polaridade positiva e o lado do chanfro polaridade negativa. Veja a imagem abaixo:

4.2. Portanto, faça a conexão do Arduino no terminal positivo (anodo) e o GND no terminal negativo (catodo) do led.

5. Para evitar danos ao led é necessário a inclusão de um resistor no circuito. Como o resistor é um limitador da corrente elétrica no circuito, ele poderá estar conectado no anodo (terminal maior) ou no catodo (terminal menor) do led, tanto faz.

6. Determinamos o valor do resistor através da tabela prática: Tabela prática de utilização de leds 3mm e 5mm. Entretanto, o mais correto é sempre verificar o datasheet do fabricante do LED para você ter os exatos valores de tensão e corrente do mesm. Se desejar calcular corretamento o valor dos resistores, leia Leds ligados em série e em paralelo.
Observações:
6.1. Adotamos em nossos projetos a tensão nominal de 5V, que é a tensão padrão de operação do Arduino.
6.1.1. Em determinados projetos, optamos pela tensão de saída do Arduino de 3,3V em função de alguns módulos e sensores específicos que funcionam exclusivamente com essa tensão. Nestes casos, utilizamos uma tensão contínua de 3,3V controlada pelo regulador de tensão interno da placa. Abordaremos essa configuração posteriormente
6.2. É importante sempre lembrar que a corrente máxima suportada por cada pino de Entrada/Saída (I/O) do Arduino é de 40mA, quando operando na tensão padrão de 5V.
6.3. Resistores com valores iguais ou superiores a 220 Ω podem ser empregados em LEDs de todas as cores em um circuito onde a tensão seja igual ou inferior a 5V. Essa prática assegura o correto funcionamento e protege os LEDs contra correntes excessivas.
6.4. Para facilitar a identificação, os resistores têm faixas coloridas que indicam seu valor de resistência. Existem geralmente quatro faixas coloridas, às vezes cinco para resistores de precisão. Consulte uma tabela de códigos de cores de resistores para decifrar o valor no link: Código de Cores de Resistores (tabela).
Valores utilizados para nossos projetos em 5V: LEDs difusos ou de alto brilho: Vermelho, Laranja e Amarelo: 150 Ω | Led Verde, Azul e Branco: 100 Ω.
7. A potência dissipada (ou potência derivada) em um resistor determina a quantidade real de calor que o resistor pode dissipar e é caluculada pela equação: P = U ⋅ i . (Veja o artigo Resistores para saber mais).
7.1. Já potência nominal está relacionada a quantidade máxima de calor que o resistor pode dissipar sem se danificar e é indicada pelo fabricante. Resistores comuns têm potências nominais que variam de 1/8 W a 3 W ou mais.
7.2. Se a potência derivada exceder a potência nominal do resistor, ele pode superaquecer e falhar. Portanto, Ao selecionar um resistor, é necessário garantir que sua potência nominal seja igual ou superior à potência derivada esperada na aplicação. Isso evita danos ao resistor e garante a operação segura do circuito.
7.3. Na prática, projetos de baixa tensão (5V ou menor) e baixas correntes (50mA ou menor) permitem a utilização de resistores de 1/4W sem que haja riscos de superaquecimento. Entretanto, na medida do possível, é sempre recomendável verificar se a potência nominal (indicada pelo fabricante) é maior ou igual a potência dissipada (calculada).
7.4. Nos nossos projetos de Arduino, adotaremos o uso de resistores com Potência Nominal de 1/4W. Resistores com valores maiores também poderão ser utilizados.
8. A alimentação do Arduino deve ser realizada através do cabo USB, pois essa conexão também é responsável pela comunicação da placa com o computador. É por meio da USB que você carrega um programa na memória do Arduino.
8.1. Quando você alimenta o Arduino através da conexão USB com o computador, a tensão de entrada no Arduino é de 5 volts (5V). A porta USB fornece essa tensão constante.
8.2. Após o programa ser carregado, você poderá utilizar outras fontes de energia além da conexão USB com o computador, como pilhas, baterias ou adaptadores de corrente contínua para alimentar o circuito, desde que tenham uma tensão entre 7V e 12V (recomendável).
Código do Projeto (sketch)
Faça o dowload e abra o arquivo projeto01.ino no IDE do Arduino: DOWNLOAD - projeto1.ino
Ou se preferir, copie e cole o código abaixo no IDE do Arduino:
/*******************************************************************************
*
* Projeto 01 – Led piscante
* http://squids.com.br/arduino
*
*******************************************************************************/
int led = 2; //atribui à variável 'led' o valor 2
void setup() {
// difinir pinos digitais
pinMode(led,OUTPUT); // define o pino digital 2 como saída do Arduino
}
void loop() {
// código para rodar repetidamente:
digitalWrite(led,HIGH); // envia comando para o led acender
delay(1000); // espera de 1 segundo (1000ms = 1s)
digitalWrite(led,LOW); // envia comando para apagar o led
delay(1000); // espera de 1 segundo (1000ms = 1s)
}
Depois:
- Faça a verificação do código e depois carregue o sketch:

2. Se o código não apresentar erros, carregue o sketch para o Arduino para ver o projeto funcionar.

Simulação no Tinkercad
O Tinkercad é uma plataforma online gratuita para modelagem 3D, eletrônica e simulação de circuitos. Ele oferece ferramentas simples e intuitivas para projetar e simular circuitos eletrônicos de maneira virtual, além de permitir a criação de modelos 3D para impressão ou visualização em 3D. É amplamente utilizado por estudantes, professores e entusiastas para aprender, ensinar e experimentar com eletrônica e design 3D.
Obs. 1: Para visualizar o código do projeto no Tinkercad, clique em [Código].
Obs. 2: Para simular o funcionamento do projeto, clique em [Iniciar simulação].
Como o projeto deve funcionar
-
Ao iniciar o programa, o LED ficará aceso por um segundo (equivalente a 1000 milissegundos).
-
Após esse intervalo de tempo, o LED se apagará e permanecerá nesse estado por mais 1 segundo.
-
Esse efeito de piscar é repetido continuamente, criando um efeito de piscar intermitente a cada segundo.
Explicando o Código do Projeto
1. Primeiro declaramos as constantes e as variáveis do projeto.

1.1. Observe que utilizamos constantes e variável tipo "int". Veja na tabela abaixo as diferenças nos tipos de constantes e variáveis:
Tipo |
Valores Válidos para Variáveis e Constantes
|
char
|
letras e símbolos: 'a', 'b', 'H', '^', '*','1','0' (utiliza 1 byte da memória,) |
uint32_t, unsigned_long |
de 0 a 4.294.967.295 (números inteiros) (utiliza 2 bytes da memória) |
unsigned int, uint16_t |
de 0 a 65.535 (números inteiros) (utiliza 2 bytes da memória) |
long |
de - 2.147.483.648 a 2.147.483.647 (números inteiros) (utiliza 4 bytes da memória) |
int, short
|
de -32767 até 32767 (números inteiros) (utiliza 2 bytes da memória) |
float, double |
de -3.4 x 1038 até +3.4 x 10+38com até 6 dígitos de precisão (2 casas depois da vírgula - ponto flutuante) (utiliza 4 bytes da memória) |
byte, uint8_t
|
de 0 a 255 (números inteiros) (utiliza 1 byte da memória) |
boolean
|
true (1) , false (0) (utiliza 1 byte de memória) |
1.2. A variável tipo inteiro led se refere ao componente estar conectado à porta digital 2 do microcontrolador Arduino. Desta forma, atribuimos à variável o valor 2.
2. Através da strutura void setup(), definimos:
Obs.: A função setup() é chamada uma vez no início da execução do programa. É usada para realizar inicializações, como configurar pinos, iniciar a comunicação serial e outras tarefas de configuração.

2.1. Usamos a função pinMode(led,OUTPUT) para configurar o pino 2 do Arduino como saída (OUTPUT), já que atribuímos o valor 2 à variável tipo inteiro led.
2.1.1. A função pinMode() configura o pino especificado para funcionar como uma entrada ou uma saída do Arduino. Leia pinMode(), Referência Arduino.
3. Através da estrutura void loop(), obtemos:
Obs.: A função loop() é o coração do programa. O código dentro desta função é executado repetidamente enquanto o Arduino estiver ligado, a menos que exista um motivo específico para interromper sua execução.

3.1. Através da função digitalWrite(led,HIGH) ativamos o led conectado ao pino 2 do Arduino, lembrando que a variável led armazena o valor 2.
3.4.1. A função digitalWrite() Aciona um valor HIGH ou LOW em um pino digital. Este valor será de 5V para HIGH e 0V para LOW. Leia Referência Arduino, digitalWrite().
3.2. Através da função delay(1000), o programa espera 1 segundo (1000ms). Leia Referência Arduino, delay().
3.3. Através da função digitalWrite(led,LOW) desativamos o led conectado ao pino 2 do Arduino, pois é enviado um sinal de baixo nível lógico, que no caso é 0V, desligando o led.
Desafios
Com base neste projeto, resolva o seguinte desafio: Desafio 0
O anúncio abaixo ajuda a manter o Squids Arduino funcionando
Comentários