0% acharam este documento útil (0 voto)
18 visualizações7 páginas

Guia Arduino

O Arduino é uma plataforma de prototipagem eletrônica de código aberto, popular por sua facilidade de uso e flexibilidade, permitindo que iniciantes desenvolvam projetos interativos. A programação é feita em uma linguagem baseada em C/C++, utilizando um ambiente de desenvolvimento integrado (IDE) que simplifica a escrita e o envio de código para a placa. Com uma vasta gama de componentes e bibliotecas, o Arduino possibilita a criação de projetos em diversas áreas, como automação, robótica e arte interativa.

Enviado por

obnoxious5348
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
18 visualizações7 páginas

Guia Arduino

O Arduino é uma plataforma de prototipagem eletrônica de código aberto, popular por sua facilidade de uso e flexibilidade, permitindo que iniciantes desenvolvam projetos interativos. A programação é feita em uma linguagem baseada em C/C++, utilizando um ambiente de desenvolvimento integrado (IDE) que simplifica a escrita e o envio de código para a placa. Com uma vasta gama de componentes e bibliotecas, o Arduino possibilita a criação de projetos em diversas áreas, como automação, robótica e arte interativa.

Enviado por

obnoxious5348
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Guia Rápido e Completo de

Programação Arduino
Introdução ao Arduino
O Arduino é uma plataforma de prototipagem eletrônica de código aberto
(open-source) que se tornou extremamente popular em todo o mundo, tanto
em ambientes educacionais quanto entre entusiastas e profissionais. Sua
principal característica é a facilidade de uso, combinada com um hardware
flexível e um software acessível, permitindo que mesmo iniciantes possam
desenvolver projetos interativos complexos. Criado em 2005 por Massimo
Banzi e uma equipe de pesquisadores na Itália, o objetivo inicial era
fornecer aos estudantes de design uma ferramenta de baixo custo e simples
para aprender eletrônica e programação, possibilitando a criação de
projetos de robótica, interatividade e arte.

No coração de uma placa Arduino está um microcontrolador, geralmente um


modelo da família ATmega da Atmel (agora Microchip) ou processadores
mais recentes como os baseados em ARM. Este microcontrolador funciona
como o “cérebro” do projeto, capaz de ler entradas (como luz em um sensor,
um dedo em um botão ou uma mensagem pela internet) e transformá-las em
saídas (ativar um motor, acender um LED, publicar algo online). O Arduino
simplifica o processo de trabalhar com microcontroladores, oferecendo uma
placa com os componentes essenciais já montados (como fonte de
alimentação, conector USB, pinos de entrada/saída) e um ambiente de
desenvolvimento integrado (IDE) amigável.

A filosofia de hardware e software livres (open-source) significa que os


esquemas das placas e o código-fonte do ambiente de desenvolvimento estão
disponíveis publicamente. Isso permite que qualquer pessoa possa modificar,
melhorar e até mesmo fabricar suas próprias versões das placas Arduino,
contribuindo para uma vasta comunidade global e um ecossistema rico em
bibliotecas, tutoriais e projetos compartilhados.

Princípios Básicos da Programação Arduino


A programação do Arduino é feita utilizando a Linguagem de Programação
Arduino, que é baseada nas linguagens C e C++. Embora possa parecer
intimidante no início, a estrutura básica de um programa Arduino (chamado
de “sketch”) é relativamente simples e projetada para ser fácil de aprender.
A linguagem C/C++ é poderosa e amplamente utilizada na indústria, o que
significa que aprender a programar para Arduino também fornece uma base
sólida para outras áreas da programação.
O Ambiente de Desenvolvimento (IDE)

Para escrever, compilar (traduzir o código para a linguagem que o


microcontrolador entende) e enviar o código para a placa Arduino, utiliza-se
o Arduino IDE. É um software gratuito, disponível para Windows, macOS e
Linux, que oferece um editor de texto simples, um console para mensagens e
botões para verificar (compilar) e carregar (enviar) o sketch para a placa via
cabo USB.

Estrutura Básica de um Sketch

Todo sketch Arduino possui duas funções principais que são obrigatórias:

1. setup(): Esta função é executada apenas uma vez, quando o Arduino é


ligado ou resetado. É utilizada para inicializar configurações, como
definir quais pinos serão usados como entrada ou saída (pinMode()),
iniciar comunicações seriais ([Link]()), etc.
2. loop(): Após a execução da função setup(), a função loop() é
executada repetidamente, em um ciclo contínuo, enquanto o Arduino
estiver ligado. É aqui que a lógica principal do programa reside, lendo
sensores, tomando decisões e controlando atuadores.

// Exemplo de estrutura básica

void setup() {
// Código de inicialização aqui
pinMode(13, OUTPUT); // Define o pino 13 como saída
}

void loop() {
// Código principal aqui, executa repetidamente
digitalWrite(13, HIGH); // Acende o LED conectado ao pino 13
delay(1000); // Espera 1 segundo (1000 milissegundos)
digitalWrite(13, LOW); // Apaga o LED
delay(1000); // Espera 1 segundo
}

Variáveis e Tipos de Dados

Variáveis são usadas para armazenar dados na memória do


microcontrolador. Ao declarar uma variável, você especifica seu tipo e um
nome. O tipo de dado define que tipo de informação a variável pode
armazenar.

Principais tipos de dados no Arduino (baseado em ATmega):

• int: Armazena números inteiros (geralmente de -32.768 a 32.767 em


placas como o Uno).
• unsigned int: Inteiros sem sinal (0 a 65.535).
• long: Inteiros com maior capacidade (-[Link] a [Link]).
• unsigned long: Inteiros longos sem sinal (0 a [Link]), útil para
contagem de tempo com millis().
• float: Números com ponto flutuante (decimais, como 3.14).
• double: Números de ponto flutuante com precisão dupla (em Arduinos
baseados em ATmega, é igual ao float).
• char: Armazena um único caractere (como ‘A’).
• String: Sequência de caracteres (texto). Mais flexível, mas consome
mais memória que arrays de char.
• boolean: Armazena valores lógicos true (verdadeiro) ou false (falso).
• byte: Armazena um número de 8 bits (0 a 255).
• void: Indica que uma função não retorna nenhum valor.

int contador = 0; // Declara uma variável inteira chamada


contador e inicializa com 0
float temperatura = 25.5; // Declara uma variável float
boolean ledAceso = false; // Declara uma variável booleana
char caractere = 'B'; // Declara uma variável char

Funções

Funções são blocos de código que realizam uma tarefa específica e podem
ser chamados (executados) de outras partes do programa. Isso ajuda a
organizar o código, torná-lo reutilizável e mais fácil de entender. O Arduino
já vem com muitas funções integradas para controlar os pinos, realizar
cálculos, comunicar-se, etc.

Exemplos de funções integradas:

• pinMode(pino, MODO): Configura um pino como INPUT (entrada),


OUTPUT (saída) ou INPUT_PULLUP (entrada com resistor pull-up interno
ativado).
• digitalWrite(pino, VALOR): Escreve um valor digital (HIGH ou LOW)
em um pino configurado como saída.
• digitalRead(pino): Lê o valor digital (HIGH ou LOW) de um pino.
• analogRead(pino): Lê o valor analógico (geralmente de 0 a 1023 em
placas como o Uno) de um pino de entrada analógica.
• analogWrite(pino, VALOR): Envia um sinal PWM (Pulse Width
Modulation) para um pino PWM (marcado com ~), útil para controlar
brilho de LEDs ou velocidade de motores (valor de 0 a 255).
• delay(ms): Pausa a execução do programa por um número especificado
de milissegundos.
• millis(): Retorna o número de milissegundos desde que o Arduino
começou a executar o programa atual (útil para tarefas baseadas em
tempo sem usar delay()).
• [Link](velocidade): Inicia a comunicação serial.
• [Link](dado) / [Link](dado): Envia dados pela porta
serial (útil para depuração ou comunicação com o computador).

Você também pode criar suas próprias funções:

// Declaração de uma função que pisca um LED um número de vezes


void piscarLed(int pino, int vezes, int duracao) {
for (int i = 0; i < vezes; i++) {
digitalWrite(pino, HIGH);
delay(duracao);
digitalWrite(pino, LOW);
delay(duracao);
}
}

void setup() {
pinMode(13, OUTPUT);
}

void loop() {
piscarLed(13, 3, 500); // Chama a função para piscar o LED no
pino 13, 3 vezes, com duração de 500ms
delay(2000); // Espera 2 segundos
}

Estruturas de Controle

Estruturas de controle permitem que o programa tome decisões e execute


blocos de código repetidamente ou condicionalmente.

• if / else if / else: Executa blocos de código com base em


condições lógicas. cpp int leituraSensor =
analogRead(A0); if (leituraSensor > 500) { // Faz
algo se a leitura for maior que 500 } else if
(leituraSensor < 100) { // Faz outra coisa se a leitura
for menor que 100 } else { // Faz algo diferente
nos outros casos }
• for: Executa um bloco de código um número específico de vezes.
cpp for (int i = 0; i < 10; i++) { // Este código
executa 10 vezes (i de 0 a 9) }
• while: Executa um bloco de código enquanto uma condição for
verdadeira.
cpp int contador = 0; while (contador < 5) { //
Executa enquanto contador for menor que 5 contador+
+; }
• do...while: Similar ao while, mas garante que o bloco de código
execute pelo menos uma vez antes de verificar a condição.
• switch...case: Permite selecionar um entre vários blocos de código
para executar com base no valor de uma variável.

Comentários

Comentários são usados para explicar o código, tornando-o mais fácil de


entender. Eles são ignorados pelo compilador.

// Este é um comentário de linha única


/*
Este é um
comentário de
múltiplas linhas.
*/

Bibliotecas

Bibliotecas são coleções de código pré-escrito que estendem as


funcionalidades do Arduino, facilitando a interação com hardware específico
(como sensores, displays LCD, motores de passo, módulos Wi-Fi) ou a
realização de tarefas complexas (como comunicação em rede). O Arduino
IDE já vem com algumas bibliotecas padrão, e muitas outras podem ser
facilmente instaladas através do Gerenciador de Bibliotecas ou
manualmente.

Para usar uma biblioteca, você geralmente precisa incluí-la no início do seu
sketch usando a diretiva #include.

#include <Servo.h> // Inclui a biblioteca Servo

Servo meuServo; // Cria um objeto Servo

void setup() {
[Link](9); // Anexa o objeto Servo ao pino 9
}

void loop() {
[Link](90); // Move o servo para 90 graus
delay(1000);
[Link](0); // Move o servo para 0 graus
delay(1000);
}

Funcionalidades e Possibilidades com Arduino


A grande força do Arduino reside na sua versatilidade e na vasta gama de
componentes eletrônicos com os quais ele pode interagir. Isso abre um
universo de possibilidades para projetos criativos e funcionais.

Controle de Entradas e Saídas (I/O)

• Digital I/O: Ler botões, chaves, sensores digitais (presença, fim de


curso) e controlar LEDs, relés, buzzers.
• Analog I/O: Ler sensores analógicos (temperatura, luz LDR,
potenciômetros, umidade do solo) e controlar saídas analógicas
simuladas via PWM (brilho de LEDs, velocidade de motores DC).
Sensores

O Arduino pode interagir com uma infinidade de sensores para perceber o


ambiente:

• Movimento: Sensores PIR (detecção de presença), acelerômetros,


giroscópios.
• Ambientais: Temperatura (DHT11, DHT22, LM35), umidade, pressão
barométrica (BMP180, BME280), luz (LDR), qualidade do ar (MQ-135).
• Distância: Sensores ultrassônicos (HC-SR04), infravermelhos.
• Som: Microfones.
• Localização: Módulos GPS.
• Biológicos: Sensores de pulso, resposta galvânica da pele.
• Outros: Sensores de cor, leitores RFID/NFC, sensores de gás, etc.

Atuadores

O Arduino pode controlar diversos dispositivos para interagir com o mundo


físico:

• Motores: Motores DC (com pontes H como L298N), Servomotores,


Motores de Passo.
• Displays: Displays LCD (caractere e gráficos), displays OLED, matrizes
de LED, fitas de LED endereçáveis (WS2812B/Neopixel).
• Som: Buzzers, pequenos alto-falantes (com módulos amplificadores).
• Relés: Para controlar dispositivos de alta potência ou corrente
alternada (lâmpadas, eletrodomésticos - com segurança!).
• Válvulas: Solenoides para controle de fluxo de líquidos ou gases.

Comunicação

O Arduino pode se comunicar com outros dispositivos e sistemas:

• Serial: Comunicação com o computador via USB, ou com outros


microcontroladores/módulos (GPS, Bluetooth) usando pinos TX/RX.
• I2C (Wire): Protocolo para comunicação com múltiplos dispositivos
(sensores, displays) usando apenas dois fios (SDA, SCL).
• SPI: Outro protocolo de comunicação serial, geralmente mais rápido
que I2C, usado para cartões SD, displays, etc.
• Sem Fio:
◦ Bluetooth: Módulos como HC-05/HC-06 para comunicação com
smartphones ou outros dispositivos Bluetooth.
◦ Wi-Fi: Placas com Wi-Fi integrado (ESP8266, ESP32 - que podem
ser programadas com a IDE Arduino) ou módulos Wi-Fi (ESP-01)
conectados a um Arduino.
◦ Rádio Frequência (RF): Módulos como NRF24L01 para
comunicação de baixo custo entre Arduinos.
◦ LoRa: Para comunicação sem fio de longo alcance e baixo
consumo.
◦ GSM/GPRS: Módulos SIM800L/SIM900 para conexão à rede
celular (SMS, dados).
• Ethernet: Usando Shields Ethernet para conectar o Arduino à rede
local com fio.

Exemplos de Projetos

A combinação dessas funcionalidades permite criar uma variedade imensa


de projetos:

• Automação Residencial: Controle de luzes, tomadas, cortinas,


temperatura, sistemas de irrigação, monitoramento de consumo de
energia, fechaduras inteligentes.
• Robótica: Robôs seguidores de linha, robôs que desviam de
obstáculos, braços robóticos, robôs controlados por Bluetooth/Wi-Fi,
drones (com componentes adicionais).
• Estações Meteorológicas: Coleta de dados de temperatura, umidade,
pressão, etc., com envio para a internet.
• Monitoramento e Controle: Monitoramento de plantas, aquários,
sistemas de segurança simples.
• Arte Interativa: Instalações que reagem à presença ou som,
instrumentos musicais eletrônicos.
• Wearables (Vestíveis): Dispositivos simples incorporados em roupas
ou acessórios.
• Ferramentas e Instrumentação: Medidores customizados,
dataloggers.
• Jogos: Controles customizados, jogos simples em displays.

Conclusão
O Arduino é muito mais do que apenas uma placa; é uma plataforma
completa que democratizou o acesso à eletrônica e à programação. Sua
simplicidade, baixo custo, vasta documentação e comunidade ativa o tornam
a escolha ideal para iniciantes que desejam dar os primeiros passos no
mundo maker, mas também uma ferramenta poderosa para prototipagem
rápida e desenvolvimento de projetos complexos por usuários experientes.
Ao dominar os princípios básicos da programação e explorar as diversas
funcionalidades e componentes disponíveis, as possibilidades de criação com
o Arduino são praticamente ilimitadas, limitadas apenas pela sua
imaginação e criatividade.

Referências
• Documentação Oficial Arduino (Português): [Link]
language-reference/pt/
• Circuitar - Primeiros Passos com Arduino: [Link]
tutoriais/programacao-para-arduino-primeiros-passos/
• UsinaInfo Blog - O que é Arduino?: [Link]
que-e-arduino/

Você também pode gostar