O Arduino

Conheça o Arduino Uno, o mais popular atualmente

Alessandro Silva 1 de junho de 2013 Arduino, Teorias Nenhum Comentário
Conheça o Arduino Uno, o mais popular atualmente


 O Arduino Uno

O Arduino Uno é uma placa de microcontrolador baseado no ATmega328 (datasheet). Possui 14 entradas/saídas digitais (dos quais 6 podem ser usados ​​como saídas PWM), 6 entradas analógicas, um ressonador cerâmico de 16 MHz , uma conexão USB, um conector de alimentação, um conector ICSP, e um botão de reset. Ele contém tudo o necessário para suportar o microcontrolador, basta conectá-lo a um computador com um cabo USB ou ligá-lo com um adaptador AC/DC ou bateria para ser iniciado.

O Uno é diferente de todas as placas anteriores em que não usam o chip drive FTDI USB-to-serial. Em vez disso, ele apresenta o Atmega16U2 ( Atmega8U2 até a versão R2) programado como um conversor USB-to-serial.

A revisão 2 da Placa Uno tem um resistor puxando a linha HWB 8U2 para a terra, tornando-a mais fácil de colocar em modo DFU .

 A revisão 3 da placa tem as seguintes novidades:

  • Pinagem 1.0: adicionou os pinos SDA e SCL que estão perto do pino AREF e outros dois novos pinos colocados perto do pino de RESET o IOREF que permitem que as blindagens se adaptem a voltagem fornecida a partir da placa. No futuro, os Shields serão compatíveis tanto com a placa que usa o AVR, que operam com 5V e com o Arduino por operarem com 3.3V. O segundo é um pino não conectado, que está reservada para efeitos futuros.
  • Circuito de reset mais forte.
  • O Atmega 16U2 substituiu o 8U2.

“Uno” significa um em italiano e é nomeado para marcar o lançamento do Arduino 1.0. O Uno e a versão 1.0 serão as versões de referência do Arduino, avançando. O Uno é o mais recente em uma série de placas Arduino USB, e o modelo de referência para a plataforma Arduino, para uma comparação com as versões anteriores, consulte o índice de placas Arduino .

As PCB’s

                           Arduino Uno R3 Front                                             Arduino Uno R3 Back

    

                            Arduino Uno R2                                                          Arduino Uno SMD

     

                            Arduino Uno Front                                                        Arduino Uno Back

          

Especificações

Microcontrolador ATmega328
Tensão de funcionamento 5V
Tensão de entrada (recomendado) 7-12V
Tensão de entrada (limites) 6-20V
Pinos de I/O digital 14 (dos quais 6 fornece saída PWM)
Pinos de Entrada Analógica 6
Corrente DC por pino I/O 40 mA
Corrente DC para Pin 3.3V 50 mA
Memória Flash 32 KB ( ATmega328 ), dos quais 0,5 KB utilizado pelo bootloader
SRAM 2 KB ( ATmega328 )
EEPROM 1 KB ( ATmega328 )
Velocidade de clock 16 de MHz

Esquema & Design de referência

Arquivos EAGLE: arduino-uno-Rev3-reference-design.zip (NOTA: trabalha com Eagle 6.0 e mais recentes)

Esquema: arduino-uno-Rev3-schematic.pdf

Nota: O modelo de referência pode usar um Arduino Atmega8, 168, ou 328, os modelos atuais usam um Atmega328, mais um Atmega8 é mostrado no esquema de referência. A configuração dos pinos é idêntica em todos os três processadores.

Alimentação

O Arduino Uno pode ser alimentado através da conexão USB ou com uma fonte de alimentação externa. A fonte de alimentação é selecionada automaticamente.

Alimentação externa (Não USB) pode vir a partir de um adaptador AC/DC (de parede) ou da bateria. O adaptador pode ser conectado, ligando o centro-positivo do pino de 2,1 milímetros ao conector de alimentação da placa. Ligações de uma bateria podem ser inseridas nos pinos GND e Vin do conector de alimentação.

A placa pode operar com uma fonte externa de 6 a 20 volts. Se for fornecido com menos de 7V, no entanto, o pino de 5V pode fornecer menos de cinco volts e a placa pode ser instável. Se usar mais do que 12V, o regulador de voltagem pode superaquecer e danificar a placa. A gama recomendada é de 7 a 12 volts.

 Os pinos de energia são os seguintes:

  • VIN – A tensão de entrada para a placa Arduino quando se está usando uma fonte de alimentação externa (ao contrário dos 5 volts a partir da conexão USB ou outra fonte de alimentação regulada). Você pode fornecer tensão por este pino ou, se o fornecimento de tensão através da tomada de energia, acessá-lo através deste pino.
  • 5V – Este pino gera um 5V regulada do regulador na placa. A placa pode ser alimentado com energia a partir da tomada DC (7 – 12V), o conector USB (5V), ou o pino VIN da placa (7-12V). Fornecimento de tensão através dos pinos 5V ou 3.3V ignora o regulador, e pode danificar sua placa. Não é aconselhado.
  • 3V3  – São gerados 3,3 volts pelo regulador on-bord. Corrente máxima é de 50 Ma.
  • GND – Pinos terra (negativo).
  • IOREF – Este pino na placa Arduino fornece a referência de tensão com que o microcontrolador opera. Um shield configurado corretamente pode ler a tensão do pino IOREF e selecionar a fonte de alimentação adequada ou habilitar tradutores de tensão nas saídas para o trabalho com a 5V ou 3.3V.

Memória

O Atmega328 tem 32 KB (com 0,5 KB usados ​​para o bootloader). Ele também tem 2 KB de SRAM e 1 KB de EEPROM (que pode ser lido e escrito com a biblioteca EEPROM).

Entrada e Saída (I/O) 

Cada um dos 14 pinos digitais do Uno pode ser usado como uma entrada ou uma saída, usando funções pinMode ( ) , digitalWrite ( ) , e digitalRead ( ). Eles operam a 5 volts. Cada pino pode fornecer ou receber um máximo de 40 mA e tem um resistor pull-up interno (desconectado por padrão) de 20-50 kOhms. Além disso, alguns dos pinos têm funções especializadas:

  • Serial: 0 (RX) e 1 (TX) – Usado para receber (RX) e transmitir (TX) dados seriais TTL. Estes pinos são ligados aos pinos correspondentes do ATmega8U2 USB-TTL chip de série.
  • Interrupts externas: 2 e 3 – Estes pinos podem ser configurados para disparar uma interrupção on um valor baixo, uma borda de subida ou decida, ou uma mudança em valor. Veja a função attachInterrupt ( ) para obter detalhes.
  • PWM: 3, 5, 6, 9, 10, e 11 – Fornecer saída PWM de 8 bits com a função analogWrite ( ).
  • SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) - Estes pinos de suporte de comunicação SPI utilizando a biblioteca SPI .
  • Diodo emissor de luz: 13 – Há é um built-in led conectado ao pino digital 13. Quando o pino é de alto valor, o LED está ligado, quando o pino é baixo, ele está desligado.

O Uno tem 6 entradas analógicas, rotulados A0 a A5, cada um dos quais com 10 bits de resolução (i.e. 1024 valores diferentes). Por padrão, eles medem de terra para 5 volts, embora seja possível mudar o limite superior de sua faixa usando o pino AREF e a função analogReference ( ). Além disso, alguns pinos têm funcionalidades especializadas:

  • TWI: pino A4 ou SDA e pino A5 ou SCL – Suporte a comunicação TWI utilizando a biblioteca Wire .

Há um par de outros pinos na placa:

  • AREF – Tensão de referência para as entradas analógicas. Usado com analogReference ( ).
  • Reset – Trazer esta linha LOW (baixa) para resetar o microcontrolador. Tipicamente usado para adicionar um botão de reset para shields que bloqueiam o que está no quadro.

Veja também o mapeamento entre os pinos do Arduino ATmega328 e portas . O mapeamento para a Atmega8, 168, e 328 são idênticos.

Comunicação

O Arduino Uno tem uma série de facilidades para se comunicar com um computador, outro Arduino, ou outros microcontroladores. O ATmega328 fornece UART TTL (5V) de comunicação em série, que é disponível em pinos digitais 0 (RX) e 1 (TX). Um ATmega16U2 nos canais da placa está a comunicação serial através da USB e aparece como uma porta COM virtual para o software no computador. O firmware ’16U2 usa os drivers COM USB padrão, e nenhum driver externo é necessário. No entanto, no Windows, um arquivo. inf é necessária . O software Arduino inclui um monitor serial que permite que dados simples de texto sejam enviados para a placa Arduino. Os LEDs RX e TX na placa piscam quando os dados estão sendo transmitidos via chip USB-to-serial e conexão USB para o computador (mas não para comunicação serial nos pinos 0 e 1).

biblioteca SoftwareSerial permite comunicação serial em qualquer um dos pinos digitais do Uno.

O ATmega328 também suporta I2C (TWI) e comunicação SPI. O software Arduino inclui uma biblioteca Wire para simplificar o uso do barramento I2C, ver a documentação para mais detalhes. Para a comunicação SPI, use a biblioteca SPI .

Programação

O Arduino Uno pode ser programado com o software Arduino ( de download ). Selecione “Arduino Uno a partir do menu Ferramentas> Placa (de acordo com o microcontrolador em sua placa). Para mais detalhes, consulte a referência e tutoriais .

O ATmega328 no Arduino Uno vem pré-gravado com um bootloader que permite o envio de novos códigos sem o uso de um programador de hardware externo. Ele se comunica com o protocolo original STK500 ( de referência , arquivos de linguagem C ).

Você também pode ignorar o bootloader e programar o microcontrolador através do conector ICSP (programação In-Circuit Serial), veja estas instruções para mais detalhes.

O ATmega16U2 (ou 8U2 nas placas rev1 e rev2) de código fonte do firmware está disponível. O ATmega16U2 / 8U2 é carregado com um bootloader DFU, que pode ser ativado por:

  • Nas placas Rev1: conectar o jumper de solda na parte traseira da placa (perto do mapa da Itália) e, em seguida, reiniciar o 8U2.
  • Nas placas Rev2 ou posteriores: existe um resistor que puxa a linha HWB 8U2/16U2 para a terra, tornando-a mais fácil de colocar em modo DFU.

Você pode então usar software FLIP da Atmel (Windows) ou o DFU programador (Mac OS X e Linux) para carregar um novo firmware. Ou você pode usar o conector ICSP com um programador externo (substituindo o bootloader DFU). Veja este tutorial para mais informações.

Reset Automático (Software)

Ao invés de exigir um pressionamento físico do botão de reset antes de um upload, o Arduino Uno é projetado de uma forma que permite que ele seja reposto por software rodando em um computador conectado. Uma das linhas de controle de fluxo de hardware (DTR) do ATmega8U2/16U2 está ligado à linha de reset do ATmega328  através de um capacitor de 100nF. Quando esta linha é rebaixada, a linha de reset cai o tempo suficiente para resetar o chip. O software Arduino usa esse recurso para permitir que você faça o upload de código, simplesmente pressionando o botão de upload no ambiente Arduino. Isto significa que o carregador de inicialização pode ter um período de tempo mais curto, tal como o abaixamento do DTR pode ser bem coordenado com o início do carregamento.

Esta configuração tem outras implicações. Quando o Uno está ligado a um computador rodando Mac OS X ou Linux, ele redefine a cada vez que uma conexão é feita com o software (via USB). Para o seguinte meio segundo ou mais, o bootloader está sendo executado no Uno. Enquanto ele é programado para ignorar dados mal formados (ou seja, nada além de um upload de novo código), ele interceptará os primeiros bytes de dados enviados para a placa depois que uma conexão é aberta. Se um programa rodando na placa recebe configuração de uma vez ou outros dados, quando se inicia pela primeira vez, certifique-se de que o software com o qual ele se comunica espera um segundo depois de abrir a conexão e antes de enviar esses dados.

O Uno contém um traçado que pode ser cortado para desabilitar o auto-reset. Os pads de cada lado do traçado podem ser soldados juntos para reativá-lo. Ele é rotulado “RESET-EN”. Você também pode ser capaz de desabilitar o auto-reset conectando um resistor de 110 ohm de 5V à linha de reset, veja este tópico do fórum para mais detalhes.

Proteção contra sobrecorrente USB   

O Arduino Uno tem um polifusível reajustável que protege as portas USB do seu computador de curtos e sobrecorrente. Embora a maioria dos computadores forneça sua própria proteção interna, o fusível fornece uma camada extra de proteção. Se houver mais de 500 mA aplicada à porta USB, o fusível rompe automaticamente a conexão até que o curto ou a sobrecarga seja retirada.

Características Físicas

O comprimento e a largura máximo da PCB do Uno são 2,7 e 2,1 polegadas, respectivamente, com o conector USB e conector de alimentação que se estende além da antigas dimensões. Quatro furos permitem que a placa deve ser ligado a uma superfície ou case. Note-se que a distância entre os pinos digitais 7 e 8 é de 160 mil (0,16 “), e não um múltiplo dos 100 mil espaçamento dos outros pinos.

Fonte: arduino.cc


Like this Article? Share it!

Sobre o Autor

Deixar um comentário