Vous êtes sur la page 1sur 50

Volume

1
APOSTILA

ARDUINO BASIC

Apostila
ARDUINO BASIC

ARDUINO BASIC REV1.0

LGM TECNOLOGIA E AUTOMAO


Prof. Espc. Glauco Aguiar /Prof. Espc. Luiz Garcia
lgmautomacao@gmail.com

Manaus AM
2014

ARDUINO BASIC

ARDUINO BASIC
SUMRIO
INTRODUO

O QUE O ARDUINO?

O ARDUINO UNO

OUTROS ARDUINOS

IDE

CONFIGURAO

ESTRUTURA BSICA DO SKETCH

COMANDOS BSICOS

EXEMPLOS:

01- BLINK (HELLO WORLD NO ARDUINO)

02-VARIAO DO BLINK

ESTRUTURAS CONDICIONAIS (IF E ELSE)

10

03 - FADE

11

04- LED SERIAL MONITOR

12

ESTRUTURA CONDICIONAL WHILE

13

05- LEITURA DE BOTO COM O SERIAL MONITOR

14

06- BOTO ACIONANDO SADA DIGITAL

15

ENTENDENDO MELHOR AS VARIVEIS

16

07- DEBOUNCING COM BOTO

17

08- OPERADORES LGICOS

18

09- LENDO POTENCIMETRO COM PORTA SERIAL

20

10- CONTROLANDO BRILHO DO LED COM POTENCIMETRO

21

11- LENDO TEMPERATURA PELO SERIAL MONITOR

22

12- AUTOMAO LED COM LDR

23

13- ACIONAMENTO DE RELS

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

ARDUINO BASIC
18- SENSOR DE PASSAGEM

30

19- SEMFORO

31

20- SEMFORO INTERATIVO

33

21- CONTADOR COM DISPLAY DE 7 SEGMENTOS

35

22- SENSOR DE PORTA / JANELA

37

23- SENSOR DE INCLINAO

39

24- VU METER

41

25- ACIONANDO LED COM SENHA

42

26- TERMMETRO LCD COM BARGRAPH

45

BIBLIOGRAFIA

49

ARDUINO BASIC
Introduo
_________________________________________________________________________
O que o Arduino?
O Arduino, amigo do peito em italiano, faz parte do conceito de hardware e
software livre e est aberto para uso e contribuio de toda sociedade. O conceito
Arduino surgiu na Itlia, em 2005, com o objetivo de criar um dispositivo que fosse
utilizado em projetos/prottipos construdos de uma forma menos dispendiosa do que
outros sistemas disponveis no mercado. Ele pode ser usado para desenvolver
artefatos interativos stand-alone ou conectados ao computador, smartphones, tablets
e uma infinidade de dispositivos.
Em termos prticos, um Arduino um pequeno computador que voc pode
programar para processar entradas e sadas entre o dispositivo e os componentes
externos conectados a ele. O Arduino o que chamamos de plataforma de
computao fsica ou embarcada, ou seja, um sistema que pode interagir com seu
ambiente por meio de hardware e software. O diagrama abaixo resume bem o uso do
Arduino.

O equipamento uma plataforma de computao fsica: so sistemas digitais


ligados a sensores e atuadores, que permitem construir sistemas que percebam a
realidade e respondem com aes fsicas. Ele baseado em uma placa
microcontrolada, com acessos de Entrada/Sada (I/O) Analgicos e Digitais, sobre a
qual foram desenvolvidas bibliotecas com funes que simplificam a sua programao,
por meio de uma sintaxe similar das linguagens C e C++ (Wiring).
O Arduino utiliza o microcontrolador Atmega. Um microcontrolador (tambm
denominado MCU) um computador em um chip, que contm um microprocessador,
memria e perifricos de entrada/sada. Ele pode ser embarcado no interior de algum
outro dispositivo, que, neste caso, o Arduino, para que possa controlar suas funes
ou aes.

ARDUINO BASIC
O Arduino UNO

O Arduino UNO verso R3 composto de:

6 Entradas Analgicas;
14 (I/O) Digitais (6 PWM);
Terminais de Alimentao (5v, 3.3v, GND);
Tenso de operao: 5V;
Tenso de entrada (recomendada):7-12V;
Tenso de entrada (limites): 6-20V;
Microcontrolador Atmega328;
Memria 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;
Boto de Reset;
ICSP;

ARDUINO BASIC
Outros Arduinos

IDE
_______________________________________________________________________
Configurao

ARDUINO BASIC
Estrutura Bsica do Sketch
_________________________________________________________________________

Comandos Bsicos

pinMode() define um pino com entrada ou sada


digitalWrite() liga ou desliga uma sada digital
analogWrite() Uso do PWM de 0 a 255
delay() espera um determinado tempo

Exemplos:
pinMode(nmero do pino, OUTPUT);
digitalWrite(nmero do pino, valor); valor LOW ou HIGH (0 ou 1, 0V ou 5V)
analogWrite(nmero do pino, valor); Valor de 0 a 255;
delay(milisegundos);

ARDUINO BASIC
01- Blink (Hello World no Arduino)
_________________________________________________________________________

Dificuldade:
Motivao: Aprender a utilizar a IDE, fazer upload do cdigo e usar a estrutura
bsica dos sketchs para arduino.

Material:

Arduino UNO;
Cabo USB A para B.

Montagem:

O Sketch:

ARDUINO BASIC
02-Variao do Blink
_________________________________________________________________________

Dificuldade:
Motivao: Aprender a lidar com o protoboard, resistores, led e variaes na
estrutura bsica dos sketchs e sadas digitais.

Material:

Arduino UNO;
Cabo USB A para B;
Protoboard;
Resistor 330;
LED;
Alguns Jumpers;

Montagem:

ARDUINO BASIC
O Sketch:

Estruturas Condicionais (If e Else)


_________________________________________________________________________
if/else permite que voc faa mltiplos testes agrupados entre si. Por exemplo,
se voc quiser testar um input analgico e baseado no seu valor realizar certa tarefa
ou caso contrrio realizar outra tarefa, por exemplo: se o input for menor que 500 faa
alguma coisa, caso contrrio faa outra:
if (input < 500)
{
// fazer A
}
else // caso contrrio, isto input > 500
{
// fazer B
}

10

ARDUINO BASIC
else pode executar outro teste de if, e ento testes mltiplos e mutualmente
exclusivos podem ser executados ao mesmo tempo:

if (input < 500)


{
// fazer A
}
else if (input >= 1000)
{
// fazer B
}
else
{
// fazer C
}
Voc pode ter um nmero ilimitado desses ramos condicionais.

03 - Fade
_________________________________________________________________________

Dificuldade:
Motivao: Aprender a utilizar Operadores aritimticos e de comparao, o uso dos
pinos com PWM.

Material:

Arduino UNO;
Cabo USB A para B;
Protoboard;
Resistor 330;
LED;
Alguns Jumpers.

Montagem:
Mesma da prtica 02.

11

ARDUINO BASIC
O Sketch:

04- Led Serial Monitor


_________________________________________________________________________

Dificuldade:
Motivao: Aprender a utilizar a comunicao serial. Estrutura if/else.
Material:

Arduino UNO;
Cabo USB A para B;
Protoboard;
3 Resistores de 330;
LEDs;
Alguns Jumpers.

Montagem:

12

ARDUINO BASIC
O Sketch:

Estrutura condicional while


_________________________________________________________________________
Os loops while vo rodar continuamente e infinitamente, at que a expresso
dentro dos parntesis, () torne-se falsa. A varivel testada deve mudar dinamicamente,
caso contrrio o loop while nunca terminar. Algo como uma varivel sendo

13

ARDUINO BASIC
incrementada, ou uma condio externa, como o teste de um sensor ou um contador
de tempo.
while(expresso){
// instruo(s)
}

05- Leitura de boto com o serial Monitor


_________________________________________________________________________

Dificuldade:
Motivao: Aprender a utilizar a leitura digital e aperfeioar a comunicao serial.
Material:

Arduino UNO;
Cabo USB A para B.
Protoboard;
Resistor de 10K;
Chave tctil;
Alguns Jumpers.

Montagem:

14

ARDUINO BASIC
O Sketch:

06- Boto acionando sada Digital


_________________________________________________________________________

Dificuldade:
Motivao: Aprender a utilizar resistor interno Pull-UP e interagir entrada do mundo
real com sada fsica.

Material:

Arduino UNO;
Cabo USB A para B;
Protoboard;
Chave tctil;
Alguns Jumpers.

Montagem:

15

ARDUINO BASIC
O Sketch:

Entendendo melhor as variveis


_________________________________________________________________________
Uma varivel um recurso utilizado para armazenar dados em um programa
de computador. Todo computador possui algum tipo de memria, e uma varivel
representa uma regio da memria usada para armazenar uma determinada
informao. Essa informao pode ser, por exemplo, um nmero, um caractere ou
uma sequncia de texto. Para podermos usar uma varivel em um programa Arduino,
ns precisamos fazer uma declarao de varivel, como por exemplo:
int led;
Nesse caso estamos declarando uma varivel do tipo int chamada led . Em seguida
ns falaremos mais sobre o tipo de dado de uma varivel.
O tipo de dado de uma varivel significa, como o prprio nome diz, o tipo de
informao que se pode armazenar naquela varivel. Em muitas linguagens de
programao, como C++, obrigatrio definir o tipo de dado no momento da
declarao da varivel, como vimos na declarao da varivel led acima. No caso dos
mdulos Arduino que usam processador ATmega, os tipos mais comuns de dados que
utilizamos so:

16

ARDUINO BASIC

boolean : valor verdadeiro ( true ) ou falso ( false )

char : um caractere

byte : um byte, ou sequncia de 8 bits

int : nmero inteiro de 16 bits com sinal (-32768 a 32767)

unsigned int : nmero inteiro de 16 bits sem sinal (0 a 65535)

long : nmero inteiro de 16 bits com sinal (-2147483648 a 2147483647)

unsigned long : nmero inteiro de 16 bits sem sinal (0 a 4294967295)

float : nmero real de preciso simples (ponto flutuante)

double : nmero real de preciso dupla (ponto flutuante)

string : sequncia de caracteres

void : tipo vazio (no tem tipo)

07- Debouncing com boto


_________________________________________________________________________

Dificuldade:
Motivao: Aprender a utilizar Tcnica Debouncing, funo millis no lugar do delay.
Material:

Arduino UNO;
Cabo USB A para B;
Protoboard;
Chave tctil;
Alguns Jumpers.

Montagem:
A mesma da experincia 06.

17

ARDUINO BASIC
O Sketch:

08- Operadores lgicos


_________________________________________________________________________

Dificuldade:
Motivao: Aprender a utilizar operadores lgicos, OR, XOR e AND
Material:

Arduino UNO;
Cabo USB A para B;
Protoboard;
3 Resistores de 330 e 2 resistores de 10K;
2 Chaves tctil;
Alguns Jumpers;
3 LEDs.

18

ARDUINO BASIC
Montagem:

O Sketch:

19

ARDUINO BASIC
09- Lendo Potencimetro com Porta Serial
_________________________________________________________________________

Dificuldade:
Motivao: Aprender a utilizar o potnciometro e entradas analgicas.
Material:

Arduino UNO;
Cabo USB A para B.
Protoboard;
Potencimetro de 10K;
Alguns Jumpers.

Montagem:

O Sketch:

20

ARDUINO BASIC
10- Controlando Brilho do Led com Potencimetro
_________________________________________________________________________

Dificuldade:
Motivao: Aprender a controlar sadas analgicas atravs de entradas analgicas.
Material:

Arduino UNO;
Cabo USB A para B;
Protoboard;
LED;
Resistor de 330;
Potencimetro de 10K;
Alguns Jumpers.

Montagem:

O Sketch:

21

ARDUINO BASIC
11- Lendo temperatura pelo Serial Monitor
_________________________________________________________________________

Dificuldade:
Motivao: 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:

22

ARDUINO BASIC
12- Automao LED com LDR
_________________________________________________________________________

Dificuldade:
Motivao: Aprender a utilizar lao 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:

23

ARDUINO BASIC
O Sketch:

24

ARDUINO BASIC
13- Acionamento de rels
_________________________________________________________________________

Dificuldade:
Motivao: Aprender a utilizar o rel para controle de sadas 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:

25

ARDUINO BASIC
14- Alarme por Temperatura
_______________________________________________________________________

Dificuldade:
Motivao: 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:

26

ARDUINO BASIC

15- Piezo como sensor de impacto


_________________________________________________________________________

Dificuldade:
Motivao: 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:

27

ARDUINO BASIC
O Sketch:

16- Sensor de linha preta com IR


_________________________________________________________________________

Dificuldade:
Motivao: Uso do Infra Vermelho. Bsico para a construo 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:

28

ARDUINO BASIC
O Sketch:

17- Sensor de proximidade por IR


_________________________________________________________________________

Dificuldade:
Motivao: 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.
29

ARDUINO BASIC
Montagem:

O Sketch:

18- Sensor de Passagem


_________________________________________________________________________

Dificuldade:
Motivao: 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.

30

ARDUINO BASIC
Montagem:

O Sketch:

19- Semforo
_________________________________________________________________________

Dificuldade:
Motivao: Aprender a realizar um semforo Simples.
Material:

Arduino UNO;
Cabo USB A para B;
Protoboard;
31

ARDUINO BASIC

LED Vermelho;
LED Amarelo;
LED Verde;
3 Resistores de 330;
Alguns Jumpers.

Montagem:

O Sketch:

32

ARDUINO BASIC
20- Semforo Interativo
_________________________________________________________________________

Dificuldade:
Motivao: Aperfeioar o uso da funo millis e o desenvolvimento de semforos
interativos e uso de funes gerais.

Material:

Arduino UNO;
Cabo USB A para B;
Protoboard;
Resistor 330;
Resistor 10K;
Chave Tctil;
LED Vermelho;
LED Amarelo;
LED Verde;
Alguns Jumpers.

Montagem:

33

ARDUINO BASIC
O Sketch:

34

ARDUINO BASIC
21- Contador com display de 7 Segmentos
_________________________________________________________________________

Dificuldade:
Motivao: Aprender sobre displays, como fazer contadores
Material:

Arduino UNO;
Cabo USB A para B;
Protoboard;
Resistor 330;
Resistor 10K;
Chave Tctil;
Display de 7 segmentos;
Alguns Jumpers.

Montagem:

O Sketch:

35

ARDUINO BASIC

36

ARDUINO BASIC
22- Sensor de Porta / Janela
_________________________________________________________________________

Dificuldade:
Motivao: 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:

37

ARDUINO BASIC
O Sketch:

38

ARDUINO BASIC
23- Sensor de Inclinao
_________________________________________________________________________

Dificuldade:
Motivao:
Material:

Arduino UNO;
Cabo USB A para B;
Chave de Mercrio;
1 Resistor de 330;
1 Resistor de 10k;
1 LED Vermelho;
Alguns Jumpers.

Montagem:

39

ARDUINO BASIC
O Sketch:

40

ARDUINO BASIC
24- VU Meter
_________________________________________________________________________

Dificuldade:
Motivao: Aprender a desenvover um detector de nvel 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 Tctil;
Alguns Jumpers;

Montagem:

41

ARDUINO BASIC
O Sketch:

25- Acionando Led com Senha


_________________________________________________________________________

Dificuldade:
Motivao: 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 Tctil;
42

ARDUINO BASIC

LED Verde
Alguns Jumpers

Montagem:

O Sketch:

43

ARDUINO BASIC

44

ARDUINO BASIC
26- Termmetro LCD com Bargraph
_________________________________________________________________________

Dificuldade:
Motivao: Aprender o uso do Display LCD.
Material:

Arduino UNO;
Cabo USB A para B;
Display LCD 16x2;
Resistor 10k;
Potencimetro 10k;
Termistor NTC 10k;
Alguns Jumpers.

Montagem:

45

ARDUINO BASIC
O Sketch:

46

ARDUINO BASIC

47

ARDUINO BASIC

Parabns!!
Voc deu os primeiros passos para ser um
ARDUINOMAKER!

48

ARDUINO BASIC
Bibliografia
_________________________________________________________________________
[1] McRoberts, Michael Arduino bsico. So 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; OReilly Media Inc.; 2010.

49