Вы находитесь на странице: 1из 21

GUIA DE INTRODUÇÃO

AO ARDUINO

E3J – Empresa Júnior de Engenharia Elétrica | Universidade Federal do Sul e Sudeste do Pará
Folha 31, UNIFESSPA – Campus 1, Marabá – PA. | CNPJ: 29.162.362 / 0001-60 | Telefone: (94) 981166031
Sumário
1. Objetivo .................................................................................. 1
2. Introdução .............................................................................. 1
3. Histórico ................................................................................. 2
4. O que é Arduino? ................................................................... 2
5. Componentes ......................................................................... 3
6. Eletrônica Básica .................................................................... 6
7. Introdução a programação ................................................... 12
8. Comandos específicos para Arduino .................................... 16
9. Referências ........................................................................... 18

E3J – Empresa Júnior de Engenharia Elétrica | Universidade Federal do Sul e Sudeste do Pará
Folha 31, UNIFESSPA – Campus 1, Marabá – PA. | CNPJ: 29.162.362 / 0001-60 | Telefone: (94) 981166031
1

1. Objetivo

O objetivo desta apostila é apresentar a plataforma Arduino. Será


baseada na plataforma Arduino UNO, onde serão abordados os conceitos
básicos de hardware e software, ressaltando-se a importância de tais
conceitos para o avanço de conhecimento sobre tal tecnologia, onde os
mesmos serão analisados com exemplos práticos.

2. Introdução

A plataforma Arduino está presente em muitos artigos na internet,


porém para quem está iniciando na programação dessa plataforma
geralmente sente dificuldade de um ter um ponto de partida. A fonte de
principal de pesquisa deve ser o site do próprio Arduino, lá estão as
informações básicas para iniciar. Um fator que bloqueia os iniciantes é o
fato desse site ser em inglês. Essa apostila usa como referência principal o
site do Arduino, e o objetivo é apresentar para os iniciantes um ponto de
partida para essa plataforma. É abordado a teoria básica da plataforma,
assim como a linguagem de programação e são apresentados alguns
exemplos para colocar em prática.

E3J – Empresa Júnior de Engenharia Elétrica | Universidade Federal do Sul e Sudeste do Pará
Folha 31, UNIFESSPA – Campus 1, Marabá – PA. | CNPJ: 29.162.362 / 0001-60 | Telefone: (94) 981166031
2

3. Histórico

 O projeto iniciou-se em 2005 na Itália;


 Focado em projetos escolares;
 O objetivo era criar ferramentas de baixo custo, flexíveis e fáceis de
se usar tanto por profissionais quanto por iniciantes;
 50.000 placas vendidas até outubro de 2008;
 A Linguagem utilizada é baseada na linguagem C;
 Evolução do Arduino:

4. O que é Arduino?

O Arduino é uma plataforma eletrônica de código aberto baseada em


hardware e software fáceis de usar. Placas Arduino são capazes de ler as
entradas - luz em um sensor, um dedo em um botão ou uma mensagem no
Twitter - e transformá-lo em uma saída - ativando um motor, ligando um
LED, publicando algo online. Você pode dizer à sua placa o que fazer
enviando um conjunto de instruções para o microcontrolador na placa. Para
fazer isso, você usa a linguagem de programação Arduino (baseada em
Fiação) e o Software Arduino (IDE), baseado em Processamento. O Arduino

E3J – Empresa Júnior de Engenharia Elétrica | Universidade Federal do Sul e Sudeste do Pará
Folha 31, UNIFESSPA – Campus 1, Marabá – PA. | CNPJ: 29.162.362 / 0001-60 | Telefone: (94) 981166031
3

destina-se a designers, hobbistas, técnicos, engenheiros e pessoas


interessadas em criar projetos ou ambientes interativos.
Os projetos com Arduino podem ser STAND-ALONE ou comunicar com
um software rodando no PC. Os kits de desenvolvimento podem ser
montados pelo próprio projetista ou podem ser comprados e o software
pode ser baixado gratuitamente no site do Arduino. Os projetos de
hardware para referências estão disponíveis em www.arduino.cc, sob
licença open-source, onde está livre para adaptação as suas necessidades.
O Arduino é diferente das outras plataformas presentes no mercado
devido aos seguintes fatores:

 É um ambiente multiplataforma, podendo ser executado em


Windows, Macintosh e Linux;
 Tem por base um ambiente de fácil utilização baseado em
Processamento;
 Pode ser programado utilizando um cabo de comunicação USB onde
geralmente não é necessária uma fonte de alimentação;
 Possui hardware e software open-source, facilitando a montagem do
seu próprio hardware sem precisar pagar nada aos criadores originais;
 Hardware de baixo custo;
 Grande comunidade ativa de usuários;
 Ambiente educacional, ideal para iniciantes que desejam resultados
rápidos.

5. Componentes

O Arduino como foi visto anteriormente e formado por dois


componentes principais: Hardware e software. O hardware é composto por
uma placa de prototipagem na qual são construídos os projetos. O software
é uma IDE, que é executado em um computador onde é feita a
programação, conhecida como sketch, na qual será feita upload para a
placa de prototipagem Arduino, através de uma comunicação serial. O
sketch feito pelo projetista dirá à placa o que deve ser executado durante
o seu funcionamento.
E3J – Empresa Júnior de Engenharia Elétrica | Universidade Federal do Sul e Sudeste do Pará
Folha 31, UNIFESSPA – Campus 1, Marabá – PA. | CNPJ: 29.162.362 / 0001-60 | Telefone: (94) 981166031
4

Em componentes trataremos da parte física do Arduino, ou seja, do


hardware da placa, onde evidencia-se 14 (quatorze) pontos relevantes a
serem explanados, porém ao que trata-se do software, todos seus
procedimentos e fatores ao qual o engloba, analisaremos ao entrar em
“Introdução a programação”. Diante disso, vejamos os componentes do
Arduino conforme a figura abaixo exemplifica.

1 – Conector USB para o cabo tipo AB;


2 – Botão de reset;
3 – Pinos de entrada e saída digital e PWM;
4 – LED verde de placa ligada;
5 – LED laranja conectado ao pin13;
6 – ATmega encarregado da comunicação com o computador;
7 – LED TX (transmissor) e RX (receptor) da comunicação serial;
8 – Porta ICSP para programação serial;
9 – Microcontrolador ATmega 328, cérebro do Arduino;
10 – Cristal de quartzo 16Mhz;
E3J – Empresa Júnior de Engenharia Elétrica | Universidade Federal do Sul e Sudeste do Pará
Folha 31, UNIFESSPA – Campus 1, Marabá – PA. | CNPJ: 29.162.362 / 0001-60 | Telefone: (94) 981166031
5

11 – Regulador de voltagem;
12 – Conector fêmea 2,1mm com centro positivo;
13 – Pinos de voltagem e terra;
14 – Entradas analógicas.
Conforme visto na imagem acima a placa Arduino UNO possui diversos
conectores que servem para interface com o mundo externo. A seguir e
dada uma breve explicação de como cada pino da placa pode ser utilizado.

 14 pinos de entra e saída digital (pinos 0-13):


Esses pinos podem ser utilizados como entradas ou saídas digitais de
acordo com a necessidade do projeto e conforme foi definido no sketch
criado na IDE.

 6 pinos de entradas analógicas (pinos 0 - 5):


Esses pinos são dedicados a receber valores analógicos, por exemplo, a
tensão de um sensor. O valor a ser lido deve estar na faixa de 0 a 5 V onde
serão convertidos para valores entre 0 e 1023.

 6 pinos de saídas analógicas (pinos 3, 5, 6, 9, 10 e 11):


São pinos digitais que podem ser programados para ser utilizados como
saídas analógicas, utilizando modulação PWM.
A placa pode ser alimentada pela conexão USB ou por uma fonte de
alimentação externa.

E3J – Empresa Júnior de Engenharia Elétrica | Universidade Federal do Sul e Sudeste do Pará
Folha 31, UNIFESSPA – Campus 1, Marabá – PA. | CNPJ: 29.162.362 / 0001-60 | Telefone: (94) 981166031
6

6. Eletrônica Básica

 Conceitos básicos

 Tensão elétrica:
Tensão elétrica é a diferença de energia estabelecida entre dois pontos
que motiva a movimentação de cargas elétricas.

 Corrente elétrica:
Fluxo de elétrons em um condutor quando submetido a uma diferença
de potencial;
Pode ser Alternada ou Continua.

 Resistência elétrica:
Oposição à passagem de corrente.

 Lei de Ohm e Potência elétrica

 Lei de Ohm:
Estabelece a relação entre tensão, corrente e resistência;
É representada matematicamente por:
𝑉 = 𝑅∙I

E3J – Empresa Júnior de Engenharia Elétrica | Universidade Federal do Sul e Sudeste do Pará
Folha 31, UNIFESSPA – Campus 1, Marabá – PA. | CNPJ: 29.162.362 / 0001-60 | Telefone: (94) 981166031
7

 Potencia elétrica:
Taxa com a qual a energia é fornecida ou absorvida;
Seu valor pode ser encontrado através de:
𝑃 = 𝑉∙𝐼
 Resistor

Resistor é um componente que é construído a partir do princípio da


resistência elétrica;
O resistor tem uma resistência conhecida para que possa ser aplicado
no circuito.

E3J – Empresa Júnior de Engenharia Elétrica | Universidade Federal do Sul e Sudeste do Pará
Folha 31, UNIFESSPA – Campus 1, Marabá – PA. | CNPJ: 29.162.362 / 0001-60 | Telefone: (94) 981166031
8

 Associação de resistores:

Dois ou mais resistores estão em série se eles compartilham


exclusivamente um único ponto ou nó e estão sujeitos à mesma corrente.

𝑹𝒆𝒒 = 𝑹𝟏 + 𝑹𝟐 + ⋯ + 𝑹𝒙

Dois ou mais resistores estão em paralelo se eles estão conectados


pelos dois nós e estão sujeitos à mesma tensão.

𝟏 𝟏 𝟏 𝟏
= + +⋯
𝑹𝒆𝒒 𝑹𝟏 𝑹𝟐 𝑹𝒙

 Diodo comum e Diodo emissor de luz (LED)

 Diodo:
Componente eletrônico que permite a passagem da corrente elétrica
somente em um sentido.

 LED:
Diodo especial que emite luz a ser percorrido por corrente elétrica.

E3J – Empresa Júnior de Engenharia Elétrica | Universidade Federal do Sul e Sudeste do Pará
Folha 31, UNIFESSPA – Campus 1, Marabá – PA. | CNPJ: 29.162.362 / 0001-60 | Telefone: (94) 981166031
9

 Cuidados na utilização de LED


Tensão da fonte de alimentação;
Tensão suportada pelo seu LED em volts;
Corrente suportada pelo seu LED em amperes;
Comumente utiliza-se resistores conectados em série com o LED para
condicionar seu funcionamento.

 Interruptores e Relés

E3J – Empresa Júnior de Engenharia Elétrica | Universidade Federal do Sul e Sudeste do Pará
Folha 31, UNIFESSPA – Campus 1, Marabá – PA. | CNPJ: 29.162.362 / 0001-60 | Telefone: (94) 981166031
10

Interruptores são dispositivos utilizados para abrir ou fechar circuitos


elétricos;
Um relé é basicamente um interruptor eletromecânico, onde uma
corrente baixa aplicada a uma bobina faz com que o contato do interruptor
se desloque, abrindo ou fechando um circuito elétrico.

 Estrutura interna do Relé:

 Protoboard
Utilizada para fazer montagens provisórias de circuitos, teste de
projetos, além de outras aplicações;
É constituída por uma base plástica, contendo inúmeros orifícios
destinados à inserção de terminais de componentes eletrônicos;

E3J – Empresa Júnior de Engenharia Elétrica | Universidade Federal do Sul e Sudeste do Pará
Folha 31, UNIFESSPA – Campus 1, Marabá – PA. | CNPJ: 29.162.362 / 0001-60 | Telefone: (94) 981166031
11

Os orifícios da protoboard são interligados tal como mostrado na figura


abaixo.

 Multímetro
Aparelho destinado a medir e avaliar grandezas elétrica;

 Incorpora diversos instrumentos, por padrão:


Voltímetro; Amperímetro e Ohmímetro.
Podem ser analógicos ou digitais.

 Realização de medidas com Multímetro:

E3J – Empresa Júnior de Engenharia Elétrica | Universidade Federal do Sul e Sudeste do Pará
Folha 31, UNIFESSPA – Campus 1, Marabá – PA. | CNPJ: 29.162.362 / 0001-60 | Telefone: (94) 981166031
12

 Medição de Tensão:
Multímetro ligado em paralelo com o circuito.
 Medição de corrente:
Multímetro ligado em série com o circuito.
 Medição de Resistencia:
Multímetro ligado em paralelo com o elemento a ser medido.

7. Introdução a programação

 Conceito
Um programa de computador é um conjunto de instruções que
representam um algoritmo para a resolução de algum problema. Estas
instruções são escritas através de um conjunto de códigos (símbolos e
palavras). Este conjunto de códigos possui regras de estruturação lógica e
sintática própria. Diz-se que este conjunto de símbolos e regras formam
uma linguagem de programação.

 Linguagem de baixo nível


São linguagens voltadas para a máquina, isto é, são escritas usando-se
as instruções do microprocessador do computador. São genericamente
chamadas de linguagens Assembly ou de montagem.
 Vantagens:
E3J – Empresa Júnior de Engenharia Elétrica | Universidade Federal do Sul e Sudeste do Pará
Folha 31, UNIFESSPA – Campus 1, Marabá – PA. | CNPJ: 29.162.362 / 0001-60 | Telefone: (94) 981166031
13

Os programas são executados com maior velocidade de processamento


e ocupam menor espaço na memória.
 Desvantagens:
Em geral, programas em Assembly têm pouca portabilidade, isto é, um
código gerado para um tipo de processador não serve para outro. Códigos
Assembly não são estruturados, tornando a programação bem mais difícil.

 Linguagem de alto nível


São linguagens voltadas para o ser humano. Em geral utilizam sintaxe
estruturada tornando seu código mais legível. Necessitam de compiladores
ou interpretadores para gerar as instruções do microprocessador.
 Vantagens:
Por serem compiladas ou interpretadas, têm maior portabilidade
podendo ser executados em várias plataformas com pouquíssimas
modificações. Em geral, a programação torna-se mais fácil por causa do
maior ou menor grau de estruturação de suas linguagens.
 Desvantagens:
Em geral, as rotinas geradas (em linguagem de máquina) são mais
genéricas e, portanto, mais complexas e por isso são mais lentas e ocupam
mais memória.

 Linguagem C
É uma linguagem de alto nível, genérica. Foi desenvolvida por
programadores para programadores, tendo como meta características de
flexibilidade e portabilidade. O C é uma linguagem que nasceu juntamente
com o advento da teoria de linguagem estruturada e do computador
pessoal. Assim, tornou-se rapidamente uma linguagem “popular” entre os
programadores. O C foi usado para desenvolver o sistema operacional
UNIX, e hoje está sendo usada para desenvolver novas linguagens, entre
elas a linguagem C++ e Java.
 Programas servem para manipular dados, dados são subdivididos em
classes: Constantes e Variáveis.
E3J – Empresa Júnior de Engenharia Elétrica | Universidade Federal do Sul e Sudeste do Pará
Folha 31, UNIFESSPA – Campus 1, Marabá – PA. | CNPJ: 29.162.362 / 0001-60 | Telefone: (94) 981166031
14

 Operadores aritméticos:

 Operadores relacional:

 A diretiva #DEFINE

Serve para definir constantes simbólicas que aumentam a legibilidade


do código fonte.

#define identificador texto

Nota:

O texto associado ao identificador pode ser inclusive uma palavra


reservada.
E3J – Empresa Júnior de Engenharia Elétrica | Universidade Federal do Sul e Sudeste do Pará
Folha 31, UNIFESSPA – Campus 1, Marabá – PA. | CNPJ: 29.162.362 / 0001-60 | Telefone: (94) 981166031
15

 A diretiva #INCLUDE

Essa diretiva, quando executada, faz com que uma cópia do arquivo cujo
o nome é dado entre < e > seja incluído no código fonte. Por exemplo:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

 A diretiva #DEFINE + diretiva #INCLUDE

#include <stdio.h>
#define diga printf
#define oi “\nOlá mundo, tudo bem?”
main ()
{
diga (oi);
}

 Comandos condicionais

E3J – Empresa Júnior de Engenharia Elétrica | Universidade Federal do Sul e Sudeste do Pará
Folha 31, UNIFESSPA – Campus 1, Marabá – PA. | CNPJ: 29.162.362 / 0001-60 | Telefone: (94) 981166031
16

If (condição) comando1; else comando2.


1. Avalia a condição, que deve ser uma expressão lógica;
2. Se a condição for verdadeira, executa apenas o comando1;
3. Senão, executa o comando2.

Observação: Acompanhar ao slide até entrarmos em “Comandos


específicos para Arduino”.

8. Comandos específicos para Arduino

O IDE do Arduino utiliza uma sintaxe similar à linguagem C, entretanto


há alguns comando específicos que o Arduino utiliza, para encontrar estes
comandos, o próprio site do Arduino os disponibiliza
www.arduino.cc/reference/pt/.
 Entradas/Saídas digitais:
pinMode(); - Configura um pino especificado para funcionar como
uma entrada ou saída. Como parâmetros, o comando recebe a numeração
do pino e em seguida é determinado se ele é de saída ou de entrada,
OUTPUT ou INPUT.
Ex: pinMode(13,INPUT);
digitalRead(); - Ler o valor de um pino digital especificado, que pode
ser HIGH ou LOW, a sintaxe do comando recebe como parâmetro só o pino
referência.
Ex: digitalRead(13);
digitalWrite(); - Aciona um valor HIGH ou LOW em um pino digital.
Se o pino for configurado como uma saída (OUTPUT) com a função
pinMode(), sua tensão será acionada para o valor correspondente a 5V para
o valor de HIGH e 0V para LOW. A sintaxe do comendo recebe com
parâmetros o pino e valor de ainda HIGH ou LOW .
Ex: digitalWrite(13, LOW);

E3J – Empresa Júnior de Engenharia Elétrica | Universidade Federal do Sul e Sudeste do Pará
Folha 31, UNIFESSPA – Campus 1, Marabá – PA. | CNPJ: 29.162.362 / 0001-60 | Telefone: (94) 981166031
17

Exemplo:

 Comunicação serial - PRINTLN();


A comunicação serial é usada para comunicação entre um placa Arduino
e um computador ou outros dispositivos . Todas as placas Arduino possuem
pelo menos uma porta serial, UART/USART, chamada serial.
Serial.println(); - Imprime dados na porta serial como texto, a sintaxe
deste comando obedece a seguinte ordem: primeiro coloca-se o comando
Serial.begin() na função void setup e recebe como a parâmetro a taxa de
velocidade de captura de dados. Observação: Usualmente usa-se 9600 bps
bps como velocidade da porta serial.
Logo após a na função void loop, coloca-se a função Serial.println(),
que recebe como parâmetro a variável que estar recebendo o valores.
Após estes procedimentos, aciona-se monitor serial presente na IDE
do Arduino para se comunicar com uma placa Arduino, o monitor serial
encontra-se na aba Ferramentas.
E3J – Empresa Júnior de Engenharia Elétrica | Universidade Federal do Sul e Sudeste do Pará
Folha 31, UNIFESSPA – Campus 1, Marabá – PA. | CNPJ: 29.162.362 / 0001-60 | Telefone: (94) 981166031
18

 Entradas/Saídas analógicas
analogRead(); - Ler o valor de um pino analógico especificado. A placa
Arduino possui um conversor analógico-digital de 6 canais. Isso significa que
este irá mapear tensões entre 0 a 5 volts para valores inteiros entre 0 e
1023. Isso permite uma resolução entre leituras de: 5 volts/1014 unidade,
ou 0,0049 volts por unidade. A sintaxe deste comando só recebe como
parâmetros o pino da leitura analógica.
Ex: analogRead(13);.
analogWrite(); - Aciona uma onda PWM, em um pino, assim variando o
valor de tenção que o pino irá receber em diversos valores em 0 V e 5 V,
diferente mente do comando digitalWrite(), que somente enviava dois
valores de tensão. A sintaxe deste comando recebe como paramentos o
valor do pino de valor variante.
Ex: analogWrite(13, valor);
Exemplo:

9. Referências

[1] - http://arduino.cc/en/Reference/HomePage

E3J – Empresa Júnior de Engenharia Elétrica | Universidade Federal do Sul e Sudeste do Pará
Folha 31, UNIFESSPA – Campus 1, Marabá – PA. | CNPJ: 29.162.362 / 0001-60 | Telefone: (94) 981166031
E3J – Empresa Júnior de Engenharia Elétrica | Universidade Federal do Sul e Sudeste do Pará
Folha 31, UNIFESSPA – Campus 1, Marabá – PA. | CNPJ: 29.162.362 / 0001-60 | Telefone: (94) 981166031

Вам также может понравиться