apostila basic
TRANSCRIPT
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 1/50
APOSTILA
ARDUINO BASIC
ApostilaARDUINO BASIC
Volume
1
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 2/50
ARDUINO BASIC REV1.0
LGM TECNOLOGIA E AUTOMAÇÃO
Prof. Espc. Glauco Aguiar /Prof. Espc. Luiz [email protected]
Manaus – AM2014
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 3/50
ARDUINO BASIC
2
ARDUINO BASIC
SUMÁRIO
INTRODUÇÃO 4
O QUE É O ARDUINO? 4
O ARDUINO UNO 5
OUTROS ARDUINOS 6
IDE 6
CONFIGURAÇÃO 6
ESTRUTURA BÁSICA DO SKETCH 7
COMANDOS BÁSICOS 7
EXEMPLOS: 7
01- BLINK (HELLO WORLD NO ARDUINO) 8
02-VARIAÇÃO DO BLINK 9
ESTRUTURAS CONDICIONAIS (IF E ELSE) 10
03 - FADE 11
04- LED SERIAL MONITOR 12
ESTRUTURA CONDICIONAL WHILE 13
05- LEITURA DE BOTÃO COM O SERIAL MONITOR 14
06- BOTÃO ACIONANDO SAÍDA DIGITAL 15
ENTENDENDO MELHOR AS VARIÁVEIS 16
07- DEBOUNCING COM BOTÃO 17
08- OPERADORES LÓGICOS 18
09- LENDO POTENCIÔMETRO COM PORTA SERIAL 20 10- CONTROLANDO BRILHO DO LED COM POTENCIÔMETRO 21
11- LENDO TEMPERATURA PELO SERIAL MONITOR 22
12- AUTOMAÇÃO LED COM LDR 23
13- ACIONAMENTO DE RELÉS 25
14- ALARME POR TEMPERATURA 26
15- PIEZO COMO SENSOR DE IMPACTO 27
16- SENSOR DE LINHA PRETA COM IR 28
17- SENSOR DE PROXIMIDADE POR IR 29
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 4/50
ARDUINO BASIC
3
18- SENSOR DE PASSAGEM 30
19- SEMÁFORO 31
20- SEMÁFORO INTERATIVO 33
21- CONTADOR COM DISPLAY DE 7 SEGMENTOS 35
22- SENSOR DE PORTA / JANELA 37
23- SENSOR DE INCLINAÇÃO 39
24- VU METER 41
25- ACIONANDO LED COM SENHA 42
26- TERMÔMETRO LCD COM BARGRAPH 45
BIBLIOGRAFIA 49
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 5/50
ARDUINO BASIC
4
Introdução
_________________________________________________________________________
O que é o Arduino?
O Arduino, amigo do peito em italiano, faz parte do conceito de hardware esoftware livre e está aberto para uso e contribuição de toda sociedade. O conceitoArduino surgiu na Itália, em 2005, com o objetivo de criar um dispositivo que fosseutilizado em projetos/protótipos construídos de uma forma menos dispendiosa do queoutros sistemas disponíveis no mercado. Ele pode ser usado para desenvolverartefatos interativos stand-alone ou conectados ao computador, smartphones, tabletse uma infinidade de dispositivos.
Em termos práticos, um Arduino é um pequeno computador que você podeprogramar para processar entradas e saídas entre o dispositivo e os componentesexternos conectados a ele. O Arduino é o que chamamos de plataforma decomputação física ou embarcada, ou seja, um sistema que pode interagir com seuambiente por meio de hardware e software. O diagrama abaixo resume bem o uso doArduino.
O equipamento é uma plataforma de computação física: são sistemas digitaisligados a sensores e atuadores, que permitem construir sistemas que percebam arealidade e respondem com ações físicas. Ele é baseado em uma placamicrocontrolada, com acessos de Entrada/Saída (I/O) Analógicos e Digitais, sobre aqual foram desenvolvidas bibliotecas com funções que simplificam a sua programação,por meio de uma sintaxe similar à das linguagens C e C++ (Wiring).
O Arduino utiliza o microcontrolador Atmega. Um microcontrolador (tambémdenominado MCU) é um computador em um chip, que contém um microprocessador,memória e periféricos de entrada/saída. Ele pode ser embarcado no interior de algum
outro dispositivo, que, neste caso, é o Arduino, para que possa controlar suas funçõesou ações.
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 6/50
ARDUINO BASIC
5
O Arduino UNO
O Arduino UNO versão R3 é composto de:
6 Entradas Analógicas;
14 (I/O) Digitais (6 PWM);
Terminais de Alimentação (5v, 3.3v, GND);
Tensão de operação: 5V;
Tensão de entrada (recomendada):7-12V;
Tensão de entrada (limites): 6-20V;
Microcontrolador Atmega328; Memória Flash 32 KB (ATmega328) dos quais 0.5 KB usados pelo bootloader;
SRAM 2 KB (ATmega328);
EEPROM 1 KB (ATmega328);
Velocidade de Clock: 16 MHz;
USB;
Botão de Reset;
ICSP;
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 7/50
ARDUINO BASIC
6
Outros Arduinos
IDE
_______________________________________________________________________
Configuração
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 8/50
ARDUINO BASIC
7
Estrutura Básica do Sketch
_________________________________________________________________________
Comandos Básicos
pinMode() – define um pino com entrada ou saída
digitalWrite() – liga ou desliga uma saída digital analogWrite() – Uso do PWM de 0 a 255
delay() – “espera” um determinado tempo
Exemplos:
pinMode(número do pino, OUTPUT);
digitalWrite(número do pino, valor); valor é LOW ou HIGH (0 ou 1, 0V ou 5V)
analogWrite(número do pino, valor); Valor de 0 a 255;
delay(milisegundos);
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 9/50
ARDUINO BASIC
8
01- Blink (Hello World no Arduino)
_________________________________________________________________________
Dificuldade:Motivação: Aprender a utilizar a IDE, fazer upload do código e usar a estrutura
básica dos sketchs para arduino.
Material: Arduino UNO;
Cabo USB A para B.
Montagem:
O Sketch:
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 10/50
ARDUINO BASIC
9
02-Variação do Blink
_________________________________________________________________________
Dificuldade:Motivação: Aprender a lidar com o protoboard, resistores, led e variações na
estrutura básica dos sketchs e saídas digitais.
Material: Arduino UNO;
Cabo USB A para B;
Protoboard;
Resistor 330Ω; LED;
Alguns Jumpers;
Montagem:
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 11/50
ARDUINO BASIC
10
O Sketch:
Estruturas Condicionais (If e Else)
_________________________________________________________________________
if/else permite que você faça múltiplos testes agrupados entre si. Por exemplo,se você quiser testar um input analógico e baseado no seu valor realizar certa tarefa
ou caso contrário realizar outra tarefa, por exemplo: se o input for menor que 500 faça
alguma coisa, caso contrário faça outra:
if (input < 500)
// fazer Aelse // caso contrário, isto é input > 500
// fazer B
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 12/50
ARDUINO BASIC
11
else pode executar outro teste de if, e então testes múltiplos e mutualmenteexclusivos podem ser executados ao mesmo tempo:
if (input < 500)
// fazer Aelse if (input >= 1000)
// fazer Belse
// fazer C
Você pode ter um número ilimitado desses ramos condicionais.
03 - Fade
_________________________________________________________________________
Dificuldade:Motivação: Aprender a utilizar Operadores aritiméticos e de comparação, o uso dos
pinos com PWM.
Material: Arduino UNO;
Cabo USB A para B;
Protoboard;
Resistor 330Ω;
LED;
Alguns Jumpers.
Montagem:Mesma da prática 02.
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 13/50
ARDUINO BASIC
12
O Sketch:
04- Led Serial Monitor
_________________________________________________________________________
Dificuldade:Motivação: Aprender a utilizar a comunicação serial. Estrutura if/else.
Material: Arduino UNO;
Cabo USB A para B;
Protoboard;
3 Resistores de 330Ω;
LEDs;
Alguns Jumpers.
Montagem:
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 14/50
ARDUINO BASIC
13
O Sketch:
Estrutura condicional while
_________________________________________________________________________
Os loops while vão rodar continuamente e infinitamente, até que a expressão
dentro dos parêntesis, () torne-se falsa. A variável testada deve mudar dinamicamente,
caso contrário o loop while nunca terminará. Algo como uma variável sendo
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 15/50
ARDUINO BASIC
14
incrementada, ou uma condição externa, como o teste de um sensor ou um contador
de tempo.
while(expressão)// instrução(s)
05- Leitura de botão com o serial Monitor
_________________________________________________________________________
Dificuldade:Motivação: Aprender a utilizar a leitura digital e aperfeiçoar a comunicação serial.
Material: Arduino UNO;
Cabo USB A para B.
Protoboard;
Resistor de 10KΩ;
Chave táctil;
Alguns Jumpers.
Montagem:
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 16/50
ARDUINO BASIC
15
O Sketch:
06- Botão acionando saída Digital _________________________________________________________________________
Dificuldade:Motivação: Aprender a utilizar resistor interno Pull-UP e interagir entrada do mundo
real com saída física.
Material: Arduino UNO;
Cabo USB A para B; Protoboard;
Chave táctil;
Alguns Jumpers.
Montagem:
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 17/50
ARDUINO BASIC
16
O Sketch:
Entendendo melhor as variáveis
_________________________________________________________________________
Uma variável é um recurso utilizado para armazenar dados em um programa
de computador. Todo computador possui algum tipo de memória, e uma variável
representa uma região da memória usada para armazenar uma determinada
informação. Essa informação pode ser, por exemplo, um número, um caractere ou
uma sequência de texto. Para podermos usar uma variável em um programa Arduino,
nós precisamos fazer uma declaração de variável, como por exemplo:
int led;
Nesse caso estamos declarando uma variável do tipo int chamada led . Em seguida
nós falaremos mais sobre o tipo de dado de uma variável.
O tipo de dado de uma variável significa, como o próprio nome diz, o tipo de
informação que se pode armazenar naquela variável. Em muitas linguagens de
programação, como C++, é obrigatório definir o tipo de dado no momento da
declaração da variável, como vimos na declaração da variável led acima. No caso dos
módulos Arduino que usam processador ATmega, os tipos mais comuns de dados que
utilizamos são:
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 18/50
ARDUINO BASIC
17
boolean : valor verdadeiro ( true ) ou falso ( false )
char : um caractere
byte : um byte, ou sequência de 8 bits
int : número inteiro de 16 bits com sinal (-32768 a 32767)
unsigned int : número inteiro de 16 bits sem sinal (0 a 65535)
long : número inteiro de 16 bits com sinal (-2147483648 a 2147483647)
unsigned long : número inteiro de 16 bits sem sinal (0 a 4294967295)
float : número real de precisão simples (ponto flutuante)
double : número real de precisão dupla (ponto flutuante)
string : sequência de caracteres
void : tipo vazio (não tem tipo)
07- Debouncing com botão
_________________________________________________________________________
Dificuldade:Motivação: Aprender a utilizar Técnica Debouncing, função millis no lugar do delay.
Material: Arduino UNO;
Cabo USB A para B;
Protoboard;
Chave táctil;
Alguns Jumpers.
Montagem: A mesma da experiência 06.
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 19/50
ARDUINO BASIC
18
O Sketch:
08- Operadores lógicos
_________________________________________________________________________
Dificuldade:Motivação: Aprender a utilizar operadores lógicos, OR, XOR e AND
Material: Arduino UNO;
Cabo USB A para B;
Protoboard;
3 Resistores de 330Ω e 2 resistores de 10KΩ;
2 Chaves táctil;
Alguns Jumpers;
3 LEDs.
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 20/50
ARDUINO BASIC
19
Montagem:
O Sketch:
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 21/50
ARDUINO BASIC
20
09- Lendo Potenciômetro com Porta Serial
_________________________________________________________________________
Dificuldade:Motivação: Aprender a utilizar o potênciometro e entradas analógicas.
Material: Arduino UNO;
Cabo USB A para B.
Protoboard;
Potenciômetro de 10KΩ;
Alguns Jumpers.
Montagem:
O Sketch:
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 22/50
ARDUINO BASIC
21
10- Controlando Brilho do Led com Potenciômetro
_________________________________________________________________________
Dificuldade:Motivação: Aprender a controlar saídas analógicas através de entradas analógicas.
Material: Arduino UNO;
Cabo USB A para B;
Protoboard;
LED;
Resistor de 330Ω; Potenciômetro de 10KΩ;
Alguns Jumpers.
Montagem:
O Sketch:
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 23/50
ARDUINO BASIC
22
11- Lendo temperatura pelo Serial Monitor
_________________________________________________________________________
Dificuldade:Motivação: Aprender usar bibliotecas, uso do termistor.
Material: Arduino UNO;
Cabo USB A para B;
Protoboard;
LED;
Resistor de 10KΩ; Termistor NTC 10KΩ;
Alguns Jumpers.
Montagem:
O Sketch:
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 24/50
ARDUINO BASIC
23
12- Automação LED com LDR
_________________________________________________________________________
Dificuldade:Motivação: Aprender a utilizar laço for, uso do LDR e amostragem.
Material: Arduino UNO;
Cabo USB A para B;
Protoboard;
Resistor 330Ω;
Resistor 10KΩ; LDR;
LED Vermelho;
Alguns Jumpers.
Montagem:
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 25/50
ARDUINO BASIC
24
O Sketch:
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 26/50
ARDUINO BASIC
25
13- Acionamento de relés
_________________________________________________________________________
Dificuldade:Motivação: Aprender a utilizar o relé para controle de saídas AC, uso do transistor e
diodo. Material:
Arduino UNO;
Cabo USB A para B;
Protoboard;
1 Relé 5V; 1 Diodo 1N4007;
1 Transistor BC548;
2 Resistores de 10KΩ;
1LED.
Montagem:
O Sketch:
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 27/50
ARDUINO BASIC
26
14- Alarme por Temperatura
_______________________________________________________________________
Dificuldade:Motivação: Aprender a utilizar o buzzer, alarme stand-alone. Material:
Arduino UNO;
Cabo USB A para B;
Protoboard;
Resistor 10KΩ;
Termistor NTC 10KΩ; Buzzer;
Alguns Jumpers.
Montagem:
O Sketch:
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 28/50
ARDUINO BASIC
27
15- Piezo como sensor de impacto
_________________________________________________________________________
Dificuldade:Motivação: Aprender a utilizar o Piezo, uso de limiares
Material: Arduino UNO;
Cabo USB A para B;
Protoboard;
1 Piezo;
1 Resistor de 1MΩ;
Alguns Jumpers;
Montagem:
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 29/50
ARDUINO BASIC
28
O Sketch:
16- Sensor de linha preta com IR
_________________________________________________________________________
Dificuldade:Motivação: Uso do Infra Vermelho. Básico para a construção de seguidores de linha.
Material: Arduino UNO;
Cabo USB A para B;
Protoboard;
2 Resistores de 330Ω;
1 Resistor de 10K Ω;
Emissor e Receptor IR;
Alguns Jumpers.
Montagem:
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 30/50
ARDUINO BASIC
29
O Sketch:
17- Sensor de proximidade por IR
_________________________________________________________________________
Dificuldade:Motivação: Aprender a fazer um sensor de proximidade com IR. Material:
Arduino UNO;
Cabo USB A para B;
Protoboard;
Resistor 10KΩ;
2 Resistores de 330Ω;
Alguns Jumpers; Emissor e Receptor IR.
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 31/50
ARDUINO BASIC
30
Montagem:
O Sketch:
18- Sensor de Passagem
_________________________________________________________________________
Dificuldade:
Motivação: Aprender a construir um Sensor de Passagem por IR.
Material: Arduino UNO;
Cabo USB A para B;
Protoboard;
Resistor 10KΩ;
2 Resistores de 330Ω;
Alguns Jumpers;
Emissor e Receptor IR.
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 32/50
ARDUINO BASIC
31
Montagem:
O Sketch:
19- Semáforo
_________________________________________________________________________
Dificuldade:Motivação: Aprender a realizar um semáforo Simples.
Material: Arduino UNO;
Cabo USB A para B; Protoboard;
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 33/50
ARDUINO BASIC
32
LED Vermelho;
LED Amarelo;
LED Verde; 3 Resistores de 330Ω;
Alguns Jumpers.
Montagem:
O Sketch:
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 34/50
ARDUINO BASIC
33
20- Semáforo Interativo
_________________________________________________________________________
Dificuldade:Motivação: Aperfeiçoar o uso da função millis e o desenvolvimento de semáforos
interativos e uso de funções gerais.
Material: Arduino UNO;
Cabo USB A para B;
Protoboard;
Resistor 330Ω; Resistor 10KΩ;
Chave Táctil;
LED Vermelho;
LED Amarelo;
LED Verde;
Alguns Jumpers.
Montagem:
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 35/50
ARDUINO BASIC
34
O Sketch:
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 36/50
ARDUINO BASIC
35
21- Contador com display de 7 Segmentos
_________________________________________________________________________
Dificuldade:Motivação: Aprender sobre displays, como fazer contadores
Material: Arduino UNO;
Cabo USB A para B;
Protoboard;
Resistor 330Ω;
Resistor 10KΩ; Chave Táctil;
Display de 7 segmentos;
Alguns Jumpers.
Montagem:
O Sketch:
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 37/50
ARDUINO BASIC
36
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 38/50
ARDUINO BASIC
37
22- Sensor de Porta / Janela
_________________________________________________________________________
Dificuldade:Motivação: Aprender a utilizar o Reed Switch e o LED RGB. Desenvolvimento de
sensores de abertura de janela e porta.
Material: Arduino UNO;
Cabo USB A para B;
Reed Switch;
3 Resistores de 330Ω; 1 Resistor de 10kΩ;
1 LED RGB.
Montagem:
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 39/50
ARDUINO BASIC
38
O Sketch:
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 40/50
ARDUINO BASIC
39
23- Sensor de Inclinação
_________________________________________________________________________
Dificuldade:Motivação:Material:
Arduino UNO;
Cabo USB A para B;
Chave de Mercúrio;
1 Resistor de 330Ω;
1 Resistor de 10kΩ; 1 LED Vermelho;
Alguns Jumpers.
Montagem:
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 41/50
ARDUINO BASIC
40
O Sketch:
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 42/50
ARDUINO BASIC
41
24- VU Meter
_________________________________________________________________________
Dificuldade:Motivação: Aprender a desenvover um detector de nível sonoro (VU meter)
utilizando o microfone de eletreto e um circuito amplificador simples e vetores. Material:
Arduino UNO;
Cabo USB A para B;
Microfone de Eletreto;
Transistor 2N2222; Capacitor de 100nF;
1 Resistor de 100KΩ;
10 Resistores de 330Ω;
3 Resistores de 10KΩ;
10 Leds;
1 Chave Táctil;
Alguns Jumpers;
Montagem:
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 43/50
ARDUINO BASIC
42
O Sketch:
25- Acionando Led com Senha
_________________________________________________________________________
Dificuldade:Motivação: Aprender a desenvolver o uso de senhas e vetores. Material:
Arduino UNO;
Cabo USB A para B;
1 Resistor de 330Ω;
5 Resistores de 10kΩ; 5 Chaves Táctil;
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 44/50
ARDUINO BASIC
43
LED Verde
Alguns Jumpers
Montagem:
O Sketch:
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 45/50
ARDUINO BASIC
44
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 46/50
ARDUINO BASIC
45
26- Termômetro LCD com Bargraph
_________________________________________________________________________
Dificuldade:Motivação: Aprender o uso do Display LCD. Material:
Arduino UNO;
Cabo USB A para B;
Display LCD 16x2;
Resistor 10kΩ;
Potenciômetro 10kΩ; Termistor NTC 10kΩ;
Alguns Jumpers.
Montagem:
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 47/50
ARDUINO BASIC
46
O Sketch:
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 48/50
ARDUINO BASIC
47
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 49/50
ARDUINO BASIC
48
Parabéns!!
Você deu os primeiros passos para ser umARDUINOMAKER!
7/23/2019 Apostila BASIC
http://slidepdf.com/reader/full/apostila-basic 50/50
ARDUINO BASIC
Bibliografia
_________________________________________________________________________
[1] McRoberts, Michael Arduino básico. São Paulo : Novatec Editora, 2011. [2] http://www.sabereletronica.com.br/secoes/leitura/1307 [3] http://arduino.cc/en/Reference/HomePage [4] http://www.arduino.cc [5] http://www.labdegaragem.com [6] BANZI, Massimo; Getting Started With Arduino; O’Reilly Media Inc.; 2010.