Arduino UNO

Se você já ouviu falar da plataforma Arduino, com certeza já ouviu falar também da placa Arduino UNO. Nesse artigo vamos abordar a placa Arduino UNO exibindo suas características de hardware e os recursos que essa simpática plataforma possui.

 

 

Arduino UNO

 

A placa Arduino UNO já está em sua terceira revisão e você pode baixar seu esquema elétrico em formato PDF no site do Arduino, ou até mesmo todos os arquivos do projeto para edição. Ela tem duas camadas apenas 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 UNO

 

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

 

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 6V. a 20V., porém 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 e quando alimentada com tensão acima de 12V, o regulador de tensão da placa pode sobreaquecer e danificar a placa. Dessa forma, é recomendado para tensões de fonte externa valores de 7V. a 12V.

 

O circuito regulador para entrada externa é exibido a seguir. Nota-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
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 tem capacitância bem baixa, já que estão ligados a pinos rápidos de comunicação, mas o circuito funciona bem mesmo assim. O 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. Podem ser utilizados também para que 

 

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 pra 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 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 continua 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 50 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, dessa forma shields que funcionam com a placas Arduino que são alimentadas com 3,3V. podem se adaptar para ser utilizados em 5V. e vice-versa.

 

RESET - pino conectado a pino de RESET do microcontrolador. Pode ser utilizado para um reset externo da placa Arduino.

 

3,3 V.  - Fornece tensão de 3,3V. para alimentação de shield e módulos externos. Corrente máxima de 50 mA.

 

5 V - Fornece tensão de 5 V 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á nesse 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
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. Esse 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. Essa características não acontecia nas primeiras placas Arduino, onde era necessário pressionar o botão de RESET antes de fazer o Upload na IDE.

 

arduino-uno-circuito-serial
Figura 7 - Circuito de comunicação serial

 

 

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 pro 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 . A imagem abaixo exibe a sua pinagem:

 

 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,8 V., 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. Possui, como periféricos uma USART que funciona a até 250kbps, uma SPI, que vai a até 5MHz, e uma I2C que pode operar até 400kHz. Conta com 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 possui um oscilador interno de 32kHz que pode ser utilizado, por exemplo, em situações de baixo consumo.

 

 

Entradas e saídas do Arduino UNO

 

A placa Arduino UNO possui pinos de entrada e saídas digitais, assim como pinos de entradas e saídas analógicas, abaixo é exibido 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 digitias. Estes Pinos operam em 5 V, onde cada pino pode fornecer ou receber uma corrente máxima de 40 mA. Cada pino possui resistor de pull-up interno que pode ser habilitado por software. Alguns desse 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, onde cada uma tem a resolução de 10 bits. Por padrão a referencia do conversor AD está ligada internamente a a 5V, ou seja, quando a entrada estiver com 5V o valor da conversão analógica digital será 1023. O valor da referência pode ser mudado 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:

 

pinouts ATmega328P
Figura 10 - pinouts ATmega328P

 

 Quem manipula a placa e projeta o circuito que será conectado aos seus I/Os deve ter muito cuidado pois, 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 isolação na sua parte inferior, como mostrada na figura a seguir:

 

 Parte traseira do Arduino UNO
Figura 11 - Parte traseira do Arduino UNO - Sem isolação

 

 A placa não conta com botão liga/desliga – Se quiser desligar a alimentação, tem que “puxar” o cabo. O cabo USB tipo B não é tão comum quanto o mini USB, utilizado bastante em celulares. Isso pode ser um problema, caso perca o cabo que veio com a placa.

 

 

Programação da placa Arduino UNO

 

A placa Arduino UNO é programada através da comunicação serial, pois o microcontrolador vem programado com o bootloader. Dessa forma não há a necessidade de um programador para fazer a gravação (ou upload) do binário na placa. A comunicação é feita através do protocolo STK500.

 

A programação do microcontrolador também pode ser feita  através do conector ICSP (in - circuit serial programming) utilzando um programador ATMEL.

 

 

Características físicas da placa Arduino UNO

 

A placa Arduino UNO possui pequenas dimensões cabendo na palma da mão. Possui 4 furos para que a mesma possa ser fixada em alguma superfície. A figura a seguir exibe as suas dimensões físicas:

 

arduino-uno-dimensoes
Figura 12 - Dimensões da Arduino UNO

fonte: http://blog.arduino.cc/2011/01/05/nice-drawings-of-the-arduino-uno-and-mega-2560/

 

 

Resumo da placa Arduino UNO

 

13-arduino-uno-RESUMO-Embarcados
Figura 13 - Resumo de recursos da Arduino UNO

 

 

Conclusão

 

Sem dúvida a placa Arduino UNO é uma  ótima ferramenta para quem está começando. É uma ferramenta simples e possui um hardware mínimo, com várias características interessantes de projeto. Sua conectividade USB e facilidade em programar é, sem dúvida nenhuma, um grande atrativo.

 

É importante lembrar que a placa Arduino não possui a facilidade de debugar em tempo real, como outras placas de desenvolvimento. Não é possível colocar breakpoints, consultar variáveis ou mesmo parar o firmware em tempo real para conferir endereços de memória ou variáveis.

 

Nos próximos artigos vamos fazer exemplo pra mostrar como o ARDUINO UNO é realmente didático, versátil e simples de usar e, assim, entenderão porque todo mundo fala desse “tal Arduino”. 

 

 

Para aprender mais sobre Arduino Uno

 

Arduino - Primeiros Passos

 

 

Referências

 

Site do Arduino

Arduino Uno

Reportagem do Estadão (apesar dessa matéria dizer que existe controle analógico, o arduino apenas conta com entradas analógicas)

Review de Gadget Gangters

Circuitos USB - site da digikey

 

Outros artigos da série

Arduino Leonardo >>