Você está na página 1de 27

Iniciao ao Arduino uno

Blocos do Arduino
Entradas e sadas digitais

Conversor
Serial USB

Jack
USB
Cristal

Fonte de
alimentao

Microcontrolador

CPU
Atmel

Jack
Alimentao

Terminais de alimentao
5V 3,3V e Terra (0 V)

Entradas analgicas
ou sadas digitais

Resumo da placa Arduino uno

Arquitetura do Arduino

O microcontrolador
Um microcontrolador, ao contrrio de um microprocessador, desenhado e
construdo de forma a integrar diversos componentes (CPU, RAM, ROM,
Porta srie, Porta paralela, etc.) num nico circuito integrado.
Microcontrolador: ATmega328 (datasheet)

Arduino uno - Caractersticas

Microcontrolador: ATmega328
Tenso de operao: 5V
Tenso recomendada (entrada): 7-12V
Limite da tenso de entrada: 6-20V
Pinos digitais: 14 (seis pinos com sada PWM)
Entrada analgica: 6 pinos
Corrente contnua por pino de entrada e sada: 40 mA
Corrente para o pino de 3.3 V: 50 mA
Quantidade de memria FLASH: 32 KB (ATmega328) onde
0.5 KB usado para o bootloader
Quantidade de memria SRAM: 2 KB (ATmega328)
Quantidade de memria EEPROM: 1 KB (ATmega328)
Velocidade de clock (cristal): 16 MHz

Arduino uno - Alimentao


Internamente, o circuito do Arduino alimentado
com uma tenso de 5V.
O Arduino UNO pode ser alimentado pela porta USB
ou por uma entrada do tipo Power Jack (com o
positivo ao centro) atravs de uma fonte externa
DC.
A recomendao que a fonte externa seja de 7 V a
12 V e pode ser ligada diretamente no conector de
fonte ou nos pinos Vin e Gnd.
A seguir so exibidos os conectores de alimentao para conexo de shields e mdulos
na placa Arduino UNO:
3,3 V. - Fornece tenso de 3,3V. para
alimentao de shield e mdulos externos.
Corrente mxima de 50 mA.
5 V - Fornece tenso de 5 V para alimentao de
shields e circuitos externos.
GND - pinos de referncia, terra.
VIN - pino para alimentar a placa atravs de
shield ou bateria externa. Quando a placa
alimentada atravs do conector Jack, a tenso da
fonte estar nesse pino.
7

Software
O 1 passo consiste em efectuar o download do respectivo software de
desenvolvimento, o Arduino IDE 1.0.5, atravs do site oficial Arduino
O 2 passo consiste em descompactar o ficheiro .ZIP para uma pasta sua
escolha.
O 3 passo consiste em ligar a placa Arduino ao computador atravs do cabo
USB e instalar os drivers FTDI, para permitir uma converso de USB para srie.
O 4 passo consiste em configurar a porta srie
a ser utilizada e qual o tipo de modelo Arduino,
que nos encontramos a utilizar. Para tal,
necessitamos de abrir o Software de
desenvolvimento e escolher na barra de
separadores a opo Tools.
O 5 passo para a utilizao do Software
consiste em elaborar o seu Sketch (programa),
compilar e, caso no tenha erros, fazer o
uploading para a placa Arduino.
8

Arduino IDE
O monitor serial utilizado para
comunicao entre o Arduino e
o computador (PC).

As principais funcionalidades do IDE do


Arduino so:
- Escrever o cdigo do programa
- Salvar o cdigo do programa
- Compilar um programa
- Transportar o cdigo compilado para a
placa do Arduino

Ciclo de desenvolvimento

10

Funes base
void setup() - Esta funo apenas executada uma vez e normalmente utilizada para
executar a inicializao de variveis, a inicializao da utilizao bibliotecas, a definio dos
pinos (como input ou output), o incio do uso de comunicao srie, entre outros. Esta funo
apenas volta a ser executada novamente ao ser efectuado o reset ou quando se desligar e
volta a ligar a placa de desenvolvimento Arduino.

void loop() - Esta funo faz um loop sucessivo (como o prprio nome indica), ou seja,
todos os comandos existentes no interior desta funo so sucessivamente repetidos, o que
pode permitir a leitura sucessiva de portas, a leitura sucessiva de parmetros provenientes de
sensores externos e actuar de acordo com as condies estabelecidas.

11

Programar no Arduino
Comentrios
Muitas vezes importante comentar alguma parte do cdigo do programa.
Existem duas maneiras de adicionar comentrios a um programa em
Arduino.
A primeira usando //, como no exemplo abaixo:
// Este um comentrio de linha
A segunda usando /* */, como no exemplo abaixo:
/* Este um comentrio de bloco. Permite acrescentar comentrios com
mais de uma linha */
Nota: Quando o programa compilado os comentrios so automaticamente suprimidos do
arquivo executvel, aquele que ser gravado na placa do Arduino.
12

Programar no Arduino
Constantes
No Arduino existem algumas constantes previamente definidas e so
consideradas palavras reservadas.
As constantes definidas so:
true indica valor lgico verdadeiro
false indica valor lgico falso
HIGH indica que uma porta est ativada, ou seja, est em 5V.
LOW indica que uma porta est desativada, ou seja, est em 0V.
INPUT indica que uma porta ser de entrada de dados.
OUTPUT indica que uma porta ser de sada de dados.

13

Entradas analgicas e digitais


Portas digitais e analgicas
O Arduino possui tanto portas digitais como portas
analgicas.
As portas servem para comunicao entre o Arduino e
dispositivos externos, por exemplo: ler um boto,
acender um led ou uma lmpada.
Conforme j mencionado, o Arduino UNO, possui 14
portas digitais e 6 portas analgicas (que tambm
podem ser utilizadas como portas digitais).
Os conversores analgicos-digitais (ADC) do Arduino
so de 10 bits.
Os valores lidos numa porta analgica variam de 0 a
1023 (10 bits), onde 0 representa 0V e 1023
representa 5V.
Portas digitais
As portas digitais trabalham com valores bem definidos, ou seja, no caso do Arduino esses
valores so 0V e 5V.
0V indica a ausncia de um sinal e 5V indica a presena de um sinal.
Para escrever numa porta digital basta utilizar a funo digitalWrite(pin, estado).
Para ler um valor numa porta digital basta utilizar a funo digitalRead(pin).

14

Sadas PWM

O que PWM?
PWM, do ingls Pulse Width Modulation,
uma tcnica utilizada por sistemas
digitais para variao do valor mdio de
uma forma de onda peridica. A tcnica
consiste em manter a frequncia de
uma onda quadrada fixa e variar o
tempo que o sinal fica em nvel lgico
alto. Esse tempo chamado de duty
cycle, ou seja, o ciclo ativo da forma de
onda. No grfico ao lado so exibidas
algumas modulaes PWM.

15

Entradas analgica
Portas Analgicas
As portas analgicas so utilizadas para entrada de
dados.
O Arduino UNO possui 6 (seis) portas analgicas.
As portas analgicas no Arduino UNO so
identificadas como A0, A1, A2, A3, A4 e A5. Estas
portas tambm podem ser identificadas por 14 (A0),
15 (A1), 16 (A2), 17 (A3), 18 (A4) e 19 (A5).
Por padro todas as portas analgicas so definidas
como entrada de dados, desta forma no
necessrio fazer esta definio na funo setup().
Os valores lidos numa porta analgica variam de 0V
a 5V.
Para ler uma valor numa porta analgica basta
utilizar a funo analogRead(pin).

16

Programar no Arduino
Para definir uma porta como entrada ou sada necessrio explicitar
essa situao no programa.
A funo pinMode(pin, estado) utilizada para definir se a porta ser de
entrada ou sada de dados.
Exemplo:
Define que a porta 13 ser de sada
pinMode(13, OUTPUT)
Define que a porta 7 ser de entrada
pinMode(7, INPUT)

17

Programa explicado
/*
----------------------------------1 Exerccio
----------------------------------Ligar e desligar um LED por um segundo
*/
//-----------------------------------//Funo principal
//-----------------------------------void setup() // Executa-se quando o arduino ligado
{
pinMode(13,OUTPUT); // Inicializa o pin 13 como uma sada
}
//-----------------------------------//Funo repetitiva
//-----------------------------------void loop() // Esta funo executa-se o instante todo
// quando est ligado o Arduino

{
digitalWrite(13,HIGH); // Liga o LED
delay(1000); // Temporiza um segundo (1s = 1000ms)
digitalWrite(13,LOW); // Desliga o LED
delay(1000); // Temporiza um segundo (1s = 1000ms)
}
18

Programar no Arduino
Numa linguagem de programao existem vrios operadores que
permitem operaes do tipo: Aritmtica, Relacional, Lgica e Composta.

19

Programar no Arduino

20

Programar no Arduino

21

Programar no Arduino

22

Shields
possvel agregar novas
funcionalidades a uma placa do
Arduino.
As extenses das placas do Arduino
so chamadas de shields.
Existem shields para as mais diversas
funcionalidades, por exemplo:
Comunicao ethernet
Comunicao wifi
Comunicao bluethooth
Ponte H
Banco de rels

Ethernet Shield

24

Adicionar uma biblioteca


Possivelmente algum dia vai precisar de adicionar uma biblioteca para trabalhar
com algum sensor ou outro componente no Arduino. Existem diversas bibliotecas
disponveis na internet, que pode baixar e utilizar. Entretanto tem que adicion-las
ao seu IDE para que o mesmo reconhea os comandos que est a utilizar.
Para mostrar como proceder, vamos adicionar a biblioteca MsTimer2.h como
exemplo. Primeiro vamos baix-la na pgina do Arduino
(http://arduino.cc/playground/Main/MsTimer2). Feito isso, descompacte o
arquivo.zip que foi baixado. Agora v at pasta onde instalou o seu IDE para o
Arduino e procure pela pasta libraries. Dentro deste diretrio copie a pasta que foi
extrada anteriormente.
Por fim, vamos verificar se a biblioteca foi mesmo detectada pelo IDE. V a Files
> Examples e verifique se a biblioteca que acabamos de adicionar est ali. Se
sim, a instalao ocorreu bem e j pode comear a utilizar a sua nova biblioteca.
Agora s cham-la no seu cdigo, que neste caso ficaria: #include
<MsTimer2.h>. Vale a pena destacar que na prpria pgina onde baixou a
biblioteca, possui as instrues de como utilizar a mesma.

25

Exerccios propostos
1.Faa um circuito onde trs LEDs acendam em sequncia, com um atraso
de um segundo entre eles, e depois apaguem igualmente em sequncia.
2.Usando um LED vermelho, um amarelo e um verde, crie um semforo de
transito ou seja, o LED verde deve ficar ligado por um determinado
intervalo de tempo, seguido pelo amarelo, depois o vermelho, voltando
para o verde.
3.Crie um LED inteligente: ou seja, utilizando um sensor de luminosidade,
faa-o ligar se o ambiente estiver escuro demais.
4.Projete o prottipo de uma fechadura com senha - ou seja, a porta s
abre se a senha digitada for correta. Para facilitar, utilize um LED
vermelho para representar a porta fechada e um LED verde para indicar
que a senha digitada foi aceite.
5.Melhore seu prottipo adicionando um atuador sonoro, que avisa caso a
senha esteja errada, caso ela esteja certa, e denuncie caso algum erre a
senha mais de trs vezes Utilize sons diferentes para cada caso.
26

Fontes de informao
Site oficial Arduino
http://www.arduino.cc
Para comandos, consultar o guia de referncias em
http://arduino.cc/en/Reference/HomePage
Biblioteca MsTimer2
http://arduino.cc/playground/Main/MsTimer2

Simulador de Arduino: Virtual Breadboard


http://www.virtualbreadboard.com/Main.aspx?TAB=Downloads

27

Você também pode gostar