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

MicrocontroladorATmega328
Tensão de funcionamento5V
Tensão de entrada (recomendado)7-12V
Tensão de entrada (limites)6-20V
Pinos de I/O digital14 (dos quais 6 fornece saída PWM)
Pinos de Entrada Analógica6
Corrente DC por pino I/O40 mA
Corrente DC para Pin 3.3V50 mA
Memória Flash32 KB ( ATmega328 ), dos quais 0,5 KB utilizado pelo bootloader
SRAM2 KB ( ATmega328 )
EEPROM1 KB ( ATmega328 )
Velocidade de clock16 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