Visão geral:
O Arduino Uno é uma placa de microcontrolador baseado no ATmega328 ( datasheet ). Tem 14 pinos digitais de entrada / saída (dos quais 6 podem ser usados como saídas PWM), 6 entradas analógicas, um de 16 MHz ressonador cerâmico, uma conexão USB, um conector de alimentação, um cabeçalho 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 para DC ou bateria para começar.
O Uno é diferente de todas as placas anteriores em que não usam o chip controlador USB-to-serial FTDI. Em vez disso, ele apresenta o Atmega16U2 ( Atmega8U2 até a versão R2) programado como um conversor USB para serial.
Revisão 2 tem um resistor de PullDown 8U2 HWB, tornando-o mais fácil de colocar em modo DFU .
Revisão 3 da placa tem os seguintes novos recursos:
- 1.0 pinagem: adicionado pino SDA e SCL que estão perto do pino AREF, e outros dois novos pinos colocados perto do pino RESET, o IOREF que permitem que os Shields se adaptem à tensão fornecida a partir da placa. No futuro, os escudos serão compatíveis tanto com a placa que usa o AVR, que opera com 5V, quanto com o Arduino que opera com 3.3V. O segundo é um pino não conectado, que está reservada para efeitos futuros.
- Circuito de RESET Stronger.
- Atmega 16U2 substituiu o 8U2.
"Uno" significa UM em italiano, e leva o nome para marcar o lançamento do Arduino 1.0. O Uno e a versão 1.0 são as versões de referência do Arduino. 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.
Resumo
Microcontrolador: ATmega328
Tensão de funcionamento: 5V
Tensão de entrada (recomendado): 7-12V
Tensão de entrada (limites): 6-20V
Digital I/O: 14 (dos quais 6 oferecem saída PWM)
Pinos de entrada analógica: 6
Corrente DC por I / O: 40 mA
Corrente DC no pino 3.3V: 50 mA
Memória Flash: 32 KB ( ATmega328 ), dos quais 0,5 KB utilizados pelo carregador de inicialização
SRAM: 2 KB ( ATmega328 )
EEPROM: 1 KB ( ATmega328 )
Clock: 16 MHz
A alimentação pode vir de um adaptador AC para DC ou bateria. O adaptador pode ser conectando com um plugue de centro positivo 2,1 milímetros na entrada de alimentação da placa. Pode-se alimentar a placa com uma bateria ligada diretamente nos pinos Gnd e Vin.
A placa pode operar com alimentação externa de 6 a 20 Volts. Abaixo de 7V, o pino de 5V pode fornecer menos de cinco Volts e a placa pode ficar instável. Se usar mais do que 12V, o regulador de tensão pode superaquecer e danificar a placa. É recomendado de 7 a 12 Volts.
Os pinos de alimentação são os seguintes:
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.A alimentação pode vir de um adaptador AC para DC ou bateria. O adaptador pode ser conectando com um plugue de centro positivo 2,1 milímetros na entrada de alimentação da placa. Pode-se alimentar a placa com uma bateria ligada diretamente nos pinos Gnd e Vin.
A placa pode operar com alimentação externa de 6 a 20 Volts. Abaixo de 7V, o pino de 5V pode fornecer menos de cinco Volts e a placa pode ficar instável. Se usar mais do que 12V, o regulador de tensão pode superaquecer e danificar a placa. É recomendado de 7 a 12 Volts.
Os pinos de alimentação são os seguintes:
- Vin - É um "jump" interno, fornece a mesma tensão que está sendo recebida na entrada de alimentação externa da placa (Não USB).
- 5V - Fornece 5V regulados pelo regulador de tensão da placa.
- 3V3 - Fornece 3,3V regulados pelo regulador de tensão da placa. Corrente máxima de 50 mA.
- GND - Negativo/Terra.
- 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 utilizada 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).
Entradas e Saídas
Cada um dos 14 pinos digitais do Uno podem ser utilizados como uma entrada ou uma saída, usando as funções pinMode (), digitalWrite (), e digitalRead() . Eles operam com 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 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 USB-TTL chip serial ATmega8U2.
- 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, 11 e fornecem saída PWM de 8 bits com a função analogWrite ().
- SPI:. 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) Estes pinos suportam comunicação SPI utilizando a biblioteca SPI .
- LED: 13. Há um built-in LED conectado ao pino digital 13. Quando o pino está em valor alto, o LED está ligado, quando o pino esta em valor 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.
- AREF. Tensão de referência para as entradas analógicas. Usado com analogReference ().
- Reset. Levar o pino reset em nivel baixo para resetar o microcontrolador. Tipicamente usado para adicionar um botão de reset para shields que escondem o botão da placa.
Veja também o mapeamento entre os pinos do Arduino e portos ATmega328. O mapeamento para o Atmega8, 168, e 328 são idênticos.
Comunicação
O Arduino Uno possui uma série de facilidades para se comunicar com um computador, outro Arduino, ou outros microcontroladores. O ATmega328 fornece comunicação serial UART TTL (5V) que está disponível nos pinos digitais 0 (RX) e 1 (TX). Um ATmega8U2 na placa canaliza esta comunicação para a USB e aparece como uma porta virtual para o software no computador. O firmware do '8U2 utiliza os drivers padrão USB COM e nenhum driver externo é necessário. Entretanto, no Windows, um arquivo .inf é necessário. Ainda faltam as instruções específicas mas em breve estarão disponíveis. O software do Arduino inclui um monitor serial que permite dados textuais ser enviados e recebidos da placa. LEDs conectados ao RX e TX piscarão enquanto dados estiverem sido transmitidos pelo chip USB-para-serial e pela conexão USB (mas não para comunicação serial nos pinos 0 e 1).
A 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 I2C bus; veja a documentação para mais detalhes. Para a comunicação SPI, use a biblioteca SPI .
A 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 I2C bus; veja 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. Selecione “Arduino Uno" a partir do menu Ferramentas> Placa (de acordo com o microcontrolador em sua placa). Para mais detalhes, consulte as referências 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 (referências , 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 no rev1 e placas Rev2) código fonte do firmware está disponível. O ATmega16U2/8U2 é carregado com um bootloader DFU, que pode ser ativado por:
Esta configuração tem outras implicações. Quando o Uno é conectado a um computador rodando Mac OS X ou Linux, ele é resetado cada vez que uma conexão é estabelecida com o software (via USB). Durante o próximo meio segundo o bootloader estará rodando no Uno. Uma vez que ele está programado para ignorar dados malformados (i.e. qualquer coisa diferente do upload de um novo código), ele irá interceptar os primeiros bytes de informação após a abertura da conexão. Se um programa rodando na placa recebe alguma configuração ou outra informação quando começa a rodar esteja seguro de que o software com o qual ela se comunica espere por um segundo antes de começar a enviar dados.
O Uno contem uma trilha que pode ser interrompida (cortada fisicamente) para desabilitar o auto-reset. Os conectores de cada lado da trilha podem ser soldados para reabilitar esta função. Ela está identificada como "RESET-EN". Você também pode desabilitar o auto-reset conectando um resistor de 110Ω do 5V à linha de reset, veja este tópico do fórum para mais detalhes.
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 (referências , 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 no rev1 e placas Rev2) código fonte do firmware está disponível. O ATmega16U2/8U2 é carregado com um bootloader DFU, que pode ser ativado por:
- Em placas Rev1: conectar o jumper de solda na parte traseira da placa (perto o mapa de Itália) e, em seguida, redefinir o 8U2.
- Em placas Rev2 ou posteriores: existe um resistor PullDown 8U2/16U2 HWB, tornando-a mais fácil de colocar em modo DFU.
Reset automatico por software
Ao invés de necessitar do pressionamento físico de um botão antes de um upload, o Arduino Uno é desenvolvido de maneira que permita que esta operação seja feita por meio do software rodando em um computador. Uma das linhas de controle de fluxo do hardware (DTR) do ATmega8U2 é conectado à linha de reset do ATmega328 através de um capacitor de 100nF. Quando esta linha é declarada (rebaixada) a linha de reset cai o suficiente para resetar o chip. O software do Arduino utiliza esta capacidade para permitir o envio de código novo simplesmente pressionando o botão de upload na IDE. Isto significa que o bootloader pode ter um intervalo mais curto, uma vez que o rebaixamento do DTR pode ser melhor coordenado com o início do upload.Esta configuração tem outras implicações. Quando o Uno é conectado a um computador rodando Mac OS X ou Linux, ele é resetado cada vez que uma conexão é estabelecida com o software (via USB). Durante o próximo meio segundo o bootloader estará rodando no Uno. Uma vez que ele está programado para ignorar dados malformados (i.e. qualquer coisa diferente do upload de um novo código), ele irá interceptar os primeiros bytes de informação após a abertura da conexão. Se um programa rodando na placa recebe alguma configuração ou outra informação quando começa a rodar esteja seguro de que o software com o qual ela se comunica espere por um segundo antes de começar a enviar dados.
O Uno contem uma trilha que pode ser interrompida (cortada fisicamente) para desabilitar o auto-reset. Os conectores de cada lado da trilha podem ser soldados para reabilitar esta função. Ela está identificada como "RESET-EN". Você também pode desabilitar o auto-reset conectando um resistor de 110Ω do 5V à linha de reset, veja este tópico do fórum para mais detalhes.
Nenhum comentário:
Postar um comentário