FAVORITAR
FecharPlease login

Arduino UNO – Conheça o hardware da placa Arduino em detalhes

Placa Arduino UNO
Este post faz parte da série Placas Arduino. Leia também os outros posts da série:

Claro, aqui está o texto melhorado:

Se você já ouviu falar da plataforma Arduino, com certeza já ouviu falar também da placa Arduino Uno. Por ser open source e com um hardware simplificado, ela se tornou a placa mais popular e referência da plataforma Arduino. Neste artigo, vamos abordar a placa Arduino Uno exibindo suas características de hardware e os recursos que esta placa possui, para que você conheça todos os detalhes do seu hardware tanto para explorá-la quanto para construir novos projetos baseados nela.

Arduino UNO

A placa Arduino Uno já está em sua terceira revisão e você pode baixar seu esquema elétrico no site do Arduino, ou até mesmo todos os arquivos do projeto para edição. Ela tem apenas duas camadas e várias características interessantes de projeto. A seguir, serão apresentadas as principais características do seu hardware.

Alimentação da placa Arduino

A placa pode ser alimentada pela conexão USB ou por uma fonte de alimentação externa, conforme mostrado na figura abaixo:

No dia 25 de Junho de 2024, ocorrerá o “Seminário de Sistemas Embarcados e IoT 2024“, no Holiday Inn Anhembi — Parque Anhembi, São Paulo–SP.

Garanta seu ingresso

Alimentação da placa ARDUINO UNO
Figura 1 – Alimentação da placa Arduino UNO

A alimentação externa é feita através do conector Jack com positivo no centro, onde o valor de tensão da fonte externa deve estar entre os limites de 6V a 20V. No entanto, se alimentada com uma tensão abaixo de 7V, a tensão de funcionamento da placa, que no Arduino Uno é 5V, pode ficar instável. Quando alimentada com tensão acima de 12V, o regulador de tensão da placa pode sobreaquecer e danificar a placa. Portanto, é recomendado utilizar tensões de fonte externa entre 7V e 12V.

O circuito regulador para entrada externa é exibido a seguir. Observa-se que o CI responsável pela regulação de tensão é o NCP1117, da OnSemi. Destaque para o diodo D1 que protege o circuito caso uma fonte com tensão invertida for ligada.

O circuito regulador para entrada externa do Arduino UNO
Figura 2 – O circuito regulador para entrada externa

Quando o cabo USB é plugado a um PC, por exemplo, a tensão não precisa ser estabilizada pelo regulador de tensão. Dessa forma, a placa é alimentada diretamente pela USB. O circuito da USB apresenta alguns componentes que protegem a porta USB do computador em caso de alguma anormalidade. Na figura abaixo, é exibido o circuito de proteção da USB da placa Arduino Uno.

Circuito de proteção da USB da placa Arduino UNO
Figura 3 – Circuito de proteção da USB da placa Arduino UNO

Os dois varistores (Z1 e Z2) podem suportar picos elevados de SURGE e energias elevadas de transientes. Seria preferível se, ao invés de varistores, fossem conectados diodos supressores de ESD que têm capacitância bem baixa, já que estão ligados a pinos rápidos de comunicação, mas o circuito funciona bem mesmo assim. Os resistores de 22 Ohms (RN3A e RN3D) limitam uma corrente resultante de alguma descarga elétrica eventual de um usuário em contato com o conector USB, resultante de transientes rápidos, protegendo, dessa forma, os pinos do microcontrolador.

O fusível resetável (F1) de 500mA impede que a porta USB do computador queime, caso ocorra algum problema de projeto ou uma falha no circuito e ultrapasse a corrente de 500 mA quando a placa estiver conectada ao PC. O ferrite L1 foi incluído no circuito para que ruídos da USB externa não entrem no circuito da placa Arduino, através de seu terra.

Além dos recursos apresentados anteriormente, a placa conta com um circuito para comutar a alimentação automaticamente entre a tensão da USB e a tensão da fonte externa. Esse circuito está apresentado na figura abaixo. Caso haja uma tensão no conector DC e a USB é conectada, a tensão de 5V será proveniente da fonte externa e a USB servirá apenas para comunicação com o PC.

Circuito de seleção de fonte na Arduino UNO
Figura 4 – Circuito de seleção de fonte na Arduino UNO

Como pode-se observar na figura anterior, existe na placa um regulador de 3,3V (U2 – LP2985). Este componente é responsável por fornecer uma tensão contínua de 3,3V para alimentação de circuitos ou shields que necessitem desse valor de tensão. Deve-se ficar atento ao limite máximo do valor da corrente que este regulador pode fornecer, que no caso é de 150 mA.

A seguir são exibidos os conectores de alimentação para conexão de shields e módulos na placa Arduino UNO:

Conectores de alimentação Arduino UNO R3
Figura 5 – Conectores de alimentação Arduino UNO R3
  • IOREF – Fornece uma tensão de referência para que shields possam selecionar o tipo de interface apropriada, permitindo que shields que funcionam com placas Arduino alimentadas com 3,3V possam se adaptar para ser utilizados em 5V e vice-versa.
  • RESET – Pino conectado ao pino de RESET do microcontrolador. Pode ser utilizado para um reset externo da placa Arduino UNO.
  • 3,3 V.  – Fornece tensão de 3,3V para alimentação de shields e módulos externos. Corrente máxima de 50 mA.
  • 5 V – Fornece tensão de 5V para alimentação de shields e circuitos externos.
  • GND  – Pinos de referência, terra.
  • VIN – Pino para alimentar a placa através de shield ou bateria externa. Quando a placa é alimentada através do conector Jack, a tensão da fonte estará neste pino.

Comunicação USB da Placa Arduino UNO

Como interface USB para comunicação com o computador, há na placa um microcontrolador ATMEL ATMEGA16U2:

Conversor USB-serial com ATmega16u2 na Arduino UNO
Figura 6 – Conversor USB-serial com ATmega16u2

Este microcontrolador é o responsável pela forma transparente como funciona a placa Arduino Uno, possibilitando o upload do código binário gerado após a compilação do programa feito pelo usuário. Possui um conector ICSP para gravação de firmware através de um programador ATMEL, para atualizações futuras.

Nesse microcontrolador também estão conectados dois LEDs (TX, RX), controlados pelo software do microcontrolador, que indicam o envio e recepção de dados da placa para o computador. Este microcontrolador possui um cristal externo de 16 MHz. É interessante notar a conexão entre este microcontrolador com o ATMEL ATMEGA328, onde é feita pelo canal serial desses microcontroladores.

Outro ponto interessante que facilita o uso da placa Arduino é a conexão do pino 13 do ATMEGA16U2 ao circuito de RESET do ATMEGA328, possibilitando a entrada no modo bootloader automaticamente quando é pressionado o botão “Upload” na IDE. Esse recurso não estava disponível nas primeiras placas Arduino, onde era necessário pressionar o botão de RESET antes de fazer o Upload na IDE.

Circuito de comunicação serial na Arduino UNO
Figura 7 – Circuito de comunicação serial na Arduino UNO

O cérebro do Arduino UNO

O componente principal da placa Arduino Uno é o microcontrolador ATMEL ATMEGA328, um dispositivo de 8 bits da família AVR com arquitetura RISC avançada e com encapsulamento DIP28. Ele conta com 32 KB de Flash (mas 512 Bytes são utilizados para o bootloader), 2 KB de RAM e 1 KB de EEPROM. Pode operar a até 20 MHz, porém na placa Arduino Uno opera em 16 MHz, valor do cristal externo que está conectado aos pinos 9 e 10 do microcontrolador. Observe que, para o projeto dessa placa, os projetistas escolheram um cristal com dimensões bem reduzidas.

Possui 28 pinos, sendo que 23 desses podem ser utilizados como I/O:

Pinagem ATmega328 usado no Arduino UNO
Figura 8 – Pinagem ATmega328 usado no Arduino UNO

Esse microcontrolador pode operar com tensões bem baixas, de até 1,8V, mas nessa tensão apenas opera até 4MHz. Possui dois modos de consumo super baixos, o Power-down Mode e o Power-save Mode, para que o sistema possa poupar energia em situações de espera. Conta com periféricos como uma USART que funciona a até 250kbps, uma SPI que vai a até 5MHz, e uma I2C que pode operar até 400kHz.

Além disso, possui um comparador analógico interno ao CI e diversos timers, além de 6 PWMs. A corrente máxima por pino é de 40mA, mas a soma da corrente de todo o CI não pode ultrapassar 200mA. Ele também possui um oscilador interno de 32kHz que pode ser utilizado, por exemplo, em situações de baixo consumo.

Entradas e saídas do Arduino UNOI

A placa Arduino UNO possui pinos de entrada e saída digitais, assim como pinos de entrada e saída analógicos. Abaixo está exibida a pinagem conhecida como o padrão Arduino:

Pinos de entrada e saída no Arduino UNO R3
Figura 9 – Pinos de entrada e saída no Arduino UNO R3

Conforme exibido na figura, a placa Arduino UNO possui 14 pinos que podem ser usados como entrada ou saída digitais. Esses pinos operam em 5 V, onde cada um pode fornecer ou receber uma corrente máxima de 40 mA. Além disso, cada pino possui um resistor de pull-up interno que pode ser habilitado por software. Alguns desses pinos possuem funções especiais:

  • PWM : 3,5,6,9,10 e 11 podem ser usados como saídas PWM de 8 bits através da função analogWrite();
  • Comunicação serial: 0 e 1 podem ser utilizados para comunicação serial. Deve-se observar que estes pinos são ligados ao microcontrolador responsável pela comunicação USB com o PC;
  • Interrupção externa: 2 e 3. Estes pinos podem ser configurados para gera uma interrupção externa, através da função attachInterrupt().

Para interface com o mundo analógico, a placa Arduino UNO possui 6 entradas, cada uma com resolução de 10 bits. Por padrão, a referência do conversor AD está internamente ligada a 5V, ou seja, quando a entrada estiver em 5V, o valor da conversão analógico-digital será 1023. O valor da referência pode ser alterado através do pino AREF. A figura a seguir exibe a relação entre os pinos do microcontrolador ATMEL ATMEGA328 e a pinagem do Arduino UNO:

ARDUINO UNO
Figura 10 – Pinouts ATmega328P

Quem manipula a placa e projeta o circuito que será conectado aos seus I/Os deve ter muito cuidado. Entre os pinos do microcontrolador e a barra de pinos, não há nenhum resistor que limite a corrente. Além disso, dependendo do local onde está trabalhando, pode-se provocar curto-circuito nos pinos, já que a placa não possui isolamento na sua parte inferior, como mostrado na figura a seguir:

Parte traseira do Arduino UNO – Não possui isolação
Figura 11 – Parte traseira do Arduino UNO – Não possui isolação

 A placa não possui um botão liga/desliga. Se quiser desligar a alimentação, é necessário desconectar o cabo. Além disso, o cabo USB tipo B não é tão comum quanto o mini USB, amplamente utilizado em celulares. Isso pode ser um problema caso você perca o cabo original que veio com a placa.

Programação da placa

A placa Arduino UNO é programada através da comunicação serial, já que o microcontrolador vem com o bootloader pré-programado. Isso elimina a necessidade de um programador para realizar a gravação (ou upload) do binário na placa. A comunicação ocorre via protocolo STK500.

Além disso, a programação do microcontrolador pode ser realizada através do conector ICSP (in-circuit serial programming), utilizando um programador ATMEL.

Características físicas da placa

A placa Arduino UNO possui dimensões compactas, cabendo na palma da mão. Ela possui 4 furos para permitir que seja fixada em alguma superfície. A figura a seguir exibe suas dimensões físicas:

Resumo da placa Arduino UNO

Resumo de recursos da Arduino UNO
Figura 13 – Resumo de recursos da Arduino UNO

Conclusão

Sem dúvida, a placa Arduino UNO é uma excelente ferramenta para quem está começando. É simples, possui um hardware mínimo e diversas características interessantes para projetos. Sua conectividade USB e facilidade de programação são grandes atrativos.

É importante ressaltar que a placa Arduino não oferece a facilidade de depuração em tempo real como outras placas de desenvolvimento. Não é possível adicionar breakpoints, consultar variáveis ou interromper o firmware em tempo real para verificar endereços de memória ou variáveis.

Nos próximos artigos, faremos alguns exemplos para demonstrar o quão didático, versátil e simples de usar o Arduino UNO realmente é.

Para aprender mais

Arduino – Primeiros Passos

Como usar o Arduino para aprender sobre sistemas embarcados?

Como programar o ESP32 na Arduino IDE?

Referências

Arduino Uno Rev3

Outros artigos da série

Arduino Leonardo >>
Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.
Comentários:
Notificações
Notificar
85 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
Xavier Albornoz
Xavier Albornoz
02/04/2022 14:10

Boa tarde pessoal. Estou tentando ler a temperatura do shield MLX90614. O sensor em si é 3V3 mas creio que o DC/DC deste shield pega os 5V do ARDUINO e gera os 3V3. Mas estou na dúvida sobre os sinais I2C do ARDUINO: são 3V3 ou 5V? Alguém pode me tirar essa dúvida por favor? Obrigado.

Artur
Artur
26/02/2022 07:18

Uno v3, quantos khz posso utilizar na entrada (pulsos de encoder)?

Miguel Emídio Batista
Miguel Emídio Batista
25/02/2022 09:40

Oi, pra ele transmitir energia pra protoboard tem que esta conectado a uma fonte?

Rafa Neves
Rafa Neves
26/03/2021 13:30

Oi, não estou conseguindo fazer essa lição, preciso de ajuda

Atividade .png
carlos
carlos
04/03/2021 16:26

Assinale a alternativa que contém a correta caracterização do Arduíno.

Alternativas:

a)Plataforma proprietária de hardware, com utilização específica como sensor em IoT.

b)Plataforma proprietária de hardware, com utilização específica como atuador em IoT.

c)Conjunto hardware/software abertos, programável e de fácil utilização.

d)Software gratuito e de código aberto, utilizado para aplicações comerciais.

e)Plataforma de software proprietária e usada para fins de criação de dispositivos físicos para IoT.

José
José
23/09/2020 17:28

ola, então você sabe quantas portas negativas um Arduíno tem?

Jonas Lima
Jonas Lima
31/08/2020 17:18

olá boa tarde, existe algum problema em eu alimentar o arduino pelas 2 entradas ao mesmo tempo? pela usb 5v e pela outra entrada com 12v ?

Valter Diedrich
Valter Diedrich
25/07/2020 00:08

Oi. Uma correção: a corrente máxima de saída do LP2985 é de 150mA (verifique no datasheet para confirmar).

João
João
02/07/2020 18:40

Parabéns pela aula do Arduino e suas funções explica muito bem agradeço por compartilhar seu conhecimento abraço Deus continue abençoando

Diógenes Soares Moura
Diógenes Soares Moura
01/07/2020 22:18

Muito boa, a sua explicação. Uma dúvida. Existe a possibilidade de alimentar o Arduino por uma fonte estabilizada de 5V sem ser pela porta USB?

Home » Hardware » Arduino UNO – Conheça o hardware da placa Arduino em detalhes

EM DESTAQUE

WEBINARS

LEIA TAMBÉM

JUNTE-SE HOJE À COMUNIDADE EMBARCADOS

Talvez você goste:


Seminário de
Sistemas Embarcados e IoT 2024
 
Data: 25/06 | Local: Hotel Holiday Inn Anhembi, São Paulo-SP
 
GARANTA SEU INGRESSO

 
close-link