Código: ARD0011165
R$ 343,00

Com a nova placa Arduino M0 Pro as pessoas criativas terão o potencial de desenvolver as idéias mais novas e imaginativas para dispositivos IoT, tecnologias vestíveis, automação high tech, robótica e outras aventuras ainda não imaginadas no mundo dos makers.

O Arduino M0 Pro representa uma simples e poderosa ampliação de 32 bits da plataforma Arduino Uno. A placa tem o poder do MCU SAMD21 da Atmel com um núcleo ARM Cortex® M0.

O poder do core Atmel proporciona a esta placa mais flexibilidade e aumenta a gama de projetos que se podem imaginar e realizar. Além disso, torna a M0 Pro a ferramenta educacional ideal para aprendizagem de desenvolvimento em 32 bits.

O Debugger embarcado (EDBG), integrado na placa, fornece uma interface de debug integral sem a necessidade de hardware adicional, facilitando este tipo de operações. O EDBG adicionalmente dá suporte a uma porta virtual COM e à tradicional funcionalidade de boot loader do Arduino.

Microcontrolador ATSAMD21G18, 48 pinos LQFP
Microcontrolador do EDBG AT32UC3A4256, 100 pinos VFBGA
Voltagem Operacional 3,3V
Voltagem de entrada (recomendada) 6 a 15V
Voltagem de entrada (limites) 4.5-20 V
Pinos de E/S digitais 20, com 12 PWM e UART 
Pinos de entrada analógica 6 canais ADC de 12 bits
Pinos de saída analóica 1 canal ADC de 10 bits 
Corrente contínua por pino de E/S 7mA
Memória Flash 256KB
SRAM 32KB
Velocidade de Clock 48 MHz


Esquema e referência de design

Arquivos EAGLE: arduino-M0-pro-reference-design.zip 

Esquema: arduino-M0-pro-schematic.pdf


Alimentação

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

Alimentação externa (não USB) pode ser tanto de uma fonte CA-CC ou bateria. O adaptador pode ser conectado através de um conector P4 com o positivo no centro. Cabos conectados a uma bateria podem ser insertados nos pinos Gnd e Vin do conector de alimentação.

A placa automaticamente detecta qual fonte de alimentação está disponível e escolhe uma com a seguinte ordem de prioridade:

    Fonte externa

    USB do debugger

    USB escrava

Alimentação externa é necessária quando os 500mA fornecidos pela USB não forem suficientes para alimentar um dispositivo USB ou uma aplicação USB host.

Os pinos de alimentação são os seguintes:

    VIN. A voltagem de alimentação para a placa Arduino quando utilizando uma fonte externa (em oposição aos 5V da conexão USB ou outra fonte de alimentação regulada). Você pode fornecer alimentação através deste pino ou, se estiver fornecendo alimentação através do conector P4, acessar a alimentação através deste pino. A faixa de voltagem permitida é de 6 a 20 volts.

    5V. A fonte de alimentação regulada para alimentar o microcontrolador e outros componentes na placa. Pode vir tanto do VIN através do regulador embarcado, ou ser fornecida através da USB ou outra fonte de alimentação regulada. A corrente máxima de saída fornecida pelo regulador embarcado é de 1A (de acordo com a alimentação de entrada).

    3V3. Uma fonte de 3,3V gerada pelo regulador embarcado. A corrente máxima é de 1A (de acordo com a alimentação de entrada).
    GND. Pinos de terra.

    IOREF. A voltagem em que os pinos de E/S estão operando (i.e. VCC da placa). É de 3,3V no M0 Pro.

Memória

O ATSAMD21G18 tem 256KB de memória flash programável (dos quais 4KB são utilizados pelo bootloader). O bootloader é gravado de fábrica pela Atmel e é armazenado em uma memória ROM dedicada. O bootloader é protegido através do fusível NVM.

Tem também 32KB de SRAM.

Entradas e saídas

Cada um dos 14 pinos de E/S digitais do M0 Pro pode ser utilizado como uma entrada ou saída utilizando as funções pinMode(), digitalWrite(), e digitalRead(). Eles operam a 3,3V, têm uma corrente máxima de 7mA e um resistor de elevação (desconectado por padrão) de 20 a 60kΩ. Em adição alguns pinos têm funções especializadas:

    Serial: 0 (RX) e 1 (TX). Utilizados para receber (RX) e transmitir (TX) dados seriais utilizando a capacidade serial do ATSAMD21G18. Note que no M0 Pro, a classe serial se refere à comunicação USB (CDC). Para utilizar a serial dos pinos 0 e 1 use a classe Serial1.

    TWI: SDA and SCL. Dão suporte à comunicação TWI utilizando a biblioteca TWI.

    PWM:Pinos 2 a 13 fornecem saída PWM de 8 bits através da função analogWrite(). A resolução da PWM pode ser alterada através da função analogWriteResolution().

    Os pinos 4 e 10 não podem ser utilizados simultaneamente como PWM.

    Os pinos 5 e 12 não podem ser utilizados simultaneamente como PWM.

    SPI: no conector ICSP. Estes pinos dão suporte à comunicação ICSP utilizando a biblioteca SPI. Note que os pinos SPI não estão conectados aos pinos digitais como no Uno. Eles estão disponíveis apenas no conector ICSP. Isto significa que, se você tem um shield que utiliza SPI mas que não tem o conector SPI de 6 pinos, este shield não funcionará.

    LED: 13. Há um LED embarcado conectado ao pino 13. Quando o pino está em HIGH o LED ecende e apaga quando está em LOW.

    Entradas analógicas. O M0 Pro tem 6 entradas analógicas, identificadas de A0 a A5. Estes pinos estão na mesma localização que no Uno. Cada entrada analógica tem 12 bits de resolução (i.e. 4096 valores diferentes). Por padrão estas entradas medem de terra a 3,3V, embora seja possível alterar o limite superior utilizando o pino AREF e a função analogReference().

    DAC: o pino A0 fornece saída analógica com 10 bits de resolução (1023 níveis) com a função analogWrite(). Este pino pode ser utilzado para criar uma saída de áudio analógico usando a biblioteca Audio.

    Reset: Rebaixe esta linha para resetar o microcontrolador. É tipicamente utilizada para adicionar um botão de reset quando outros shields são empilhados e bloqueiam o botão presente no M0.

Comunicação

O Arduino Arduino M0 Pro possui uma série de facilidades para se comunicar com um computador, outro Arduino, ou outros microcontroladores e com dispositivos diferentes como tablets, câmeras e demais. O SAMD21 fornece uma UART de hardware e 3 USARTs de hardware para comunicação serial de 3,3V.

A porta de programação está conectada ao EDGB, que fornece uma porta COM virtual ao software de um computador conectado (para reconhecer o dispositivo máquinas com Windows necessitam um arquivo .inf ,mas máquinas com OSX ou Linux têm reconhecimento automático). O EDGB também está conectado fisicamente ao UART do SAMD21. A serial nos pinos RX0 e TX0 fornecem comunicação de serial para USB para programação da placa através do microcontrolador ATSAMD21G18. O software Arduino inclui um monitor serial permitindo que dados simples textuais sejam enviados da placa. Os LEDs em TX e RX piscarão quando dados estiverem sendo transmitidos através do chip ATSAMD21G18 e com conexão serial a um computador (mas não para comunicação serial nos pinos 1 e 0).

A porta USB nativa é conectada ao SAMD21. Ele permite comunicação serial (CDC) através da USB. Isto fornece uma conexão serial com o Monitor Serial, ou a outras aplicações no seu computador.

O SAMD21 também suporta comunicação nos padrões TWI e SPI. O software Arduino inclui uma biblioteca Wire para simplificar o uso da conexão TWI. Para comunicação SPI, use a biblioteca SPI.


Programação

Porta de pogramação: para usar esta porta selecione "Arduino M0 Pro (Programming Port)" como a sua placa na IDE do Arduino. Conecte esta porta, que é a mais próxima ao conector de alimentação, ao seu computador. A porta de programação utiliza o EDBG como chip USB-para-serial conectado à primeira UART do SAMD21 (RX0 e TX0). O EDGB tem dois pinos conectados aos pinos de Reset e Erase do SAMD21. Abrindo e fechando a porta nativa a 1200bps dispara o precedimento de "hard erase" do SAMD21 ativando os pinos de Erase e Reset antes de se comunicar com a UART. Este procedimento é recomendado para programação do M0 Pro, é mais confiável do que o "soft erase" que é feito através da porta nativa e deve funcionar mesmo quando a MCU travar.

Porta USB: Para utilizar esta porta selecione "Arduino M0 (Native USB Port)" na IDE do Arduino. A porta nativa USB é conectda diretamente ao SAMD21. Conecte a porta USB nativa (a mais próxima ao botão de reset) ao seu computador. Abrindo e fechando a porta nativa a 1200bps dispara o precedimento de "soft erase": a memória flash é apagada e a placa é restartada com o bootloader. Abrindo e fechando a porta nativa a velocidades diferentes não causará restart no SAMD21.

O Arduino M0 Pro pode ser programado com o software Arduino (download).

Se você utiliza um sistema operacional baseado em Linux siga o guia Arduino IDE em Linux.

Enviar sketches através do SAMD21 é diferente do modo como isso funciona com os microcontroladores AVR encontrados em outras placas Arduino: a memória flash necessita ser apagada antes de ser re-programada. A operação de upload é gerenciada por uma área de ROM dedicada no SAMD21.

As duas portas USB podem ser usadas para programar a placa.

Proteção de sobrecorrente na USB

O M0 Pro tem um polyfuse ressetável que protege as portas USB de seu computador contra curtos e sobrecorrentes. Embora muitos computadores forneçam sua própria proteção interna, este fusível proporciona uma camada extra de proteção. Se mais de 500mA fluírem através da porta USB o fusível interromperá automaticamente a conexão até que o curto ou a sobrecorrente seja removido.

Características físicas

O comprimento e a largura máximos do Arduino M0 Pro são de 68,6 e 53,4mm respectivamente, 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.