Arduino

A plataforma que revolucionou a prototipagem eletrônica no mundo.

O Arduino é uma plataforma de prototipagem baseada em um microcontrolador de placa única, com suporte de entrada/saída embutido (embarcado), projetado para que o processo de utilização da eletrônica seja mais acessível.

O hardware consiste em um dispositivo desenvolvido originalmente com microcontroladores Atmel (empresa adquirida em 2016 pela Microchip Technology Inc), permitindo a comunicação direta com computadores através de interfaces simples.

Microcontrolador

O que é um Microcontrolador?

É um pequeno computador num único circuito integrado, contendo um núcleo de processador, memória para armazenar programas e periféricos programáveis de entrada e saída. É o "cérebro" oculto dentro da placa Arduino.

Filosofia Open Source

O Arduino é open source. Isso significa que usuários podem criar e modificar sua estrutura sem preocupação com direitos autorais ou licenciamento. Idealizado em 2005 na Itália por Massimo Banzi e sua equipe, o objetivo era criar uma ferramenta de baixo custo para estudantes e designers.

Estrutura e Modelos

Embora existam diversos modelos (UNO, MEGA, Leonardo, Nano, Due), todos compartilham componentes essenciais:

  • Microprocessador: Responsável pelos cálculos e decisões.
  • Memória RAM: Armazena dados temporários (volátil).
  • Memória Flash: Onde o seu código fica gravado (não volátil).
  • Clock: Define a velocidade de operação.
Arduino UNO e MEGA 2560
Comparativo: Arduino UNO (padrão) vs Arduino MEGA 2560 (mais portas).

Arduino UNO

  • Microcontrolador: ATmega328
  • Voltagem de Operação: 5V
  • Entrada (recomendada): 7-12V
  • Entrada (limite): 6-20V
  • Portas Digitais: 14 (6 portas PWM)
  • Portas Analógicas: 6 (A0 até A5)
  • Memória Flash: 32KB (0,5KB p/ bootloader)
  • SRAM: 2K (local das variáveis)
  • EEPROM: 1K (dados não voláteis)
  • Velocidade de CLOCK: 16 MHz
  • Peso: 25g
* Bootloader: Gerenciador de inicialização executado após o Reset.

Arduino MEGA 2560

  • Microcontrolador: ATmega2560
  • Voltagem de Operação: 5V
  • Entrada (recomendada): 7-12V
  • Entrada (limite): 6-20V
  • Portas Digitais: 54 (15 portas PWM)
  • Portas Analógicas: 16 (A0 até A15)
  • Memória Flash: 256KB (8KB p/ bootloader)
  • SRAM: 8K (variáveis)
  • EEPROM: 4K (dados não voláteis)
  • Clock: 16 MHz
  • Peso: 37g
* Bootloader: Gerenciador de inicialização executado após o Reset.
MEGA 2560
Placa MEGA 2560 em detalhes.
UNO
Placa UNO em detalhes.

Alimentação (Power)

Via USB (5V) ou fonte externa (7V a 12V). Tensões abaixo de 7V podem causar instabilidade, e acima de 12V podem danificar o regulador de tensão.

VIN: Entrada direta para bateria/fonte externa.

5V / 3.3V: Saídas de tensão para alimentar sensores.

GND: O referencial zero (Terra) do circuito.

Destaque dos Pinos de Alimentação
Barra de pinos "POWER" do Arduino.

Conectores de Alimentação (Power)

IOREF (Referência)

Fornece a tensão de referência (ex: 5V) para que Shields se adaptem automaticamente à voltagem da placa.

RESET

Reinicia o microcontrolador quando este pino é conectado ao GND (Terra).

3.3V (Saída)

Fornece tensão regulada de 3,3V para alimentar sensores de baixa tensão. (Corrente limitada).

5V (Saída)

Saída principal de 5V regulada. Alimenta a maioria dos componentes. A fonte vem do USB ou do regulador interno.

GND (Terra)

Referência de 0V. Essencial para fechar o circuito elétrico. Todos os GNDs devem ser interligados.

VIN (Entrada de Voltagem)

Pino para alimentação externa direta (pré-regulador). Aceita de 7V a 12V para operação estável.

Portas e Interfaces

No Arduino, as portas são os pontos de conexão com o mundo externo. Elas são divididas em duas categorias principais: Digitais (que incluem as binárias e PWM) e Analógicas.

Portas Digitais (0 a 13)

Trabalham com dois estados de tensão: 0V (LOW) e 5V (HIGH). São usadas para enviar (saída) ou receber (entrada) dados binários.

Comunicação Serial
  • Porta 0 (RX): Recepção de dados.
  • Porta 1 (TX): Transmissão de dados.
  • * Conectadas diretamente aos LEDs indicadores da placa.
Interface SPI

Pinos para comunicação com sensores complexos e cartões SD:

  • Pino 10 (SS): Seleção do escravo.
  • Pino 11 (MOSI): Saída de dados do Mestre.
  • Pino 12 (MISO): Entrada de dados no Mestre.
  • Pino 13 (SCK): Relógio de sincronização.
Manipulação via Código:
digitalRead(pino)

Lê o estado de uma entrada (Retorna HIGH ou LOW).

digitalWrite(pino, estado)

Define a saída como 5V (HIGH) ou 0V (LOW).


Portas Analógicas (A0 - A15)

Diferente das digitais, estas portas leem tensões variáveis entre 0V e 5V com alta precisão. Elas funcionam apenas como entrada.

Pinos Analógicos
Pinos de Entrada Analógica.
  • Resolução: 10 bits (conversor A/D).
  • Escala Digital: Converte a tensão em valores de 0 a 1023.
  • Exemplo: 0V = 0 | 5V = 1023 | 2.5V = 512.
  • Aplicações: Potenciômetros, LDRs e Sensores de Temperatura.

Portas PWM (Modulação por Largura de Pulso)

Identificadas pelo sinal ~, estas portas digitais "simulam" sinais analógicos variando a potência média entregue.

Escala de Saída: Trabalha com valores de 0 a 255.

Aplicações: Brilho de LEDs, velocidade de motores DC e geração de áudio.

PWM no Arduino Mega 2560:

Possui 15 saídas PWM nos pinos: 2 a 13, 44, 45 e 46.

Portas PWM
Portas PWM no UNO.

Divisor de Tensão: 5V para 3.3V

Necessário para sensores que não suportam 5V. Utilizamos a fórmula:

$$V_{out} = V_{in} \cdot \frac{R_2}{R_1 + R_2}$$

Exemplo: Para obter 3.3V a partir de 5V, podemos utilizar os seguintes resistores:

R1 = 1.8kΩ e R2 = 3.3kΩ.

Comunicação e Código

A interação com o PC ocorre via Serial:

Serial.begin(9600); // Inicia a comunicação
Serial.print("EuderTech"); // Envia texto ao monitor
                

Para expandir recursos, usamos bibliotecas:

#include <LiquidCrystal.h> // Exemplo para Display LCD