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

Arduino

O documento apresenta uma introdução ao Arduino, uma plataforma de prototipagem eletrônica de código aberto, destacando seus componentes de hardware, software e a comunidade envolvida. Ele descreve a placa Arduino Uno, suas funcionalidades, como a programação através da Arduino IDE e exemplos práticos de projetos, incluindo o controle de LEDs e o uso de um buzzer. Além disso, aborda variáveis e estruturas condicionais na programação, fornecendo uma base para iniciantes em eletrônica e programação.

Enviado por

marcosforthaleza
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)
5 visualizações142 páginas

Arduino

O documento apresenta uma introdução ao Arduino, uma plataforma de prototipagem eletrônica de código aberto, destacando seus componentes de hardware, software e a comunidade envolvida. Ele descreve a placa Arduino Uno, suas funcionalidades, como a programação através da Arduino IDE e exemplos práticos de projetos, incluindo o controle de LEDs e o uso de um buzzer. Além disso, aborda variáveis e estruturas condicionais na programação, fornecendo uma base para iniciantes em eletrônica e programação.

Enviado por

marcosforthaleza
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

Introdução

ao
Arduíno
Definições Arduino é uma plataforma de prototipagem eletrônica,
Open-Source, e Hardware livre. Criado para ser simples,
de baixo custo, fácil uso e aprendizado.

Criado em 2005 por


Máximo Banzi;
2
Definições O Arduino é baseado em três conceitos:
1: Hardware: refere-se a placa de prototipagem que possui
como componente central um microcontrolador da família
ATmega;
2: Software: consiste em uma linguagem de programação
e um ambiente de desenvolvimento;
3: Comunidade: composta por um grande número de
pessoas que compartilham os seus conhecimentos e
projetos na Internet.

3
Definições Open-Source e Hardware livre

• Todo o hardware é aberto e os projetos estão disponíveis

• Quem quiser, pode comprar os componentes e montar a


sua placa;

• O software de programação também é livre e está


disponível para download gratuitamente.

4
Tipos de Existem vários tipos de Arduino para as mais diversas

Arduino
aplicações.

5
6
Tipos de O Arduino Uno é uma placa de prototipagem eletrônica

Arduino
amplamente utilizada para aprender, desenvolver e testar
projetos de eletrônica e automação.

É popular por ser fácil de usar, de baixo custo e possui


Arduino uma grande comunidade de suporte na internet.

Uno

7
Arduino Algumas aplicações do Arduino Uno incluem:

Uno •

Acender e apagar LEDs
Controlar motores e relés
• Criar projetos de automação residencial
• Desenvolver robôs
• Fazer protótipos de sistemas embarcados
• Ler sensores de temperatura, luminosidade, distância, etc.

8
E/S Digitais
Interface Serial

Arduino ou Microcontrolador
USB

Uno
Hardware

E/S de potência
9 E/S Analógicas
Arduino E/S Digitais

Uno O Arduino Uno apresenta 14 pinos que podem ser

Hardware
utilizados como entradas ou saídas digitais (pinos 0 a 13),
sendo que os pinos 3, 5, 6, 9, 10 e 11 também podem
utilizar Modulação por largura de pulso, ou PWM (do
inglês, Pulse Width Modulation), que é uma técnica para
simular saídas analógicas usando sinais digitais, permitindo
gerar um conjunto de valores inteiros entre 0 e 255.

10
Arduino E/S Analógicas

Uno Os pinos de A0 a A5 correspondem às entradas

Hardware
analógicas, que recebem uma tensão entre 0 e 5V e o
produzem em uma escala de 0 a 1023.

E/S de potência

O Arduino Uno possui saídas de 3,3 e 5V e dois pinos


de GND para alimentação de componentes externos, o
pino Vin que permite a alimentação do Arduino por uma
fonte de tensão externa, entre 7V e 12V.

11
Arduino Microprocessador

Uno Possui um microprocessador ATmega328, com uma

Hardware
memória RAM de 2KB, memória Flash de 32KB e clock de
16MHz.

Fonte

O Arduino é, geralmente, alimentado por uma porta


USB conectada a um computador/notebook ou, menos
comum, por um conector P4, que permite a conexão com
uma fonte externa ou carregador de notebook.

12
Arduino
Funcionamento

13
Arduino O ambiente de desenvolvimento do Arduino, chamado

Software
de Arduino IDE, pode ser gratuitamente baixado do site
[Link].

14
Arduino O passo a passo para instalação do Arduino IDE é:

Software 1 - Baixar programa (IDE) do Arduino

2 - Instalar driver USB (para Windows)

3 - Configurar a IDE do Arduino de acordo com a versão

4 - Abrir o IDE do Arduino

15
Arduino Conectando a placa do Arduino no PC:

Software

16
Conhecendo a IDE
1. Verificar : Compila e aprova seu código. Ele vai
pegar erros de sintaxe (como falta de ponto e
vírgula ou parênteses).

2. Upload: Envia o seu código para a placa.

3. Novo: Este botão abre uma nova aba da janela


de código.

4. Abrir: Este botão vai deixar você abrir um


esboço existente.

Salvar: Salva seu código.

17
Conhecendo a IDE
6. Serial Monitor: Isto irá abrir uma janela que
exibe todas as informações transmitidas pela
serial que a placa está enviando.

7. Mostra o nome do sketch atual.

8. Área onde é escrito o código.

9. Local onde informa se houve erro no código.

10. Mostra mensagens informando os erros.

11. Mostra qual placa e porta está utilizando.

18
Arduino
Software O ambiente de programação é bem
simples e intuitivo. Um programa, que
no Arduino é chamado de sketch,
apresenta duas funções básicas: setup()
e loop().

19
Arduino A função setup() deverá conter o código que irá executar

Software
apenas uma vez, quando o sketch iniciar. Normalmente
colocamos nesta função as definições iniciais do programa,
como atribuição de variáveis e seus pinos correspondentes.

20
Arduino A função loop() irá executar continuamente as instruções

Software
que estão lá até que outro sketch seja carregado na memória
“flash” do Arduino.

21
Comandos Os primeiros comandos do código são feitos na seção de

básicos
setup():

pinMode() – define um pino com entrada (INPUT) ou saída


(OUTPUT);

Quando será realizada uma ação, o código é escrito na seção


loop()

digitalWrite() – envia um sinal para uma saída digital de liga


(HIGH ou 1) ou desliga (LOW ou 0);

delay() – “espera” um determinado tempo;


22
Exemplo pinMode(numero_do_pino, OUTPUT);

digitalWrite(numero_do_pino, valor);

valor é LOW ou HIGH (0 ou 1, 0V ou 5V)

delay(milisegundos);

Importante: LETRAS MAIÚSCULAS são diferentes de letras


minúsculas!
23
Comandos Comentários:

básicos
//Comentários começam com duas barras por linha

/* as vezes comentários podem aparecer assim, com uma


barra e um asterisco no início e um asterisco e uma barra no
final*/

24
Comandos • Estrutura das funções

básicos Tipo Função(Parâmetros)


{
Corpo
}

• Linha de código: sempre terá ponto e vírgula no final;


• Parâmetros: (estão sempre entre parênteses)
• Blocos de código: {estão sempre entre chaves}

25
Primeiro Na placa Arduino UNO tem um

código
LED conectado ao pino 13 que você
pode utilizar para fazer seu primeiro
programa e testar seu Arduino.

O objetivo deste projeto é utilizar


uma porta digital do Arduino para
controlar o funcionamento desse
LED. Um nível 1 (HIGH) colocado no
pino irá acender o LED, enquanto um
nível 0 (LOW) vai apagar o LED.

26
Primeiro Depois de digitado o código ao
código lado pressione o botão upload.

LED internocorretamente,
Se você tiver digitado tudo
você irá ver o LED
piscando na própria placa do
Arduino.

27
Periféricos:
Protoboard

28
Periféricos: Os resistores têm a função limitar a corrente elétrica, eles são
necessários do modo a evitar que determinados componentes
Resistores eletrônicos recebam uma tensão ou corrente maior do que eles
podem suportar evitando, desta forma, que os mesmos sejam
danificados.
São componentes não polarizados, ou seja, podem ser
instalados em qualquer sentido do circuito, sem preocupação entre
diferenciar polo positivo e polo negativo.

29
Periféricos:
Resistores

30
Periféricos: O diodo emissor de luz ou simplesmente LED é uma variação do
diodo e apresenta, como principal característica, a emissão de luz
LED quando uma corrente flui através do mesmo. É um componente
polarizado, desta forma, o Cátodo sempre deve estar conectado ao
polo negativo (ou terra) do circuito. Suportam entre 2,2 a 3,3V de
tensão de entrada no Ânodo, o polo negativo.

31
Segundo Agora o segundo código tem a mesma função, de fazer um LED
piscar, mas um LED externo, conectado ao Arduino pela protoboard, e
código também conectado a um resistor para limitar a tensão de entrada e

Pisca LED
proteger o LED.

32
Segundo Material necessário:

código • 1 Arduino.

Pisca LED
• 1 Resistor de 330 ohms (laranja, laranja, marrom).
• 1 Led (qualquer cor).
• 1 Protoboard.
• Jumper cable.

33
Segundo
código
Montagem

34
Desafio Fazer dois LEDs piscarem de forma intermitente, ou seja,

LEDs
dois LEDs piscam em momentos separados. Enquanto o
primeiro está acesso o outro está apagado e vice-versa.

Intermitente

35
Tipos de No Arduino, usamos variáveis para guardar valores que o

Variáveis
programa precisa manipular, como leituras de sensores e
estados de componentes. Cada variável tem um tipo, que
define o tipo de dado que ela pode armazenar e a
quantidade de memória que ocupa.

Como a linguagem de programação do Arduíno é


baseada no C/C++, os tipos de variáveis do Arduino são
semelhantes aos tipos de variáveis dessas linguagens:

• Int (Inteiro)
• Float (Ponto Flutuante)
• Bool (Booleano)
• Char (Caractere)
36 • String (Cadeira de caracteres)
Tipos de Variáveis inteiras (int) armazena números inteiros

Variáveis
positivos ou negativos, como o número de carros em um
estacionamento, por exemplo. Esse tipo de variável utiliza 2

Int
bytes da memória RAM do Arduino.

A forma de declarar a variável inteira é: tipo, nome e


valor. Exemplo:

int leitura = 512; //define o valor da leitura de um sensor

37
Tipos de Variáveis do tipo ponto flutuante (float) armazenam

Variáveis
números com casas decimais, ou seja, números reais. É ideal
para medidas mais precisas, como medição de temperatura.

float
Esse tipo de variável utiliza 4 bytes da memória RAM do
Arduino.

A forma de declarar a variável float é: tipo, nome e valor


ou pino ao qual pertence. Exemplo:

float temp = A0; //define que a variável temp está


associada ao elemento conectado no pino A0

38
Tipos de Variáveis do tipo Booleano (bool) armazena apenas

Variáveis
valores binários, ou seja apenas dois valores: true
(verdadeiro) ou false (falso). É muito usada para testar

bool
condições.

A forma de declarar a variável bool é: tipo, nome e valor


ou pino ao qual pertence. Exemplo:

bool ON = true; //define a variável como ligada

39
Tipos de Variáveis do tipo Caractere (char) armazena um

Variáveis
caractere, que pode ser uma letra, número ou símbolo
especial. Utiliza aspas simples para definir o caractere.

char A forma de declarar a variável char é: tipo, nome e valor


ou pino ao qual pertence. Exemplo:

char letra = ‘A’; //define a variável como letra A

40
Tipos de Variáveis do tipo Cadeia de Caracteres (string) armazena

Variáveis
textos ou frases, como se fosse uma expansão da variável
char. É muito útil para mostrar mensagens no monitor serial

string
ou no Display LCD. Utiliza aspas dupla para definir o texto.

A forma de declarar a variável string é: tipo, nome e valor


ou pino ao qual pertence. Exemplo:

string nome = “LAZARO”; //define a variável nome

41
Tipos de Variáveis globais x Variáveis locais

Variáveis As variáveis podem ser classificadas, também, de acordo com a


posição em que aparecem no código:

Variáveis globais: são declaradas no inicio do código, antes do void


setup(). São visíveis e acessíveis em todo o código, ou seja, tanto no
setup() quanto no loop() e até em outras funções que você criar.

Variáveis locais: são declaradas dentro de funções, como setup() ou


loop() e só podem ser utilizadas dentro daquela função ou
enquanto essa função está sendo executada.

42
Tipos de Exemplo:

Variáveis As variáveis do tipo int a


seguir, são variáveis do tipo
global e podem ser utilizadas
em todo o código.

43
Periféricos Um buzzer é um dispositivo eletrônico que emite som —

Buzzer
geralmente um bip ou um alarme — quando recebe uma
tensão elétrica. Ele é muito usado em sistemas de
sinalização, alertas e avisos sonoros.

Aplicações:
• Micro-ondas que apita quando termina o tempo;
• Alarme de carro ou sistemas de segurança;
• Alerta de erro em equipamentos eletrônicos.

44
Periféricos Existem 2 tipos de buzzer:

Buzzer • Ativo: já possui um circuito oscilador interno, ao ser


conectado em uma tensão CC emite um som padrão como
um bip.

• Passivo: precisa de um sinal PWM (uma espécie de sinal


analógico originado de um sinal digital) para funcionar.
Permite tocar variações de sons, como, por exemplo, notas
musicais.

45
Exemplo 1 O objetivo deste projeto é acionar um buzzer, alterando

Buzzer
sua frequência de vibração (o que altera o tom do ruído
produzido pelo buzzer) e o tempo de duração do seu som.

Para acionar o buzzer são utilizadas duas funções: tone()


e notone().

A função tone() possui 2 sintaxes: tone(pino, frequência)


e tone(pino, frequência, duração), onde pino referencia qual
é o pino que irá gerar a frequência (ligado ao positivo do
buzzer), a frequência é definida em hertz e a duração
(opcional) é em milissegundos.

46
Material necessário:
Exemplo 1 • 1 Arduino.
• 1 Buzzer.
Montagem • 1 Resistor de 330 ohms
• 1 Protoboard.
• Jumper cable.

Montagem:
• Conecte o GND do Arduino
ao pino negativo do buzzer.
• Coloque o resistor de 330Ω
ligado ao positivo do buzzer.
• Nesse resistor, conecte um
jumper até a porta digital 9
do Arduino.
47
Exemplo 1 O objetivo deste projeto é acionar um buzzer, alterando
sua frequência de vibração (o que altera o tom do ruído
Programação produzido pelo buzzer) e o tempo de duração do seu som.

• Faça alterações na frequência do buzzer, realize o upload do


código e veja o que acontece;
• Refaça o código, retirando o notone() e definindo a duração do
48 som pelo tone().
Estruturas Também chamadas de estruturas de tomada de decisão, são
utilizadas quando deseja-se testar uma ou mais condições durante
Condicionais a execução do programa.

if
Executa o bloco de código apenas se a condição é verdadeira. Se o
resultado do teste for falso, ignora o conjunto e segue para a
próxima etapa do algoritmo. Equivalente ao se...então. No Arduino
o então (then), não é utilizado.

Forma:

Exemplo:

49
Estruturas if...else

Condicionais
Permite uma escolha entre duas ações. Equivalente ao se...senão.
Forma: Exemplo:

if...else if...else
Permite fazer várias verificações em sequência na mesma estrutura.
Forma: Exemplo:

50
Estruturas switch
Uma alternativa ao if, é bom para comparar uma variável com
Condicionais muitos valores fixos. Nela não existe mais uma condição a ser
avaliada: o próprio valor de algum dado vai determinar
(condicionar) qual das alternativas de conjuntos de ações será
executada.
Componentes:
Forma: • switch: palavra-chave que inicia a
estrutura.
• case: compara a variável com um
valor específico.
• break: encerra o case atual e evita
que o código "vaze" para o próximo
case.
• default: (opcional) executa um código
se nenhum dos case for satisfeito.
51
Periféricos Um potenciômetro é um resistor variável no formato de
um botão giratório que fornece um valor analógico. Se
Potenciômetro girarmos o potenciômetro, alteramos a resistência em cada
lado do contato elétrico que vai conectado ao terminal
central do botão.

Essa mudança implica em uma mudança no valor


analógico de entrada. Quando o cursor for levado até o final
da escala, teremos 0 volts e assim obtendo o valor 0 na
entrada analógica. Quando giramos o cursor até o outro
extremo da escala, teremos 5 volts e assim tendo o valor
1023 na entrada analógica.

52
Periféricos
Potenciômetro

53
Exemplo 2 Utilizar um potenciômetro para controlar o nível de
intensidade da iluminação de um LED, quanto menor a
Nível LED resistência do potenciômetro, mais forte será a luz do LED,
quanto maior a resistência do potenciômetro, mais fraca
será a luz do LED.

Material necessário:
• 1 Arduino.
• 1 Potenciômetro.
• 1 Resistor de 330 ohms.
• 1 LED de qualquer cor.
• 1 Protoboard.
• Jumper cable.

54
Exemplo 2 Montagem:

Montagem • Conecte o pino da esquerda do


potenciômetro ao GND.
• Conecte o pino da direita do
potenciômetro ao 5V.
• Conecte um LED utilizando um
resistor de 330 ohms.
• Conecte o pino do centro do
potenciômetro no pino
analógico A1 do Arduino.
• Conecte o LED ao pino digital
13.

55
Exemplo 2 Informações:

Programação • Variável valor: foi criada para


receber o valor do potenciômetro
e variar com sua resistência;

• AnalogREAD(): Função aplicada


para ler um valor analógico de 0 a
5V e converter esse valor para um
número de 0 a 1023.

• analogWrite(): Função que


retorna valores analógicos de 0 a
1023 em PWM de 0 a 255.

56
Desafio 2 Utilizar um potenciômetro para controlar a frequência
que o LED irá piscar, ou seja, fazer o delay do LED depender
Frequência do potenciômetro.

Pisca LED Quanto maior a resistência mais lento o LED irá piscar,
quando menor a resistência, mais rápido o LED irá piscar.

57
Desafio 3 Repetir o desafio 2, mas dessa vez para controlar dois
LEDs piscando de forma intermitente, ou seja, alternados.
Frequência Quando maior a resistência, mais lento será a variação entre
os LEDs, quanto menor a resistência, mais rápido será a
Pisca LED variação entre os LEDs.
Intermitente

58
Periféricos Um botão (também chamado de push button) é um

Botão
dispositivo de entrada usado pra detectar quando algo foi
pressionado. No Arduino, ele é geralmente utilizado para
ligar/desligar uma função, acionar um motor, mudar o
estado de um LED.

59
Periféricos Quando um pino de entrada (INPUT) digital no Arduino

Botão
não está conectado a nada ou está mal conectado, ele fica
em um estado chamado flutuante (floating). Nesse estado O
valor lido pode ser HIGH ou LOW aleatoriamente.
Para corrigir isso é um utilizado um resistor conectado ao
botão, que dependendo da conexão pode ser chamado de
resistor de pull-down e resistor de pull-up.

60
Periféricos Resistor de Pull-Up

Botão
O resistor conecta o botão ao 5V. Garante que o pino
fique em nível lógico HIGH quando não está pressionado.
Quando o botão é pressionado, ele liga o pino diretamente
ao GND, ou LOW.

61
Periféricos Resistor de Pull-Down

Botão
O resistor conecta o botão ao GND. Garante que o pino
fique em nível lógico LOW quando não está pressionado.
Quando o botão é pressionado, ele liga o pino diretamente
ao 5V, ou HIGH.

62
Exemplo 3 Neste programa, enquanto o botão estiver pressionado o

Ligar LED
LED ficará acesso, caso contrário, o LED fica apagado.

com botão

63
Exemplo 4 Neste programa, ao apertar o botão e depois soltar, um

Ligar LED
LED acende e permanece ligado por um determinado
período de tempo.

com botão

64
Operações As expressões lógicas (AND, OR e NOT) são aplicadas em

Lógicas
circuitos em Arduino para realizar conjunções, disjunções e
negações, tal qual na montagem de circuitos lógicos,
geralmente aplicados junto de estruturas de decisão como o
if.

Operador Ação Significado


Verdadeiro se as duas condições forem
&& AND (e) verdadeiras
Verdadeiro se uma das duas condições forem
|| OR (ou) verdadeiras
! NOT (não) Inverte o valor lógico (negação)

65
Operações Exemplo AND:

Lógicas
Exemplo OR:

Exemplo NOT:

66
Desafio 4 Ligar um LED através de 2

Ligar LED
botões utilizando a lógica AND,
ou seja, o LED somente será

com botão
ligado quando os dois botões
forem pressionados juntos.

Obs: Fazer esse desafio de duas


formas, uma que o LED só acenda
enquanto os dois botões estiverem
pressionados ao mesmo tempo e
outra que o LED acenda por um
determinado tempo após pressionar
os dois botões ao mesmo tempo.

67
Desafio 5 Neste programa ao pressionar e soltar o botão o LED

Botão
acenderá, a pressionar e soltar o botão novamente o LED vai
apagar e assim sucessivamente.

pulsador Este programa segue a lógica toogle ou do botão pulsador,


onde será criado duas variáveis (ATUAL e ANTERIOR) onde a
primeira variável refere-se ao estado atual do LED (que pode
ser HIGH ou LOW) e a segunda variável corresponde ao
estado anterior do LED.

A variável correspondente ao estado atual deve ser o


INVERSO da variável correspondente ao estado anterior.

68
Desafio 5
Botão
pulsador

69
Desafio 6 Faça um programa com 4 entradas (4 botões: B1, B2, B3 e

Ligar LEDs
B4) de forma que esses botões alterem o acionamento de 5
LEDs de forma aleatória seguindo a lógica a seguir:

com botões • LED 1: Vermelho, aciona se B1, B2 e B3 forem acionados;

• LED 2: Verde, aciona se B1 ou B3 forem acionados;

• LED 3: Vermelho, aciona se B2 ou B4 forem acionados;

• LED 4: Verde: aciona se B3 e B4 forem acionados;

• LED 5: amarelo, aciona se todos os botões forem


acionados.
70
Comunicaçãoequipamentos eletrônicos (como o PC e o Arduino) pode
A comunicação e o envio de dados binários entre

e ser feita de duas formas:

Envio de dados

71
Comunicação utiliza duas conexões: o TX, ou transmissor e o RX ou
A comunicação serial mais comum é a RS 232, que

Serial receptor.

72
Comunicação duas conexões principais de comunicação serial.
Os dois primeiros pinos digitais do Arduino correspondem as

Serial RX-0 – Recebe dados;


TX-1 – Transmite dados.

Quando o monitor serial está


sendo utilizado não é possível
utilizar esses dois pinos do
Arduino.

73
Comunicação
Serial

74
Monitor O Monitor Serial é uma ferramenta do Arduino (IDE) que
serve como uma janela de comunicação entre o Arduino e o
Serial computador, via porta USB.
O monitor serial permite:
•Enviar dados do computador para o
Arduino (por exemplo, escrever
comandos ou números).

•Receber dados do Arduino e


visualizar na tela (por exemplo,
imprimir valores de sensores ou
mensagens de debug).

75
Comandos do [Link](velocidade);
Inicializa a comunicação serial com velocidade sendo a taxa de
Monitor transmissão de dados (em bits por segundo), o padrão é o

Serial
valor de 9600. Essa função é usada no void setup().

[Link](valor);
Envia dados para a porta serial sem adicionar uma nova linha.
Essa função é usada no void loop().

[Link](valor);
Semelhante ao anterior, mas cria uma nova linha toda vez que
chega um novo dado. Essa função é usada no void loop().

76
Exemplo 5 Utilizar um botão, quando esse botão for pressionado, printar
uma mensagem na tela do monitor Serial se o botão for
Mostrar um pressionado.

valor na tela

77
Exemplo 6 Realizar a contagem de quantas vezes um botão foi
pressionado e mostrar esse valor na tela do monitor serial.
Contagem
botão

78
Exemplo 6 Expandir o exemplo definindo uma condição para ligar um LED
a partir de um número de vezes que o botão foi pressionado.
Contagem
botão

79
Exemplo 6 Comando while (enquanto) aplicado para não contar um novo
valor do botão enquanto ele estiver pressionado (nível lógico
Contagem 0).

botão

80
Comandos do [Link]();
Verifica o número de caracteres (letras, números, símbolos)
Monitor foram recebidos pela serial do Arduino.

Serial
Essa função é usada no void loop().

[Link]();
Realiza a leitura de um caractere recebido pelo monitor serial.
Essa função é usada no void loop().

81
Exemplo 7 Criar um programa para que armazena uma variável do tipo
char e printa os caracteres escritos no monitor serial.
Leitura

82
Exemplo 8 Criar um programa para que ligue e desligue um LED através
de dois caracteres da serial.
Ligar LED
com a serial

83
Comandos do [Link]();
Realiza a leitura de uma variável do tipo string (pode ser uma
Monitor palavra ou mesmo um texto completo) recebido pelo monitor

Serial
serial. Essa função é usada no void loop().

84
Exemplo 9 Criar um programa para que ligue e desligue um LED através
de duas strings (palavras) “LIGA” e “DESLIGA” na serial.
Ligar LED
com String

85
Exemplo 9 [Link]();
Define o tempo que o monitor deve fazer a leitura da String.
Ligar LED Essa função é usada no void setup().

com String

86
Exemplo 9 equalsIgnoreCase();
Permite comparar strings sem se importar com caracteres
Ligar LED maiúsculos ou minúsculos.
Essa função é usada no void loop().
com String
\r \n
Os caracteres \r e \n são caracteres de controle
empregados para formatar textos na serial do Arduino:

\n – new line: nova linha, tem a função de fazer o cursor


pular para a próxima linha;
\r – return: tem a função de fazer o cursor retornar para
o começo da linha.

87
Exemplo 9
Ligar LED
com String

88
Desafio
Ligar vários
LEDs

89
Display de O LCD (Display de Cristal Líquido) é um tipo de tela muito
usada em projetos com Arduino para exibir informações de
LCD forma visual, como textos e números. O modelo mais comum
é o LCD 16x2, que possui duas linhas com 16 caracteres cada.

Esse tipo de display é útil em projetos que precisam


mostrar dados ao usuário, como medições de sensores,
mensagens de status ou menus.

90
Display de O LCD pode ser controlado por microcontroladores como o
Arduino através da biblioteca LiquidCrystal, que facilita
LCD comandos como posicionar o cursor, limpar a tela e escrever
textos.

// adiciona a biblioteca especifica para LCD


#include <LiquidCrystal.h>

LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

91
Display de
LCD

92
Primeiro Fazer um programa que coloque a mensagem “PRIMEIRO
TESTE” na tela do LCD. A sequência de conexão dos pinos é
programa essa:
Display de • VSS - GND.

LCD
• VDD - 5V.
• V0 - Pino central de um potenciômetro.
• RS - 12
• RW - GND.
• E - 11.
• (D4-D7) – (5, 4, 3, 2).
• A - 5V;
• K - GND.

93
Primeiro
programa
Display de
LCD

94
Primeiro
programa
Display de
LCD

95
Primeiro
programa
Display de
LCD

96
Segundo
programa
Display de
LCD

97
Terceiro
programa
Display de
LCD

98
Quarto
programa
Display de
LCD

99
Quinto
programa
Display de
LCD

100
Sexto
programa
Display de
LCD

101
Entradas
Analógicas

102
Entradas
Analógicas

103
Entradas
Analógicas

104
Entradas
Analógicas

105
Parâmetros Por terem mais de um valor, as entradas analógicas possuem
alguns parâmetros que devem ser destacados, o primeiro
das Entradas deles é o Range.
Analógicas Range: valor mínimo e máximo que a entrada analógica pode
ter.

106
Parâmetros
das Entradas
Analógicas

107
Parâmetros Resolução: medida em bits. Define a exatidão da leitura do
sinal. Quando maior o número de bits, maior a exatidão da
das Entradas leitura.

Analógicas No Arduino UNO a resolução das variáveis analógicas é de 10


bits:

108
Entradas
Analógicas
Arduino UNO

109
Entradas analogRead(); função do Arduino que lê o valor de um pino
do Arduino conectado a uma entrada analógica.
Analógicas
Arduino UNO

110
Periféricos O LDR (Light Dependent Resistor) é um componente que varia
a sua resistência conforme o nível de luminosidade que incide
LDR sobre ele. A resistência do LDR varia de forma inversamente
proporcional à quantidade de luz incidente sobre ele.

Quanto maior a luminosidade, menor será a resistência, por


outro lado, no Arduino, maior será o valor presente na
entrada analógica. Quanto menor for a luminosidade, maior
será a resistência, ou seja, menor será o valor na entrada
analógica do Arduino.

111
Exemplo 10 O objetivo deste projeto é controlar o estado de um LED
(aceso ou apagado) através da verificação de luminosidade do
LDR e LED ambiente utilizando um sensor de luminosidade LDR.

Para monitorar o valor gerado pelo LDR vamos estabelecer a


comunicação serial entre o Arduino e o computador e, em
seguida, utilizar o Serial Monitor da IDE do Arduino para
monitorar.

112
Exemplo 10
LDR e LED

113
Exemplo 10
LDR e LED

114
Periféricos Um Sensor Óptico Reflexivo é um componente que tem
um par emissor e receptor infravermelho, também
Sensor óptico chamado de TCRT5000. O funcionamento é:

• O LED infravermelho (o que tem a "bolinha


azulada") emite luz invisível.

• O fototransistor detecta essa luz se ela refletir em


algum objeto claro (não detecta objetos pretos).

Quando um objeto é detectado pelo sensor, é porque o


feixe foi cortado, assim o fototransistor vai de HIGH para
LOW.
115
Periféricos
Sensor óptico

116
Exemplo 11 Ligar um sensor óptico ao Arduino e mostrar no Monitor Serial
a mensagem “OBJETO DETECTADO” caso um objeto se
Sensor óptico aproxime do sensor e a mensagem “NADA DETECTADO” caso
não haja nenhum objeto detectado.

117
Desafio 7 Este projeto irá utilizar um Sensor Óptico Reflexivo TCRT5000
para implementar um interruptor de proximidade. Desta
Sensor óptico forma, não será necessário que a pessoa toque o sensor para
acender ou apagar um Led.

Esse tipo de circuito é muito útil quando desejamos manter a


pessoa “isolada” do circuito elétrico evitando choques
indesejáveis.

118
Desafio 7
Sensor óptico

119
Desafio 7
Sensor óptico

120
Periféricos O sensor HC-SR04 permite detectar objetos que lhe estão
distantes entre 1 cm e 200 cm. Este sensor emite um sinal
Sensor ultrassônico que reflete em um objeto e retorna ao sensor,
ultrassônico
permitindo deduzir a distância do objeto ao sensor tomando o
tempo da trajetória do sinal. A velocidade do sinal no ar é de
aproximadamente 340 m/s (velocidade do som). O sensor
possui 4 pinos, sendo:

• VCC - Alimentação de 5V (+).


• TRIG - Pino de gatilho (trigger), responsável por enviar
o sinal ultrassônico.
• ECHO - Pino de eco (echo), responsável por receber o
sinal ultrassônico refletido pelo objeto.
• GND – Terra (-).
121
Exemplo 12 O objetivo deste projeto é utilizar o sensor ultrassônico HC-
SR04 para medir distâncias entre o sensor e um objeto.
Sensor Mostrar na tela do Monitor Serial o valor da distância.
ultrassônico

122
Exemplo 12 A ligação dos pinos do sensor ultrassônico é feita de acordo
com a imagem abaixo, onde:
Sensor
• Pino GND do sensor ligado ao
ultrassônico GND do Arduino.
• Pino VCC do sensor ligado ao
5V do Arduino.
• Pino TRIG do sensor ligado ao
pino 13 do Arduino.
• Pino ECHO do sensor ligado
ao pino 12 do Arduino.

123
Exemplo 12 No void setup(), os pinos trig e
echo serão definidos de forma
Sensor diferente, o pino que envia o

ultrassônico
sinal ultrassônico é uma saída e
o que recebe o sinal é uma
entrada. Assim:

• pinMode(echo, INPUT);
• pinMode(trig, OUTPUT);

124
Exemplo 12 No void loop(), o pino trig deve começar desligado e após um
pequeno delay em microssegundos ligar e enviar o sinal e
Sensor após isso desligar novamente.

ultrassônico digitalWrite(trig, LOW); // Pino trigger com pulso LOW


delayMicroseconds(10); // Delay de 10 microssegundos

digitalWrite(trig, HIGH); // Pino trigger com pulso HIGH


delayMicroseconds(10); // Delay de 10 microssegundos

digitalWrite(trig, LOW); // Pino trigger com um pulso LOW (de


novo)

125
Exemplo 12 A função pulseIN(pino,valor) captura a duração de um
pulso. No caso utilize uma variável para receber a duração que
Sensor um pulso leva pra chegar no pino do echo:

ultrassônico
int duracao = pulseIn(echo,HIGH);

Uma outra variável lê a duração do tempo que o pulso leva


para chegar no pino do echo e calcula a distância do objeto a
partir da velocidade do som, que é 0,034 cm/µs. Como o sinal
vai e volta, divide-se por 2:
int distancia = duracao /58

126
Exemplo 12
Sensor
ultrassônico

127
Periféricos Um servo motor é um motor com controle de posição
muito utilizado em projetos de robótica, automação e
Servo Motor eletrônica embarcada, como com Arduino. Ele é chamado de
"servo" porque possui um sistema de realimentação interna
que permite controlar com precisão o ângulo de rotação.

O modelo mais comum para aplicações básicas em


Arduino é o Micro Servo 9g SG90 da Tower Pro.

128
Periféricos Características do Micro Servo 9g SG90 da Tower Pro:

Servo Motor • Peso: ~9 gramas.


• Tensão de operação: entre 4,8V e 6V.
• Controle por PWM (modulação por largura de pulso).
• Ângulo de rotação: 180°

129
Periféricos Exemplos de aplicações de um servo motor:

Servo Motor • Movimentar equipamento mecânicos com alta precisão (por


exemplo, braços robóticos, alavancas, mecanismos de portas).
• Projetos com Arduino ou Raspberry Pi, onde é necessário
controlar movimentos em um intervalo de 0° a 180°.
• Modelismo: Em aviões, barcos ou carros de controle remoto para
controlar lemes, aceleradores etc.
• Abrir e fechar mecanismos, como portas automáticas de
maquetes ou dispensadores.
• Controle de câmeras ou sensores, como sistemas de pan-tilt.

130
Periféricos #include <Servo.h> // Inclui a biblioteca do servo motor.

Servo Motor Servo motor; // A função “Servo” cria um servo objeto para
controlar um servo motor.

Comandos [Link](9); // Liga o servo objeto a um pino com


entrada PWM do Arduino.

[Link](valor); // Define o ângulo do motor.

[Link](valor); // Lê o último ângulo da função write.

[Link](); // Desativa o controle do servo motor


131
Exemplo 13 Montar um circuito onde um potenciômetro controla o
ângulo do servo motor.
Servo Motor e
Montagem:
Potenciômetro
Pinos Servo Motor:
• Marrom/Preto – GND;
• Vermelho – 5V;
• Laranja – Pino PWM.

Pinos Potenciômetro:
• Esquerda – GND;
• Direita – 5V;
• Central – Pino Analog.
132
Exemplo 13 Como a variação do potenciômetro é de 0 a 1023 e o do servo
motor é de 0 a 180, utilizamos a função map(), como o objetivo de
Servo Motor e converter o range do potenciômetro com o do servo motor. A função
map() é definida como:
Potenciômetro
map(valor, de Min, de Max, para Min, para Baixo)

Onde:
• valor: valor a ser convertido.
• de Min: valor mínimo do intervalo do valor.
• de Max: valor máximo do intervalo do valor.
• para Min: valor mínimo do intervalo a ser convertido.
• para Max: valor máximo do intervalo a ser convertido.

133
Exemplo 13
Servo Motor e
Potenciômetro

134
Exemplo 14 Montar um circuito onde digita-se no Monitor Serial o
ângulo do servo motor.
Servo Motor e
Monitor Serial

135
Exemplo 15 Montar um circuito onde o ângulo do Servo Motor varia a
uma taxa constante.
Variação do
Servo Motor

136
Exemplo 16
Servo Motor
com botão

137
Exemplo 16
Servo Motor
com botão

138
Exemplo 17
Servo Motor
E Sensor
ultrassônico

139
Periféricos O módulo a relé do Arduino serve para ligar e desligar cargas
elétricas de maior tensão e corrente do que o próprio Arduino pode
Módulo a relé controlar diretamente. Ele age como uma espécie de "interruptor
controlado eletronicamente", permitindo que o Arduino, que opera
com 5V e corrente muito baixa, acione dispositivos como:

• Lâmpadas de 127V ou 220V


• Motores elétricos
• Eletrodomésticos
• Bombas hidráulicas
• Ventiladores, etc

140
Periféricos • O Arduino envia um sinal digital (por exemplo, HIGH ou LOW)
para o módulo.
Módulo a relé • O módulo possui um relé eletromecânico, que fecha (liga) ou
abre (desliga) o circuito da carga.
Funcionamento • O relé possui 3 terminais chamados COM (comum), NO
(normalmente aberto) e NC (normalmente fechado).

141
Periféricos • Sem sinal, a bobina está desernergizada, a ligação está entre o
COM e o NC e a carga (lâmpada) está desligada.
Módulo a relé
• Com sinal, a bobina está energizada, a ligação está entre o COM
Funcionamento e o NO e a carga (lâmpada) está energizada.

142

Você também pode gostar