AULA 2 - Microcontroladores - Técnico: mudanças entre as edições

De IFSC
Ir para navegação Ir para pesquisar
imported>Fargoud
imported>Fargoud
Sem resumo de edição
 
(28 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
[[MCO1870321| << Página do curso ]]
=Arquitetura do Arduíno=
=Arquitetura do Arduíno=


Linha 25: Linha 28:
[[imagem:unoarq2.jpg|center]]
[[imagem:unoarq2.jpg|center]]


==Escrita nas portas digitais==
----
 
 
 
 
=Escrita nas portas digitais=


Vimos no primeiro exemplo, que o pino digital 13 está ligado diretamente a um LED de sinalização da placa e, portanto, nenhum LED externo foi necessário, para testar a escrita nas portas digitais.
Vimos no primeiro exemplo, que o pino digital 13 está ligado diretamente a um LED de sinalização da placa e, portanto, nenhum LED externo foi necessário, para testar a escrita nas portas digitais.
Linha 31: Linha 39:
Porém, se quisermos acender um LED externo à placa, podemos conectá-lo diretamente a outra porta digital qualquer, inclusive à própria porta 13.  
Porém, se quisermos acender um LED externo à placa, podemos conectá-lo diretamente a outra porta digital qualquer, inclusive à própria porta 13.  


Podemos utilizar um LED de 5mm que acende com 2,5V.  
Podemos utilizar um LED de 5mm que acende com aproximadamente 2,1 V.  


O problema, nesse caso, se dá por conta da porta digital: ela assume tensão 0V (nível lógico LOW), ou a tensão 5V (nível lógico HIGH), e caso coloquemos 5V no LED ele irá queimar.
O problema, nesse caso, se dá por conta da porta digital: ela assume tensão 0V (nível lógico LOW), ou a tensão 5V (nível lógico HIGH), e caso coloquemos 5V no LED ele irá queimar.
Linha 37: Linha 45:
Para solucionar esse problema precisamos ligar algum outro componente que seja responsável por dividir parte dessa tensão com o LED, para que ele não queime, então utilizaremos um resistor.  
Para solucionar esse problema precisamos ligar algum outro componente que seja responsável por dividir parte dessa tensão com o LED, para que ele não queime, então utilizaremos um resistor.  


Portanto, ligamos um resistor de 120 em série com o LED, o resistor à porta 13 e o LED à porta GND  (ground ou terra), como
Portanto, ligamos um resistor de 120 ohms em série com o LED, o resistor à porta 13 e o LED à porta GND  (ground ou terra), como
na Figura abaixo.
na Figura abaixo.


Linha 47: Linha 55:
Em vez do LED, poderíamos controlar outros componentes ou equipamentos digitais, como motores, eletrodomésticos, etc.
Em vez do LED, poderíamos controlar outros componentes ou equipamentos digitais, como motores, eletrodomésticos, etc.


===Cálculos de resistência===
==O componente LED==
 
LED, ou ''light emitter diode''' é um diodo emissor de luz que, quando alimentado corretamente, permite o fluxo de energia apenas em um sentido.


Para chegar ao valor de 120 acima, precisei fazer algumas contas (e arredondamentos).  
É um componente polarizado (com pólos positivo e negativo) e deve ser corretamente conectado para funcionar.
 
Note que o polo positivo possui uma perna maior (terminal maior) que a outra (veja a figura abaixo).
 
 
Já o polo negativo possui a menor perna (terminal menor).
 
[[image: led1.jpg|center]]
 
Obs.: alguns LED's apresentam o polo negativo chanfrado (plano) no seu exterior.
 
Há vários tipos de LED's, que variam tanto em cor, quanto em tamanho. Cada led utiliza uma tensão nominal, suficiente para fazê-lo emitir a luminância adequada e uma corrente máxima, que ele pode suportar.
 
:Tabela de tensões e correntes para cada tipo de led:
 
[[image: tabelaled.jpg|center]]
 
 
==Cálculos de resistência==
 
Para chegar ao valor de 120 ohms acima, é necessário fazer-se alguns cálculos(e arredondamentos).  


Vamos aprender agora a calcular o valor dos resistores que precisamos utilizar.  
Vamos aprender agora a calcular o valor dos resistores que precisamos utilizar.  


Se precisarmos acender um LED verde, que é alimentado com tensão de 2,2V e corrente de 20mA através do Arduino, precisaremos de um resistor, como já vimos, já que o Arduino só consegue fornecer ou 0V ou 5V.  
Se precisarmos acender um LED '''verde''', que é alimentado com tensão de 2,1 V e corrente de 20mA através do Arduino, precisaremos de um resistor, como já vimos, já que o Arduino só consegue fornecer ou 0V ou 5V.  
 


Colocaremos o resistor em série com o LED, e com isso podemos concluir que:
Colocaremos o resistor em série com o LED, e com isso podemos concluir que:
Linha 59: Linha 90:
* A tensão total (soma das tensões no resistor e no LED) será de 5V, ou seja: VLED + VR = 5V
* A tensão total (soma das tensões no resistor e no LED) será de 5V, ou seja: VLED + VR = 5V
* A corrente total que deve passar pelo resistor e pelo LED (já que eles estão em série, é a mesma) será de 20mA, ou seja: ILED = IR = 20mA
* A corrente total que deve passar pelo resistor e pelo LED (já que eles estão em série, é a mesma) será de 20mA, ou seja: ILED = IR = 20mA
* Precisamos colocar uma tensão de 2,2V no LED, ou seja: VLED = 2,2V
* Precisamos colocar uma tensão de 2,1 V no LED, ou seja: VLED = 2,1 V


Sabendo desses detalhes, podemos concluir que a tensão no resistor será de:  
Sabendo desses detalhes, podemos concluir que a tensão no resistor será de:  
  VR =( 5V - VLED )  
  VR =( 5V - VLED )  
  VR = 5V - 2,2V
  VR = 5V - 2,1 V
  VR = 2,8V  
  VR = 2,9V  


Como IR = 20mA e VR = 2,8V , podemos calcular o valor da resistência R do resistor que iremos utilizar através da Lei de Ohm:
Como IR = 20mA e VR = 2,9 V , podemos calcular o valor da resistência R do resistor que iremos utilizar através da Lei de Ohm:


  V = R.I
  V = R.I
Linha 72: Linha 103:
Assim, temos:  
Assim, temos:  


  2,8V = R. 0,020A  
  2,9 V = R. 0,020A  
  R = 2,8V/0,020A  
  R = 2,9 V/0,020A  
  R = 140 ohms
  R = 145 ohms


Depois de feito o cálculo, podemos generalizar com a seguinte equação:
Depois de feito o cálculo, podemos generalizar com a seguinte equação:
Linha 81: Linha 112:




Para o LED verde, precisamos de um resistor de 140, porém não existem resistores com esse valor para
Para o LED verde, precisamos de um resistor de 145 ohms, porém não existem resistores com esse valor para
venda (os valores, chamados de ''valores comerciais'' são pré-definidos).  
venda (os valores, chamados de ''valores comerciais'' são pré-definidos).  


Dada essa situação, temos duas alternativas:
Dada essa situação, temos duas alternativas:
_ Utilizar um resistor de maior resist^encia e limitar mais a corrente (que fará com que o LED brilhe menos);
* Utilizar um resistor de maior resistência e limitar mais a corrente (que fará com que o LED brilhe menos, mas que é responsável, para aumentar a vida útil do LED);
ou
ou
_ Associar dois ou mais resistores em série ou paralelo para conseguir o valor.
* Associar dois ou mais resistores em série ou paralelo para conseguir o valor desejado.
 
Geralmente escolhemos um resistor de valor próximo, já que uma alteração pequena de corrente não causará
Geralmente escolhemos um resistor de valor próximo, já que uma alteração pequena de corrente não causará
danos ao dispositivo, porém em alguns casos precisaremos combinar resistores de valores diferentes para conseguir
danos ao dispositivo, porém em alguns casos precisaremos combinar resistores de valores diferentes para conseguir o valor equivalente.
o valor equivalente { esse tema será explicado em mais detalhes no próximo capítulo.
 
Pela tabela abaixo, podemos ver que nosso problemas estaria resolvido se utilizássemos um resistor de 120 a 150 ohms, ou dois resistores de 68 ohms em série, por exemplo.
 
===Tabela de Cores de Resistores===
[[image: resistcom.jpg|center]]
 
Para maiores informações:
[https://newtoncbraga.com.br/index.php/eletronica/57-artigos-e-projetos/8162-alimentando-corretamente-seus-leds-art1437 ''Alimentando corretamente seus leds'']
 
==Alimentação do circuito==
 
Internamente, o circuito do Arduino é alimentado com uma tensão de 5V.  


Quando ligamos o Arduino em uma porta USB do PC, o próprio PC, através do cabo USB, alimenta o Arduino.


1.3.2 Alimentação do circuito
Porém nem sempre temos um PC por perto; para esses casos, podemos utilizar uma outra fonte de energia de 5V (a fonte deve ser ligada
Internamente, o circuito do Arduino é alimentado com uma tensão de 5V. Quando ligamos o Arduino em uma
porta USB do PC, o próprio PC, através do cabo USB, alimenta o Arduino. Porém nem sempre temos um
PC por perto; para esses casos, podemos utilizar uma outra fonte de energia de 5V (a fonte deve ser ligada
diretamente nos pinos 5V e GND do Arduino).
diretamente nos pinos 5V e GND do Arduino).
Como não possuímos pilhas/baterias em abund^ancia no mercado com tensão de 5V, ça complicado alimentar
 
um Arduino dessa forma alternativa { se tivermos uma tomada de 127/220VAC por perto, poderíamos ligar
Como não possuímos pilhas/baterias em abundância no mercado com tensão de 5V, é complicado alimentar um Arduino dessa forma alternativa (se dispusermos uma tomada de 127/220VAC por perto, poderíamos ligar uma fonte AC/DC ).  
uma fonte AC/DC (essas sim, existem aos montes). Para resolver esse problema, o Arduino possui um regulador
 
de tensão que aceita tensões de 7 a 12V (na verdade, ele consegue funcionar com tensões entre 6 e 20V, apesar
Para resolver esse problema, o Arduino possui um regulador de tensão que aceita tensões de 7 a 12V (na verdade, ele consegue funcionar com tensões entre 6 e 20V, apesar de não ser recomendado). Com o regulador de tensão podemos combinar pilhas em série, utilizar uma bateria
de não ser recomendado). Com o regulador de tensão podemos combinar pilhas em série, utilizar uma bateria
de 9V ou mesmo baterias de carros, motos e no-breaks (12V).
de 9V ou mesmo baterias de carros, motos e no-breaks (12V).
Figura
 


[[imagem: alimentacao.jpg|center]]
[[imagem: alimentacao.jpg|center]]
----
==Exercícios:==
# Altere o código para acender sequencialmente leds ligados aos pinos digitais 5 e 10 do Arduíno. [[Solução do Exercício 1 - Aula 2]]
# Altere o código para que a porta digital 12 acione 3 LEDs vermelhos '''em série'''. O que deverá ser mudado?
# Pesquise sobre a corrente/potência que cada saída digital do Arduíno pode fornecer.
# O que deveria ser feito, para poder-se acionar equipamentos que drenassem maior potência, corrente, além dos ~40mA que o Arduíno pode fornecer?




Linha 114: Linha 164:
! style="background: #cdc5bf;" | [[AULA 1 - Microcontroladores - Técnico|Introdução aos Microcontroladores ]]  
! style="background: #cdc5bf;" | [[AULA 1 - Microcontroladores - Técnico|Introdução aos Microcontroladores ]]  
! style="background: #cdc5bf;" | AULA 2 - Arquitetura do Arduíno  
! style="background: #cdc5bf;" | AULA 2 - Arquitetura do Arduíno  
! style="background: #cdc5bf;" | [[AULA 3 - Microcontroladores - Técnico| >> ]]
! style="background: #cdc5bf;" | [[AULA 3 - Microcontroladores - Técnico| Leitura das portas digitais>> ]]
|}
|}

Edição atual tal como às 09h40min de 8 de agosto de 2018

<< Página do curso


Arquitetura do Arduíno

Principais blocos:

Unoarq3.jpg


Como é estruturado o Hardware:

  • 0-5 (azul) - pinos de entradas analógicas.

Entradas para o ADC, podem ser usados como I/O digital.

  • 0-13 (verde) - pinos de I/O digitais . Pinos 0 e 1

também são utilizados para a comunicação serial.

  • AREF(laranja) - referência analógica do ADC.
  • S1 (azul) - botão de inicialização.
  • ICSP (ciano) - conector de gravação In-Circuit.
  • USB (amarelo) - usado para gravar o Arduino ou

energizá-lo.

  • X1 (rosa) - fonte de alimentação externa

(9-12VDC, após diodo estará também em Vin).

Unoarq01.jpg

Mais detalhadamente:

Unoarq2.jpg



Escrita nas portas digitais

Vimos no primeiro exemplo, que o pino digital 13 está ligado diretamente a um LED de sinalização da placa e, portanto, nenhum LED externo foi necessário, para testar a escrita nas portas digitais.

Porém, se quisermos acender um LED externo à placa, podemos conectá-lo diretamente a outra porta digital qualquer, inclusive à própria porta 13.

Podemos utilizar um LED de 5mm que acende com aproximadamente 2,1 V.

O problema, nesse caso, se dá por conta da porta digital: ela assume tensão 0V (nível lógico LOW), ou a tensão 5V (nível lógico HIGH), e caso coloquemos 5V no LED ele irá queimar.

Para solucionar esse problema precisamos ligar algum outro componente que seja responsável por dividir parte dessa tensão com o LED, para que ele não queime, então utilizaremos um resistor.

Portanto, ligamos um resistor de 120 ohms em série com o LED, o resistor à porta 13 e o LED à porta GND (ground ou terra), como na Figura abaixo.

Blink1.jpg


Não precisamos fazer nenhuma alteração no software para que esse circuito funcione: basta ligar o Arduino na porta USB do computador, para que o computador forneça alimentação ao circuito, e então veremos o LED externo piscar, juntamente com o LED interno.

Em vez do LED, poderíamos controlar outros componentes ou equipamentos digitais, como motores, eletrodomésticos, etc.

O componente LED

LED, ou light emitter diode' é um diodo emissor de luz que, quando alimentado corretamente, permite o fluxo de energia apenas em um sentido.

É um componente polarizado (com pólos positivo e negativo) e deve ser corretamente conectado para funcionar.

Note que o polo positivo possui uma perna maior (terminal maior) que a outra (veja a figura abaixo).


Já o polo negativo possui a menor perna (terminal menor).

Led1.jpg

Obs.: alguns LED's apresentam o polo negativo chanfrado (plano) no seu exterior.

Há vários tipos de LED's, que variam tanto em cor, quanto em tamanho. Cada led utiliza uma tensão nominal, suficiente para fazê-lo emitir a luminância adequada e uma corrente máxima, que ele pode suportar.

Tabela de tensões e correntes para cada tipo de led:
Tabelaled.jpg


Cálculos de resistência

Para chegar ao valor de 120 ohms acima, é necessário fazer-se alguns cálculos(e arredondamentos).

Vamos aprender agora a calcular o valor dos resistores que precisamos utilizar.

Se precisarmos acender um LED verde, que é alimentado com tensão de 2,1 V e corrente de 20mA através do Arduino, precisaremos de um resistor, como já vimos, já que o Arduino só consegue fornecer ou 0V ou 5V.


Colocaremos o resistor em série com o LED, e com isso podemos concluir que:

  • A tensão total (soma das tensões no resistor e no LED) será de 5V, ou seja: VLED + VR = 5V
  • A corrente total que deve passar pelo resistor e pelo LED (já que eles estão em série, é a mesma) será de 20mA, ou seja: ILED = IR = 20mA
  • Precisamos colocar uma tensão de 2,1 V no LED, ou seja: VLED = 2,1 V

Sabendo desses detalhes, podemos concluir que a tensão no resistor será de:

VR =( 5V - VLED ) 
VR = 5V - 2,1 V 
VR = 2,9V  

Como IR = 20mA e VR = 2,9 V , podemos calcular o valor da resistência R do resistor que iremos utilizar através da Lei de Ohm:

V = R.I

Assim, temos:

2,9 V = R. 0,020A 
R = 2,9 V/0,020A 
R = 145 ohms

Depois de feito o cálculo, podemos generalizar com a seguinte equação:

R = (Vfonte - VLED)/IR


Para o LED verde, precisamos de um resistor de 145 ohms, porém não existem resistores com esse valor para venda (os valores, chamados de valores comerciais são pré-definidos).

Dada essa situação, temos duas alternativas:

  • Utilizar um resistor de maior resistência e limitar mais a corrente (que fará com que o LED brilhe menos, mas que é responsável, para aumentar a vida útil do LED);

ou

  • Associar dois ou mais resistores em série ou paralelo para conseguir o valor desejado.

Geralmente escolhemos um resistor de valor próximo, já que uma alteração pequena de corrente não causará danos ao dispositivo, porém em alguns casos precisaremos combinar resistores de valores diferentes para conseguir o valor equivalente.

Pela tabela abaixo, podemos ver que nosso problemas estaria resolvido se utilizássemos um resistor de 120 a 150 ohms, ou dois resistores de 68 ohms em série, por exemplo.

Tabela de Cores de Resistores

Resistcom.jpg

Para maiores informações: Alimentando corretamente seus leds

Alimentação do circuito

Internamente, o circuito do Arduino é alimentado com uma tensão de 5V.

Quando ligamos o Arduino em uma porta USB do PC, o próprio PC, através do cabo USB, alimenta o Arduino.

Porém nem sempre temos um PC por perto; para esses casos, podemos utilizar uma outra fonte de energia de 5V (a fonte deve ser ligada diretamente nos pinos 5V e GND do Arduino).

Como não possuímos pilhas/baterias em abundância no mercado com tensão de 5V, é complicado alimentar um Arduino dessa forma alternativa (se dispusermos uma tomada de 127/220VAC por perto, poderíamos ligar uma fonte AC/DC ).

Para resolver esse problema, o Arduino possui um regulador de tensão que aceita tensões de 7 a 12V (na verdade, ele consegue funcionar com tensões entre 6 e 20V, apesar de não ser recomendado). Com o regulador de tensão podemos combinar pilhas em série, utilizar uma bateria de 9V ou mesmo baterias de carros, motos e no-breaks (12V).


Alimentacao.jpg

Exercícios:

  1. Altere o código para acender sequencialmente leds ligados aos pinos digitais 5 e 10 do Arduíno. Solução do Exercício 1 - Aula 2
  2. Altere o código para que a porta digital 12 acione 3 LEDs vermelhos em série. O que deverá ser mudado?
  3. Pesquise sobre a corrente/potência que cada saída digital do Arduíno pode fornecer.
  4. O que deveria ser feito, para poder-se acionar equipamentos que drenassem maior potência, corrente, além dos ~40mA que o Arduíno pode fornecer?


<< Página do curso

Introdução aos Microcontroladores AULA 2 - Arquitetura do Arduíno Leitura das portas digitais>>