Tipos de Arduino

Placa de Desenvolvimento Arduino Due

Eletrogate 2 de fevereiro de 2022

Introdução

Até 2012, a Arduino havia lançado somente placas de desenvolvimento baseadas em microcontroladores de 8 bits. Entretanto, no dia 22 de outubro deste ano, entrou para o mercado o Arduino Due. Controlado por um Atmel SAM3X8E, este é o primeiro Arduino a integrar a tecnologia ARM de 32 bits. Com tamanho muito próximo ao do Arduino Mega, a placa tem poder de processamento muito superior ao de seus descendentes. Neste post, veremos as principais características da placa e faremos sua primeira programação.


Descrição e Funcionamento

O que a placa integra?

O item central da placa é seu microcontrolador, o SAM3X8E, com core CORTEX-m3 e 144 pinos no encapsulamento LQFP. Possui memória flash com 512 KB para memória não volátil e SRAM de 96 KB para dados voláteis. O uC opera em 3.3 V, mas a placa pode ser alimentada por tensões entre 7 e 12 V, devido a seu regulador.

Fonte na imagem

  • Reset button: botão para reiniciar a execução do programa;
  • I2C communication: pinos para comunicação I2C;
  • Voltage for ADC: tensão de referencia para leitura analógica;
  • Ground: pino de terra;
  • PWM Output: saída de PWM
  • 32-bit ARM Microcontroller: microcontrolador SAM3X8E
  • Erase button: botão para apagar o programa gravado;
  • Serial communication: pinos para comunicação serial;
  • Digital I/O Pins: pinos digitais;
  • SPI communication: pinos SPI do chip principal
  • Analog Inputs: entradas analógicas;
  • Power Pins: pinos para alimentação;
  • ICSP for serial converter: pinos ICSP para o chip USB-Serial;
  • USB-Serial converter: conversor USB-Serial;
  • Standalone power: entrada para tensões 7 – 12 V;
  • Programming LED’s: LED’s indicadores para programação;
  • Programming USB port: porta USB para programação da placa (conectadas ao chip conversor);
  • Native USB LED’s:  LED’s indicadores para a comunicação USB nativa;
  • Native USB Port: porta USB para comunicação USB nativa (conectadas ao chip principal).

Especificações:

  • Tensão de operação: 3.3 V;
  • Tensão de entrada: 7 a 12 V;
  • Quantidade de pinos digitais: 54;
  • Quantidade de entradas analógicas: 12;
  • Quantidade de saídas analógicas: 2;
  • Resolução das entradas e saídas analógicas: 12 bits;
  • Quantidade de saídas PWM: 12;
  • Resolução das saídas PWM: 12 bits;
  • Memória flash: 512 Kbytes;
  • Memória SRAM: 96 Kbytes;
  • Frequência de clock: 84 MHz;
  • Protocolos de comunicação: CAN, UART (4), I2C, SPI e USB.

Pinout

  • SCL e SDA 0 e 1: portas para comunicação I2C (necessário resistor de pull-up externo nos pinos 1);
  • Pinos PWM: portas que podem ser utilizados para gerar onda quadrada com duty-cycle variavel;
  • TX0 e RX0: portas para comunicação serial direta com o chip conversor USB-serial;
  • TX e RX 1 a 3: portas para comunicação serial;
  • CANRX e CANTX: portas para comunicação CAN;
  • DAC0 e DAC1: saídas analógicas;
  • A0 a A11: entradas analógicas;
  • DEBUG (SWD): portas para depuração;
  • MISO, SCK, RESET, GND, MOSI e 5V: portas para comunicação SPI.

Primeiro Programa

Preparando a IDE:

Quando baixada, a Arduino IDE não possui o recurso de programação em placas ARM. É simples, no entanto, habilitar essa opção: basta acessar o gerenciador de placas, pesquisar por “Due” e instalar o pacote “Arduino SAM Boards (32-bits ARM Cortex-M3).

LED blink

Nosso primeiro programa para a placa Due será o “blink”, encontrado em Arquivo -> Exemplos -> 01.Basic -> Blink. Quando programada, a placa piscará o LED “L”, como mostra o vídeo a seguir:


Entrada e Saída Analógica

Materiais necessários para o projeto com Entradas e Saídas Analógicas

Código

void setup() {
  analogReadResolution(12);  // altera a resolução das entradas analógicas, que por padrão é de 10 bits (por compatibilidade com as demais placas), para 12 bits
  analogWriteResolution(12); // define a resolução da saída analógica como 12 bits
}

void loop() {
  analogWrite(DAC0, analogRead(A0)); // espelha a leitura analógica na saída DAC0
}

O vídeo a seguir mostra que a amplitude da saída analógica é menor do que a da entrada: 0.54 a 2.76 V. Isso decorre das limitações inerentes aos semicondutores utilizados no controle da saída de tensão.

ATENÇÃO: NÃO APLIQUE TENSÕES SUPERIORES A 3.3 V NAS ENTRADAS ANALÓGICAS DA PLACA


Considerações Finais

Placas com processadores de 32-bits são muito poderosas e eficientes. Para começar, é importante dar atenção aos códigos mais simples. Com a prática, no entanto, é possível explorar seus recursos para aplicações de alto nível, que superam os limites dos microcontroladores de 8 bits.

Espero que este post sirva para esclarecer os primeiros passos com a placa e instigar a curiosidade sobre ela. Obrigado pela leitura!

Conheça a Metodologia Eletrogate e ofereça aulas de robótica em sua escola!


Sobre o autor


Eduardo Henrique

Formado técnico em mecatrônica no CEFET-MG, atualmente estuda Engenharia de Controle e Automação na UFMG.


Eletrogate

2 de fevereiro de 2022

A Eletrogate é uma loja virtual de componentes eletrônicos do Brasil e possui diversos produtos relacionados à Arduino, Automação, Robótica e Eletrônica em geral.

Conheça a Metodologia Eletrogate e Lecione um Curso de Robótica nas Escolas da sua Região!

Eletrogate Robô

Cadastre-se e fique por
dentro de novidades!