O Arduino Uno dealextreme é uma placa de microcontrolador baseado no ATmega328 (datasheet). Ele tem 14 pinos de entrada/saída digital (dos quais 6 podem ser usados como saídas PWM), 6 entradas analógicas, um cristal oscilador de 16MHz, uma conexão USB, uma entrada de alimentação uma conexão ICSP e um botão de reset. Ele contém todos os componentes necessários para suportar o microcontrolador, simplesmente conecte a um computador pela porta USB ou alimentar com uma fonte ou com uma bateria e tudo pronto para começar.
O Uno difere de todas as placas antecessoras no sentido de não utilizar o chip FTDI cara conversão do sinal serial. Utiliza no seu lugar um Atmega8U2 programado como conversor de USB para serial.
Revisão 3 da placa com as novas características:
Pinos SDA e SCL adicionados próximos ao AREF.
Dois outros pinos adicionados próximos ao RESET, o IOREF que permite aos shields se adaptarem à voltagem fornecida pela placa. No futuro os shields serão compatíveis tanto com as placas que utilizam o AVR e operam a 5V, como com o Arduino Due que operará a 3,3V. O segundo pino não está conectado e é resrvado para propósitos futuros.
Circuíto de RESET mais robusto.
Atmega 16U2 em substituição ao 8U2.
"Uno" quer dizer um em italiano e é utilizado 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, daqui para diante. O UNO é o mais recente de uma série de placas Arduino, e o modelo de referência para a plataforma Arduino. Para uma comparação com as versões prévias veja o índice de placas Arduino.
Características
Microcontrolador ATmega328
Voltagem Operacional 5V
Voltagem de entrada (recomendada) 7-12V
Voltagem de entrada (limites) 6-20V
Pinos E/S digitais
14 (dos quais 6 podems ser saídas PWM)
Pinos de entrada analógica 6
Corrente CC por pino E/S 40 mA
Corrente CC para o pino 3,3V 50 mA
Flash Memory 32 KB (ATmega328) dos quais 0,5KB são utilizados pelo bootloader
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Velocidade de Clock 16 MHz
Alimentação:
O Arduino Uno pode ser alimentado pela conexão USB ou com uma fonte de alimentação externa. A alimentação é selecionada automaticamente.
Alimentação externa (não USB) pode ser tanto de um adaptador CA para CC ou bateria. Há um conector para alimentação de 2,1mm com o positivo no centro. Cabos vindos de uma bateria podem ser inseridos diretamente nos pinos Gnd e Vin do conector de alimentação.
Esta placa pode funcionar com uma fonte de alimentação externa de 6 a 20 volts. No entanto se a alimentação for inferior a 7V, o pino 5V pode fornecer menos de cinco volts e a placa pode se mostrar instável. E se a aliementação for maior do que 12V o regulador de voltagem pode superaquecer e danificar a placa. A faixa recomendada é de 7 a 12 volts.
Os pinos de alimentação são os seguintes:
VIN. A entrada de alimentação para a placa Arduino quando se está utilizando uma fonte de alimentação externa. (em oposição à conexão USB ou outra fonte de aliemteção regulada). Você pode fornecer alimentação através deste pino, ou se estiver utilizando o conector de alimentação acessar esta voltagem aqui.
5V. A fonte de alimentação regulada usada para o microcontrolador e para outros componentes na placa. Pode vir tanto do VIN através do regulador embarcado ou da conexão USB ou outra fonte regulada em 5V.
3V3. Uma fonte de 3,3V gerada pelo regulador embarcado. A corrente máxima suportada é de 50mA.
GND. Pinos terra.
Memória
O ATmega328 têm 32KB (dos quais 0,5 são utilizados pelo bootloader). Também tem 2KB de SRAM e 1KB de EEPROM (que pode ser lido ou gravado com a biblioteca EEPROM).
Entrada e Saída:
Cada um dos 14 pinos digitais do Uno podem ser utilizados como uma entrada ou uma saída utilizando-se as funções pinMode(),digitalWrite(), e digitalRead(). Eles operam a 5V. Cada pino pode fornecer ou receber um máximo de 40mA e tem um resistor pull-up interno (desconectado por padrão) de 20-50kΩ. Além disso alguns pinos tem funções especializadas:
Serial: 0 (RX) e 1 (TX). Usados para receber (RX) e transmitir (TX) dados seriais TTL. Estes pinos são conectados aos pinos correspondentes do chip serial USB-para-TL ATmega8U2.
Interruptores Externos: 2 e 3. Estes pinos podem ser configurados para disparar uma interrupção de acordo com alguma variação sensível pelo circuíto. Veja a função attachInterrupt() para mais detalhes.
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Estes pinos dão suporte à comunicação SPI utilizando a biblioteca SPI.
LED: 13. Há um LED integrado ao pino digital 13. Quando este pino está no valor HIGH este LED está aceso, quando o pino está em LOW o LED está apagado.
I2C: 4 (SDA) and 5 (SCL). Fornecem suporte a comunicação I2C (TWI) utilizando a biblioteca Wire.
AREF. Voltagem de referência para as entradas analógicas. Utilizado com a função analogReference().
Reset. Envio o valor LOW para esta linha para resetar o microcontrolador. Tipicamente usado para adcionar um botão de de reset para shileds montados sobre a placa original.
O Uno tem 6 entradas analógicas, etiquetadas de A0 a A5, cada uma tem 10 bits de resolução (i.e. 1024 valores diferentes). Por padrão elas medem de 0 a 5V, embora seja possível alterar o limite superior utilizando o pino AREF e a função analogReference().
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).
Uma biblioteca de SoftwareSerial permite comunicação serial em qualquer dos pinos digitais do Uno.
O ATmega328 também suporta comunicação I2C (TWI) e SPI. O software do Arduino inclui uma biblioteca Wire para simplificar o uso do bus I2C, veja a documentação para mais detalhes. Para comunicação SPI utilize a biblioteca SPI.
Programação:
O Arduino Uno pode ser programado com o software Arduino (download). Simplesmente selecione "Arduino Uno" no menu Tools > Board.
O ATmega328 no Arduino Uno vem pré-gravado com um bootloader que permite a você enviar código novo para ele sem a utilização de um programador de hardware externo. Ele se comunica utilizando o protocolo original STK500 (referencia, arquivos C header).
Você também pode saltar o bootloader e programar o microcontroaldor através do conector ICSP (In-Circuit Serial Programming); veja estas instruções para mais detalhes.
O código fonte do firmware do ATmega8U2 também está disponível. Este chip é carregado com um bootloader DFU, que pode ser ativado conectando o jumper de solda na parte posterior da placa (próximo ao mapa da Itália) e depois resetando o 8U2. Você pode utilizar o software FLIP da Atmel (Windows) ou o programador DFU (Mac OS X e Linux) para carregar um novo firmware. Ou ainda utilizar um programador externo (sobrescrevendo o bootloader 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 que permita esta operação ser 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 simplismente 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.
Proteção contra sobre-corrente na USB:
O Arduino Uno possui um polyfuse resetável que protege a porta USB do seu computador contra sobre-corrente e curto circuítos. Embora muitos computadores tenham sua própria proteção interna, o fuso fornece uma camada a mais de proteção. Se mais de 500mA forem aplicados a porta USB ele automaticamente irá interromper a conexão até que o curto ou a sobrecarga seja removido.
Características físicas
A largura e o comprimento máximos do PCB do Uno são 68,58 e 53,34mm respectivamente (2,7" x 2,1"), com os conectores USB e de alimentação extendendo-se além destas dimensões. Quatro orifícios para parafusos permitem que a placa seja fixada a uma superfície ou encapsulamento. Verifique que a distância entre os pinos digitais 7 e 8 é de 160mil (milésimos de polegada ou 0,16"), não é nem mesmo um múltiplo dos 100mil que separam os outros pinos.
Nenhum comentário:
Postar um comentário