You are on page 1of 47

ARDUINO UNO

O QUE É?
- O Arduino foi criado em 2005 por um grupo de 5
pesquisadores : Massimo Banzi, David Cuartielles, Tom
Igoe, Gianluca Martino e David Mellis. O objetivo era
elaborar um dispositivo que fosse ao mesmo tempo barato,
funcional e fácil de programar, sendo dessa forma acessível a
estudantes e projetistas amadores. Além disso, foi adotado o
conceito de hardware livre, o que significa que qualquer um
pode montar, modificar, melhorar e personalizar o Arduino,
partindo do mesmo hardware básico.
O QUE É?
- Assim, foi criada uma placa composta por
um microcontrolador Atmel, circuitos de
entrada/saída e que pode ser facilmente conectada à
um computador e programada via IDE (Integrated
Development Environment, ou Ambiente de
Desenvolvimento Integrado) utilizando uma
linguagem baseada em C/C++, sem a necessidade
de equipamentos extras além de um cabo USB.
O QUE É?
Depois de programado, o microcontrolador
Arduino pode ser usado de forma independente,
ou seja, você pode colocá-lo para controlar um
robô, uma lixeira, um ventilador, as luzes da sua
casa, a temperatura do ar condicionado, pode
utilizá-lo como um aparelho de medição ou
qualquer outro projeto que vier à cabeça.
O QUE É?
Para isso, o Arduino possui uma quantidade
enorme de sensores e componentes que você
pode utilizar nos seus projetos. Grande parte do
material utilizado no Arduino está disponível
em módulos, que são pequenas placas que
contém os sensores e outros componentes
auxiliares como resistores, capacitores e leds.
O QUE É?
Existem também os chamados Shields, que são placas
que você encaixa no Arduino para expandir suas
funcionalidades. A imagem abaixo mostra um Arduino
Ethernet Shield encaixado no Arduino Mega 2560. Ao
mesmo tempo que permite o acesso do Arduino à uma
rede ou até mesmo à internet, mantém os demais
pinos disponíveis para utilização, assim você consegue,
por exemplo, utilizar os pinos para receber dados de
temperatura e umidade de um ambiente, e consultar
esses dados de qualquer lugar do planeta:
TIPOS DE ARDUINOS
O tipo de placa que você vai utilizar depende muito do
projeto a ser desenvolvido e o número de portas
necessárias. As opções vão das mais comuns, como
o Arduino Uno e suas 14 portas digitais e 6 analógicas,
passando por placas com maior poder de
processamento, como o Arduino Mega,
com microcontrolador ATmega2560 e 54 portas
digitais, e o Arduino Due, baseado em processador
ARM de 32 bits e 512 Kbytes de memória:
ESTRUTURA DE UM PROGRAMA EM
ARDUINO
Escrever um programa em Arduino é muito simples. Tudo o que
você precisa é conectar o Arduino ao computador por meio de
um cabo USB e utilizar um ambiente de programação chamado
IDE, onde você digita o programa, faz os testes para encontrar
eventuais erros e transfere o programa para o Arduino.
Na imagem abaixo temos a IDE já com um programa carregado.
No site oficial do Arduino (arduino.cc), você pode fazer o
download da IDE gratuitamente:
ESTRUTURA DE UM PROGRAMA EM
ARDUINO
Uma vez feito o programa, basta transferi-lo para o Arduino e o
mesmo começa a funcionar.
Você não precisa ser expert em linguagem C para programar o
Arduino. Você pode começar um programa utilizando a estrutura
básica do Arduino, que é composta por duas partes, ou dois
blocos:
ESTRUTURA DE UM PROGRAMA EM
ARDUINO
setup() – É nessa parte do programa que você
configura as opções iniciais do seu programa: os valores
iniciais de uma variável, se uma porta será utilizada
como entrada ou saída, mensagens para o usuário, etc.
loop() – Essa parte do programa repete uma estrutura
de comandos de forma contínua ou até que alguma
comando de “parar” seja enviado ao Arduino.
ESTRUTURA DE UM PROGRAMA EM
ARDUINO
Vamos ver exatamente como isso funciona, levando em
consideração o programa abaixo, que acende e apaga o
led embutido na placa Arduino em intervalos de 1
segundo:
ESTRUTURA DE UM PROGRAMA EM
ARDUINO
Estrutura do SETUP. É nela que definimos que o pino
13 do Arduino será utilizado como saída.
ESTRUTURA DE UM PROGRAMA EM
ARDUINO
Por último, temos o LOOP, que contém as instruções para
acender e apagar o led, e também o intervalo entre essas
ações:
A linha do código contendo digitalWrite(13,
HIGH) coloca a porta 13 em nível alto (HIGH, ou 1),
acendendo o led embutido na placa. O
comando delay(1000), especifica o intervalo, em
milisegundos, no qual o programa fica parado antes de
avançar para a próxima linha.
O comando digitalWrite(13, LOW), apaga o led,
colocando a porta em nível baixo (LOW, ou 0), e
depois ocorre uma nova parada no programa, e o
processo é então reiniciado.
ALIMENTAÇÃO DA PLACA ARDUINO
A placa pode ser alimentada pela conexão USB ou por uma fonte de
alimentação externa, conforme exibido na figura abaixo:
ALIMENTAÇÃO DA PLACA ARDUINO
ALIMENTAÇÃO DA PLACA ARDUINO
A alimentação externa é feita através do conector Jack com
positivo no centro, onde o valor de tensão da fonte externa deve
estar entre os limites 6V. a 20V., porém se alimentada com uma
tensão abaixo de 7V., a tensão de funcionamento da placa, que no
Arduino Uno é 5V, pode ficar instável e quando alimentada com
tensão acima de 12V, o regulador de tensão da placa pode
sobreaquecer e danificar a placa. Dessa forma, é recomendado
para tensões de fonte externa valores de 7V. a 12V.
ALIMENTAÇÃO DA PLACA ARDUINO
A seguir são exibidos os conectores de
alimentação para conexão de shields e módulos
na placa Arduino UNO:
ALIMENTAÇÃO DA PLACA ARDUINO
IOREF - Fornece uma tensão de referência para que shields possam
selecionar o tipo de interface apropriada, dessa forma shields que
funcionam com a placa Arduino que são alimentadas com 3,3V.
podem se adaptar para ser utilizados em 5V. e vice-versa.
RESET - pino conectado a pino de RESET do microcontrolador. Pode
ser utilizado para um reset externo da placa Arduino.
3,3 V. - Fornece tensão de 3,3V. para alimentação de shield e
módulos externos. Corrente máxima de 50 mA.
ALIMENTAÇÃO DA PLACA ARDUINO
5 V - Fornece tensão de 5 V para alimentação de shields e
circuitos externos.
GND - pinos de referência, terra.
VIN - pino para alimentar a placa através de shield ou bateria
externa. Quando a placa é alimentada através do conector
Jack, a tensão da fonte estará nesse pino.
COMUNICAÇÃO USB DA PLACA ARDUINO UNO

Como interface USB para


comunicação com o
computador, há na placa
um microcontrolador
ATMEL ATMEGA16U2
COMUNICAÇÃO USB DA PLACA ARDUINO UNO
Este microcontrolador é o responsável pela forma
transparente como funciona a placa Arduino UNO,
possibilitando o upload do código binário gerado
após a compilação do programa feito pelo
usuário.
COMUNICAÇÃO USB DA PLACA ARDUINO UNO
Nesse microcontrolador também estão
conectados dois leds (TX, RX), controlados pelo
software do microcontrolador, que indicam o
envio e recepção de dados da placa para o
computador.
O CÉREBRO DO ARDUINO UNO
O componente principal da placa Arduino UNO é o
microcontrolador ATMEL ATMEGA328, um
dispositivo de 8 bits da família AVR com
arquitetura RISC e Harvard.
Instruções

Dados
MEMÓRIAS
Memória FLASH: é a memória de programa, é onde o sketch
(programa feito no IDE) fica armazenado. Somente instruções
armazenadas aqui podem ser executadas;
Memória RAM: é onde o sketch cria e manipula as variáveis
quando está sendo executado;
Memória EEPROM: é o espaço de memória que pode-se
armazenar informações por longos períodos, e está associada
aos periféricos.
O CÉREBRO DO ARDUINO UNO
Possui 28 pinos, sendo que 23 desses podem ser
utilizados como I/O .
O CÉREBRO DO ARDUINO UNO
O CÉREBRO DO ARDUINO UNO
Dentro de muitos equipamentos eletrônicos bate um
"coração" invisível" que determina com um ritmo
preciso o seu funcionamento. Nos relógios,
cronômetros, computadores, equipamentos de
comunicações e muitos outros aparelhos minúsculos
cristais de quartzo vibram com precisão garantindo
que seus circuitos funcionem de maneira totalmente
ordenada e sincronizada.
O CÉREBRO DO ARDUINO UNO
A maioria dos equipamentos eletrônicos que exija
alguma espécie de sincronismo preciso, ou seja, um
"relógio interno" para funcionar, aproveita as
propriedades dos cristais de quartzo.
Estes cristais são instalados em invólucros que
possibilite seu acoplamento a um circuito e
normalmente podem ser encontrados com as
aparências mostradas na figura abaixo.
O CÉREBRO DO ARDUINO UNO
Os computadores do tipo PC e mesmo outros, possuem circuitos
que operam segundo o que se denomina de lógica sincronizada.
Todos os circuitos devem operar sincronizados por um
determinado sinal de frequência única, denominado "clock" o
qual determina quando cada um deve realizar uma determinada
operação, atender uma interrupção ou está pronto para emitir o
resultado de uma operação.
Se isso não fosse feito, uma determinada etapa de um
computador poderia estar já somando o valor de um dado a
outro armazenado numa célula, antes mesmo que o outro
tivesse chegado, dando como resultado um valor
completamente errado.
Todos os circuitos de um computador são sincronizados
por um oscilador único que determina seu ritmo de
andamento.
Assim, quando dizemos que um computador "roda" a
800 MHz e, portanto, é muito mais rápido que outro
que só "roda" a 500 MHz, estamos nos referindo à
frequência do clock, e que justamente é determinado
por um oscilador controlado por cristal.
ENTRADAS E SAÍDAS DO ARDUINO UNO
A placa Arduino UNO possui pinos de entrada e
saídas digitais, assim como pinos de entradas e
saídas analógicas, abaixo é exibido a pinagem
conhecida como o padrão Arduino:
ENTRADAS E SAÍDAS DO ARDUINO UNO
ENTRADAS E SAÍDAS DO ARDUINO UNO
Conforme exibido na figura, a placa Arduino UNO
possui 14 pinos que podem ser usados como
entrada ou saída digitias. Estes Pinos operam em 5
V, onde cada pino pode fornecer ou receber uma
corrente máxima de 40 mA. Cada pino possui
resistor de pull-up interno que pode ser habilitado
por software. Alguns desse pinos possuem
funções especiais:
ENTRADAS E SAÍDAS DO ARDUINO UNO
PWM : 3,5,6,9,10 e 11 podem ser usados como saídas
PWM de 8 bits através da função analogWrite();
Comunicação serial: 0 e 1 podem ser utilizados para
comunicação serial. Deve-se observar que estes pinos são
ligados ao microcontrolador responsável pela
comunicação USB com o PC;
Interrupção externa: 2 e 3 . Estes pinos podem ser
configurados para gera uma interrupção externa, através
da função attachInterrupt().
ENTRADAS E SAÍDAS DO ARDUINO UNO
Para interface com o mundo analógico, a placa Arduino
UNO possui 6 entradas, onde cada uma tem a resolução
de 10 bits. Por padrão a referencia do conversor AD está
ligada internamente a 5V, ou seja, quando a entrada
estiver com 5V o valor da conversão analógica digital será
1023. O valor da referência pode ser mudado através do
pino AREF.