Vous êtes sur la page 1sur 12

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE

PERNAMBUCO

Prática 01 - Acendendo LEDs

Dados de Identicação
Tema: Acendendo LEDs com o Arduino.
Professor: Diego Soares Lopes
Aluno(a):

Nesta primeira prática serão realizadas montagens com o objetivo de acender e apagar LEDs
(Light Emitting Diode), ou em português Diodos Emissores de Luz. Para que isto seja possível
serão apresentados conceitos referentes ao funcionamento dos LEDs, bem como as condições
para que o mesmo opere em segurança sem ser danicado ou danicar alguma porta de entrada
e saída do Arduino.

1 Considerações Iniciais
1.1 Usando LEDs

Os LEDs são dispositivos semi-condutores formados por uma junção PN compostos de dois
terminais, sua estrutura física é apresentada na Figura 1:

(a) Estrutura física de um LED. (b) Representação da junção PN.

Figura 1: Diodo Emissor de Luz.

1
Quando polarizados diretamente, maior tensão no anodo e menor no cátodo, a junção PN
que compõe o LED permite que circule uma corrente, provocando assim a emissão de luz. Caso
sejam polarizados reversamente, maior tensão no cátodo e menor no anodo, a junção PN não
permite o surgimento de um uxo de elétrons, não havendo assim a emissão de luz. É necessário
lembrar que a aplicação de tensões reversas elevadas em um LED pode levar a ruptura da junção
PN e consequente dano ao dispositivo.
Para reconhecer o anodo e o cátodo de um LED é bem simples, o terminal do anodo é mais
comprido do que o terminal do cátodo, como apresenta a Figura 2.

Figura 2: Reconhecimento do Anodo e Cátodo de um LED.

A depender da cor da luz emitida pelo LED a queda de tensão em seus terminais, quando o
mesmo estiver polarizado diretamente, é diferente. Isto ocorre devido ao comprimento de onda
de cada cor e a construção da junção para emissão da luz de cada respectiva cor. A Tabela 1
apresenta as quedas de tensão, assim como o comprimento de onda, em LEDs das cores mais
comuns.
Tabela 1: Queda de Tensão devido a cor do LED.

Cor Queda de Comprimento


Tensão (V) de onda(nm)
Infravermelho 1,5 940
Vermelho 1,8 660
Laranja 2,2 612
Amarelo 2,1 585
Verde 2,1 555
Azul 2,1 470
Branco 3,6 união das cores

Caso o LED seja alimentado diretamente pela fonte de alimentação, sem a presença de um
elemento para limitar a corrente, os níveis de corrente elétrica podem ser tais que daniquem
tanto o LED quanto a fonte de alimentação, neste caso o pino de entrada e saída do Arduino.
Para que isso não ocorra é necessário a inserção de um elemento resistivo limitador de
corrente. O valor máximo de corrente suportada pelos pinos de entrada e saída do Arduino é
de 40 mA, porém não utilizaremos este valor por medida de segurança. O recomendado é que
se utilize entre 20 mA e 35 mA a depender da aplicação, para este guia o valor utilizado será
de 20 mA.
Sabendo-se que a saída do Arduino fornece uma tensão de 5 V, a corrente que será utilizada
é de 20 mA e a queda de tensão no LED, conhecida através da análise da Tabela 1, basta utilizar
a Lei de Ohm, representada na Equação 1, para determinar o valor da resistência necessária

2
para cada experimento.
(VS − VL )
R= (1)
I
Em que:

• R - Resistência (Ω);

• VS - Tensão de alimentação (V);

• VL - Queda de tensão no LED (V);

• I - Corrente da aplicação (A).

Não é necessário utilizar um valor de resistência exatamente igual ao encontrado utilizando


a Equação 1, o ideal é que o valor da corrente que próximo daquele valor que foi determinado
e mais importante que este valor NUNCA seja superior a 40mA.
Na prática, para utilizar o valor da resistência adequada é necessário utilizar o código de
cores dos resistores. Este código, bem como a forma de interpretá-lo, é apresentado na Figura
3.

Figura 3: Código de Cores dos Resistores.

Como dito anteriormente, não é necessário utilizar um valor de resistência exatamente igual
ao encontrado utilizando a Equação 1, o ideal é que o valor da corrente que próximo da-
quele valor que foi determinado e mais importante que este valor NUNCA, mas NUNCA
MESMO, seja superior a 40mA.

3
2 Experimentos
A seguir estão os experimentos que devem ser realizados. Ao nal de cada experimento, caso
exista, responder aos questionamentos pertinentes. A realização do experimento bem como a
resolução das questões compõem metade da nota desta atividade (5,0 pontos), a pontuação
referente a outra metade se dá através da resolução dos exercícios propostos. Alguns cuidados
são necessários durante a execução dos experimentos:
• A realização de qualquer experimento em ambiente de laboratório deve ser supervisionada,
seja por um docente ou por um técnico de laboratório, evite a utilização do espaço sem a
devida supervisão;
• Deve-se seguir o guia do experimento, pois ele está correto e garante que a montagem
será realizada da maneira adequada;
• Sempre que possível leia o datasheet dos componentes que serão utilizados para confecção
da sua montagem, esta atitude garante a utilização correta de todos os dispositivos;
• Para começar a montagem verique se a placa Arduino encontra-se desligada, isto é feito
desconectando
• Antes de executar o experimento de fato verique todas as conexões entre os componentes,
bem como se os resistores que estão na montagem são aqueles que foram dimensionados,
se não houve nenhum erro na xação dos componentes na protoboard, se todos os com-
ponentes estão conectados com as devidas polaridades corretas etc.
• É necessário um cuidado especial no local onde a placa Arduino está apoiada, para evitar
que curto-circuitos ocorram na parte inferior da placa, visto que este é o local em que se
encontram as soldas dos pinos e tais soldas não possuem isolamento externo entre elas.
• Após a montagem do experimento peça ao supervisor que verique-a, dando assim o visto
de que realmente aquele experimento foi realizado com sucesso;
• Ao término da montagem, e da realização das discussões pertinentes, o aluno deve des-
montar o experimento e organizar a bancada de trabalho mantendo a ordem e organização
do laboratório.
Os cuidados apresentados anteriormente devem ser seguidos com vistas ao funcionamento
pleno, organização e segurança no laboratório.

2.1 LED piscante na própria placa do Arduino

O primeiro experimento consiste em acender e apagar um LED de teste que está presente
na própria placa do Arduino UNO. O pino 13 da placa do Arduino UNO está internamente
conectado a um LED de testes na própria placa, como apresentado na Figura 4.

4
Figura 4: LED presente na placa do Arduino UNO.

2.1.1 Material Necessário


Os materiais necessários para este experimento são:
• Um computador com a IDE do Arduino;

• Um Arduino UNO.

Pelo fato de todos os componentes já se encontrarem na placa do arduino UNO, e já estarem


conectados entre si, não existe a necessidade de outros elementos como protoboads, os jumpers,
resistores, dentre outros.

2.1.2 Código
O código a seguir apresenta como realizar o experimento descrito anteriormente. Todo
código no Arduino é chamado de Sketch (Esboço em português) e será o local em que o algoritmo
será escrito.
// Experimento 01 - LED piscante na própria placa do Arduino
#define LED 13
void setup() {
pinMode(LED, OUTPUT);
}

void loop() {
digitalWrite(LED, HIGH);
delay(1000);
digitalWrite(LED, LOW);
delay(1000);
}
Todo sketch em Arduino terá a presença das funções void setup() e void loop(), essas fun-
ções são necessárias para a implementação de algoritmos utilizando o Arduino e consistem
basicamente em:
• void setup() - Esta função é executada apenas uma vez no início do programa. É nela
que serão emitidas instruções gerais para preparar o programa antes que o loop principal
seja executado. Denição como os modos dos pinos, taxas de transmissão serial, dentre
outras características.

5
• void loop() - É a função principal do programa e é executada continuamente enquanto o
Arduino estiver ligado. Todas as declarações dentro dessa função são executadas uma de
cada vez, passo a passo, até que se alcance o m da função. Nesse ponto o loop reinicia
desde o começo e assim innitamente, ou até que o Arduino seja desligado ou reiniciado.
A primeira linha do código consiste em um comentário. Comentários são extremamente
úteis para documentação do código, visto que facilitam o reuso do mesmo, bem como o uso por
outros desenvolvedores que possam precisar utiliza-ló. Após um tempo considerável sem mexer
em um determinado código é natural que se esqueça o seu funcionamento, logo os cometários
ajudam muito neste quesito.
A segunda linha do sketch é a declaração de uma constante simbólica. Para denição de
constantes simbólicas utiliza a diretiva de pré-processamento #dene, a sintaxe para utilização
dessa diretiva consiste em:
#define NOME_DA_CONSTANTE VALOR_DA_CONSTANTE
O nome da constante deve ser denido com letras maiúsculas e sem espaços entre os caracte-
res, já o valor da constante é um número denido pelo programador. As constantes simbólicas
são utilizadas em tempo de compilação do código, onde os locais em que uma determinada cons-
tante aparece são substituídas pelo valor da respectiva constante, evitando assim a necessidade
de alocação de espaço na memória.
É preferível a utilização de constantes simbólicas ao invés do uso de variáveis para uma
maior economia de recursos, se tratando de um microcontrolador esta economia pode fazer
diferença, visto que é um dispositivo com um número de recursos bem limitado.
No escopo da função void setup(), ou seja entre as chaves que denem o que a função deve
fazer, temos:
pinMode(LED,OUTPUT);
A função pinMode serve para denição do modo que o pino irá funcionar, em outras palavras,
dene se um pino será utilizado como entrada ou como saída esta função recebe os seguintes
parâmetros:
pinMode(Numero_do_pino,INPUT/OUTPUT);
O número do pino que se quer denir e se este pino será um pino de entrada (INPUT) ou de
saída (OUTPUT). É importante ressaltar que o compilador utilizado para projetos no Arduino
é case-sensitive, isto quer dizer que ele diferencia letras maiúsculas de minúsculas, ou seja se a
função for escrita pinmode ocorrerá um erro de compilação.
No escopo da função void loop() são utilizadas duas funções, a digitalWrite() e a delay(),
como mostrado a seguir:
void loop() {
digitalWrite(LED, HIGH);
delay(1000);
digitalWrite(LED, LOW);
delay(1000);
}
A função digitalWrite() serve para escrever saídas digitais, uma saída digital só pode possuir
dois valores: nível baixo (zero) ou nível alto (um). A função recebe então dois parâmetros:
digitalWrite(numero_do_pino_de_saida_digital, 0(zero)/1(um));

6
No próprio Arduino existem constantes simbólicas referentes aos possíveis estados das saídas
digitais, são eles o HIGH (alto) e o LOW (baixo), são essas as constantes utilizadas no código
deste experimento.
A função delay nada mais é que um atraso, é um tempo em que o Arduino ca em espera
sem fazer nenhuma atividade. O único parâmetro que a função delay recebe é o tempo no
qual o mesmo deve car em espera, este tempo é representado em milisegundos, no caso deste
experimento foi utilizado o valor de 1000 ms que equivale a 1 segundo de espera.

2.1.3 Montagem
Devido ao fato citado anteriormente, a montagem consiste apenas na conexão do Arduino
UNO com o computador através do cabo USB - USB B, esta conexão será responsável pela
alimentação da placa, bem como realização do download do código para o microcontrolador.

2.1.4 Procedimento Experimental


O procedimento experimental a ser seguido é apresentado a seguir. É bom lembrar que as
precauções apresentadas anteriormente também devem ser seguidas e respeitadas.
• Escreva o código apresentado neste experimento na IDE do Arduino;
• Conecte a placa Arduino UNO ao computador utilizando o cabo USB - USB B;
• Compile o código e realize o download para a placa do Arduino;
• Analise o comportamento da montagem.
Após vericação da montagem e das discussões pertinentes responda aos seguintes questio-
namentos.

2.1.5 Questões
1) Questão (1,0 ponto):O que deveria ser modicado no código para que o LED passe
mais tempo acesso do que apagado?

2.2 LED piscante no protoboard

Semelhante a montagem anterior este experimento consiste em piscar um LED, porém desta
vez o mesmo não se encontra na placa do Arduino UNO e será um LED externo localizado em
um protoboard.

2.2.1 Material Necessário


Os materiais necessários para este experimento são:
• Um computador com a IDE do Arduino;
• Um Arduino UNO;
• Um protoboard;
• Um LED vermelho;
• Um Resistor;
• Fios jumper.

7
2.2.2 Código
Como será utilizado o mesmo pino basicamente o código é o mesmo do experimento anterior,
e é apresentado a seguir:
// Experimento 02 - LED piscante no protoboard
#define LED 13
void setup() {
pinMode(LED, OUTPUT);
}

void loop() {
digitalWrite(LED, HIGH);
delay(1000);
digitalWrite(LED, LOW);
delay(1000);
}
Visto que é praticamente o mesmo código as explicações dadas no experimento anterior
também são válidas para este experimento, sem a necessidade de novamente fazê-las.

2.2.3 Montagem
Antes de começar a montar o circuito é necessário denir qual será o valor da resistência
utilizada para o caso de um LED da cor vermelha. A queda de tensão em um LED desta cor é
de 1,8V, conforme pode ser consultado na Tabela 1. Dimensionaremos este resistor para uma
corrente de 20 mA, logo o valor da resistência deve ser, conforme a Equação 1:
(VS − VL ) (5 − 1, 8) 3, 2
R= = −3
= = 160Ω (2)
I 20x10 0.02
Consultando a Figura 3 um resistor de 160 Ω corresponde ao código de cores de Marrrom
(1), Azul (6), Marrom (x10), a ultima faixa não importa muito, pois nesta aplicação não existe
uma necessidade de uma precisão elevada. Caso não tenha em mãos um resistor com este valor
de 160 Ω pode ser utilizado um valor superior a este, e até ligeiramente inferior desde que este
valor inferior não seja menor do que 80 Ω, que corresponde a uma corrente de 40mA para esta
aplicação.
Os componentes devem ser conectados semelhante ao apresentado na Figura 5.

Figura 5: Montagem referente ao segundo experimento.

Neste primeiro momento também utilizaremos o pino 13 como saída para alimentação do
LED, por isso na montagem apresentada na Figura 5 o pino 13 do Arduino está conectado

8
ao resistor através do protoboard. Lembrando que as trilhas do protoboard são conectadas
segundo o esquema apresentado na Figura 6.

Figura 6: Conexão das trilhas de um protoboard.

Uma representação em circuitos elétricos é apresentada na Figura 7, em que a saída do


Arduíno pode ser 5V ou 0V dependendo do estado da saída digital.

Figura 7: Representação do experimento em circuitos.

2.2.4 Procedimento Experimental


O procedimento experimental a ser seguido é apresentado a seguir. É bom lembrar que as
precauções apresentadas anteriormente também devem ser seguidas e respeitadas.
• Realize todas as conexões da montagem corretamente e dimensione dos componentes de
maneira adequada caso necessário;
• Escreva o código apresentado neste experimento na IDE do Arduino;

• Conecte a placa Arduino UNO ao computador utilizando o cabo USB - USB B;

• Compile o código e realize o download para a placa do Arduino;

• Analise o comportamento da montagem.

Após vericação da montagem e das discussões pertinentes responda aos seguintes questio-
namentos.

2.2.5 Questões
1) Questão (1,0 ponto):Refaça este experimento, porém utilize outro pino como saída
digital ao invés do pino 13.

9
2) Questão (1,0 ponto):Caso fosse uma associação de dois LEDs vermelhos em série qual
seria a resistência para que a corrente continue em 20mA? Desenhe o circuito correspon-
dente e apresente os cálculos para dimensionamento do resistor.

2.3 Dois LEDs piscando alternadamente

Semelhante a montagem anterior este experimento consiste em piscar LEDs em protoboard,


porém serão dois LEDs que piscarão de maneira alternada, enquanto um está aceso o outro
está apagado, quando o LED que estava aceso apagar o apagado irá acender.

2.3.1 Material Necessário


Os materiais necessários para este experimento são:
• Um computador com a IDE do Arduino;

• Um Arduino UNO;

• Um protoboard;

• Dois LEDs vermelhos;

• Dois Resistores de 160 Ω;

• Fios jumper.

2.3.2 Código
O código é bem semelhante aos códigos dos experimentos anteriores. Basicamente serão
utilizadas as mesmas funções, porém será necessário a utilização de dois pinos como saída e
uma lógica na qual enquanto um LED está aceso o outro está apagado e vice-versa. O código
para este experimento é apresentado a seguir:
// Experimento 03 - Dois LEDs piscando alternadamente
#define LED_UM 7
#define LED_DOIS 8
void setup() {
pinMode(LED_UM, OUTPUT);
pinMode(LED_DOIS, OUTPUT);
}

void loop() {
digitalWrite(LED_UM, HIGH);
digitalWrite(LED_DOIS,LOW);
delay(1000);
digitalWrite(LED_UM, LOW);
digitalWrite(LED_DOIS,HIGH);
delay(1000);
}

As funções utilizadas no código deste experimento já foram apresentadas e cada uma delas
devidamente explicada no primeiro experimento deste guia.

10
2.3.3 Montagem
Os componentes devem ser conectados semelhante ao apresentado na Figura 8. É bom
salientar que se deve tomar cuidado com as conexões a serem realizadas, de forma a evitar
curto-circuitos e possíveis danos aos componentes utilizados. Também é bom ressaltar que não
existe isolação entre as soldas dos pinos da placa do Arduino, sendo importante ter cuidado
com esses pontos da placa.

Figura 8: Montagem referente ao terceiro experimento.

Figura 9: Representação do experimento em circuitos.

2.3.4 Procedimento Experimental


O procedimento experimental a ser seguido é apresentado a seguir. É bom lembrar que as
precauções apresentadas anteriormente também devem ser seguidas e respeitadas.
• Realize todas as conexões da montagem corretamente e dimensione dos componentes de
maneira adequada caso necessário;
• Escreva o código apresentado neste experimento na IDE do Arduino;

11
• Conecte a placa Arduino UNO ao computador utilizando o cabo USB - USB B;

• Compile o código e realize o download para a placa do Arduino;

• Analise o comportamento da montagem.

Após vericação da montagem e das discussões pertinentes responda aos seguintes

2.3.5 Questões
1) Questão (1,0 ponto):Reescreva o código apresentado nesse guia de maneira que um
LED pisque 5 vezes mais rapidamente que o outro. Refaça o experimento para ver se seu
código está correto, caso esteja, copie o código neste guia.
2) Questão (1,0 ponto):Refaça este experimento utilizando um LED verde e um Vermelho.
Dimensione o resistor necessário para acender um LED verde e apresente os cálculos
pertinentes. Utilize os dados apresentados neste guia.

3 Conclusões sobre os Experimentos


Os experimentos presentes neste guia abordam conhecimentos introdutórios referentes ao
Arduino. Neste primeiro guia foram apresentados como congurar um pino para ser uma saída,
como dimensionar resistores para uso de LEDs, como usar a função de atraso (delay()) e como
funcionam as funções void setup() e void loop().
Nos próximos guias serão apresentados outras diversas funções do Arduino dentre elas:
Como utilizar um pino como entrada, como usar uma entrada analógica, como utilizar uma
saída como PWM (pulse width modulation) - modulação por largura de pulso e como utilizar
outros dispositivos eletrônicos.

4 Exercícios Propostos
1) Atividade (3,0 pontos): Utilizando os conhecimentos apresentados neste guia faça
um semáforo utilizando 3 LEDs (um vermelho, um amarelo e um verde). Dimensione
os resistores adequados para cada um dos LEDs considerando uma corrente de 20 mA,
apresente os cálculos dos respectivos resistores, caso tenha utilizado um valor diferente
daquele que foi dimensionado justique o porquê. Apresente o código do programa e o
circuito referente a montagem.
2) Atividade (2,0 pontos): Utilizando os conhecimentos apresentados neste guia faça com
que um LED vermelho comece piscando devagar e com o passar do tempo a frequência
com a qual o LED pisca vai aumentando chegando ao ponto de não se perceber que o
mesmo está piscando, quando chegar neste momento vá diminuindo a frequência até que
ele volte a piscar na frequência inicial. Faça com que o programa que repetindo esse
ciclo.

"Os investimentos em conhecimento geram os melhores dividendos."


(Benjamin Franklin)

12

Vous aimerez peut-être aussi