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

Iniciao ao Arduino uno

Lucnio Preza de Arajo


http://www.prof2000.pt/users/lpa 2
Blocos do Arduino
Conversor
Serial USB
Entradas e sadas digitais
CPU
Atmel
Fonte de
alimentao
Entradas analgicas Terminais de alimentao
5V 3,3V e Terra (0 V)
Microcontrolador
Cristal
Alimentao
USB
http://www.prof2000.pt/users/lpa 3
Arquitetura do Arduino
http://www.prof2000.pt/users/lpa 4
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)
http://www.prof2000.pt/users/lpa 5
Arduino uno - Caratersticas
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: 16 MHz
http://www.prof2000.pt/users/lpa 6
Arduino uno - Alimentao


O Arduino UNO pode ser alimentado pela porta USB ou por
uma entrada do tipo Power Jack atravs 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.

http://www.prof2000.pt/users/lpa 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.
http://www.prof2000.pt/users/lpa 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
http://www.prof2000.pt/users/lpa 9
Ciclo de desenvolvimento
http://www.prof2000.pt/users/lpa 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.
http://www.prof2000.pt/users/lpa 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.
http://www.prof2000.pt/users/lpa 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.

http://www.prof2000.pt/users/lpa 13
Programar no Arduino
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).
http://www.prof2000.pt/users/lpa 14
Programar no Arduino
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).
http://www.prof2000.pt/users/lpa 15
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)
http://www.prof2000.pt/users/lpa 16
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)
}
http://www.prof2000.pt/users/lpa 17
Programar no Arduino
Numa linguagem de programao existem vrios operadores que
permitem operaes do tipo: Aritmtica, Relacional, Lgica e Composta.
http://www.prof2000.pt/users/lpa 18
Programar no Arduino
http://www.prof2000.pt/users/lpa 19
Programar no Arduino
http://www.prof2000.pt/users/lpa 20
Programar no Arduino
http://www.prof2000.pt/users/lpa 21
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
http://www.prof2000.pt/users/lpa 22

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.
http://www.prof2000.pt/users/lpa 23
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.
http://www.prof2000.pt/users/lpa 24
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

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