Placa Nano Atmega328P
A Placa Nano Atmega328P é uma versão para ser acoplada a uma protoboard com uma porta USB. Ele é a menor versão e a mais completa das placas compatíveis com a linha Arduino.
Eletronicamente ele tem tudo o que o Duemilanove tem com mais pinos de entrada analógica e um jumper acoplado de +5V AREF. Fisicamente ele não tem a entrada auxiliar nem o jumper para selecionar a fonte de alimentação. Como a Placa Nano detecta automaticamente chaveia para a maior fonte de alimentação não há necessidade do jumper de seleção.
A Placa Nano pode ser usada diretamente na protoboard como o Boarduino e a conexão miniUSB maximiza o espaço restante. Ele tem uma disposição de pinos que funciona bem tanto com o Mini ou com o Basic Stamp (TX, RX, ATN, GND em uma face e a alimentação e o terra na outra). Ele é uma placa de quatro camadas com planos para a alimentação e para o terra para auxiliar a fornecer energia suficiente para os CIs durante o chaveamento e reduzir o ruído (EMC) durante o chaveamento de alta velocidade dos pinos de entrada e saída. O plano do terra auxilia na redução de radiação (EMI). O plano de alimentação é de baixa indutância e assim quaisquer transientes que possam surgir na linha de alimentação serão de baixo nível.
Esquema e referência de Design:
Arduino Nano Manual(pdf)
aruivos Eaglenota: como a versão gratuíta do Eagle não suporta mais do que duas camadas, e a Placa Nano utiliza quatro, a Gravitech fez a publicação sem as trilhas, desse modo é possível ao menos abrir e utilizar os arquivos com a versão gratuíta do Eagle.
Especificações:
Microcontrolador | Atmel ATmega328 |
Voltagem de operação (nível logico) | 5 V |
Voltagem de entrada (recomendada) | 7-12 V |
Voltagem de entrada (limites) | 6-20 V |
Pinos digitais I/O | 14 (dos quais 6 podem ser saídas PWM) |
Pinos de entrada analógica | 8 |
Corrente contínua por pino I/O | 40 mA |
Memória Flash | 16 KB (dos quais 2KB são utilizados pelo bootloader) |
SRAM | 1 KB |
EEPROM | 512 bytes |
Velocidade de Clock | 16 MHz |
Dimensões | 0.73" x 1.70" |
Características:
- Reset automático durante o download de programas
- LED azul de alimentação na parte de baixo
- Verde (TX), vermelho (RX) e laranja (L) LEDs
- jumper +5V para AREF
- Detecção utomática da fonte de alimentação
- conector mini-B USB para programação e comunicação serial
- cabeçalho ICSP para download direto de programas
- Disposição padrão dos pinos (pode ser montado em protoboard)
- Botão manual de switch
Alimentação:
A Placa Nano pode ser alimentada por uma conexão mini-B USB, por uma fonte externa não regulada de 6 a 20 volts (pino 30), ou por uma fonte externa regulada de 5V (pino 27). A fonte de alimentação selecionada automaticamente é a de maior voltagem.
O chip FT232RL somente somente é energizado se e placa for alimentada através da porta USB. Desse modo quando a placa está funcionado com alimentação externa (não USB) a saída de 3,3V (que é fornecida pelo chip FTDI) não está disponível e os LEDs RX e TX vão acender se os pinos 0 e 1, respectivamente, estiverem em HIGH.
Memória:
O ATmega328 no Nano tem 16KB de memória flash para armazenamento de código (dos quais 2KB são usados pelo bootloader). Ele possui ainda 2KB de SRAM e 1KB de EEPROM( que podem ser lidos ou escritos com a biblioteca EEPROM).
Entrada e Saída:
Cada um dos 14 pinos digitais na Placa Nano pode ser usado como uma entrada ou uma saída, usando as funções de pinMode(), digitalWrite(), e digitalRead(). Eles operam a 5 volts. Cada pino pode fornecer ou receber um máximo de 40 mA e possui um resistor interno (desconectado por default) de 20-50KΩ. Em adição alguns pinos possuem funções especializadas:
- Serial: 0 (RX) e 1 (TX).Usados para receber (RX) e transmitir(TX) dados no padrão serial TTL. Estes pinos são conectados aos pinos correspondentes do chip FTDI USB-to-TTL Serial.
- Interruptores externos: 2 e 3.Estes pinos podem ser configurados para disparar uma interrupção por um valor baixo, um limite diminuindo ou subindo, ou uma mudança em um valor. Para mais dealhes veja a função attachInterrupt().
- PWM: 3, 5, 6, 9, 10 e 11.Fornecem saída analógica PWM de 8-bits com a função analogWrite().
- SPI: 10 (SS), 11 (MOSI), 12 (MISO) e 13 (SCK).Estes pinos dão suporte à comunicação SPI que, embora suportada pelo hardware, ainda não está incluida na linguagem Arduino.
- LED: 13.Há um LED connectado ao pino digital 13. Quando o pino está em HIGH o led se acende.
- I2C: 4 (SDA) and 5 (SCL).Fornecem suporte à comunicação I2C (TWI) usando a bibliotecaWire(documentação no site do Wiring).
A Placa Nano tem 8 entradas analógicas, cada uma das quais com 10 bits de resolução (i.e. 1024 valores diferentes). Por padrão elas medem de 0 a 5 volts, embora seja possível mudar o limite superior usando o pino AREF e a função analogReference().
Há um par de pinos diferentes na placa:
- AREF.Voltagem de referência para as entradas analógicas. Usados com analogReference().
- Reset.Marque este valor como LOW para resetar o microcontrolador. Tipicamente usado para adcionar um botão de reset em shields que bloqueiam o que há na placa.
Veja também mapeando os pinos entre o Arduino e o as portas do ATmega168.
Programação:
A Placa Nano pode ser programada com o software do Arduino (download). Para detalhes, veja a referênciae os tutoriais.
O ATmega168 vem com o bootloader pré gravado o possibilita o envio de novos códigos sem o uso de um programador de hardware externo. Ele se comunica usando o protocolo original STK500 (reference, C header files).
Você também plode suplantar o bootloader e programar o microcontrolador através do cobeçalho ICSP (In-Circuit Serial Programming); veja estas instruçõespara mais detalhes.
Automatic (Software) Reset
Ao invés de necessitar o pressionamento físico do botão de reset antes de um upload, A Placa Nano é desenhada de modo a permitir que o reset seja feito pelo software executado em um computador conectado. Uma das linhas dos fluxos de controle de hardware (DTR) do FT232RL é conectada diretamente à linha de reset do ATmega1280 através de um capacitor de 100 nanofarads. Quando esta linha é acessada (rebaixada), a linha de reset decai por tempo suficiente para resetar o chip. O software Aduino utiliza esta capacidade para possibilitar que novos códigos sejam enviados simplesmente clicando no botão de upload do ambiente de programação do Arduino. Isto significa que o bootloader fica fora do ar por um tempo mais curto, uma vez que o rebaixamento do DTR pode ser bem coordenado com o início do upload.
Esta montagem tem outras implicações. Quando o mega é conectado a um computador rodando Mac OS X ou Linux ele é resetado cada vez uma conexão é feita com o software (via USB). Durante o próximo meio segundo (aproximadamente) o bootloader estará rodando no Mega. Uma vez que ele é programado para ignorar dados mal formados (i.e. qualquer coisa que não seja um upload de novo código), ele vai interceptar os primeiros bytes de informação enviado à placa depois que uma nova conexão seja aberta. Se um programa rodando na placa recebe uma pré configuração ou outros dados assim que ele comaça, certifique-se de que o software com o qual ele se comunica espera meio segundo depois que a conexão seja estabelecida antes de começar a enviar os dados.