Académique Documents
Professionnel Documents
Culture Documents
05 Introdução
08 Começando
09 Arduino
09 Instalando o Arduino
10 Br.ino
10 Instalando o Br.ino
20 Fritzing
20 Kit básico
21 Pronto para começar
22 Introdução à Computação
23 Algoritmo
24 Variáveis
Comentários
27 Operadores
27 Instruções e laços de controle
30 Operadores lógicos
31 Funções ou Métodos
31 Funções obrigatórias do Br.ino
Configuracao()
Principal()
32 Termos importantes
2
46 Motores
Motores C.C. simples
Servo motores
Motores de passo
48 Baterias
51 Associações
Resistores
Capacitores
Pilhas/Baterias
55 Erros Frequentes
56 Placa Arduino errada
57 Porta USB do computador errada
58 Falta de ponto e vírgula
58 Letras maiúsculas
58 Variáveis não declaradas
3
Analisando o Hardware
O Código
Analisando o código
83 Carrinho utilizando L293D e motores CC
Montando o Hardware
Analisando o Hardware
O Código
Analisando o código
88 Despedida
90 Apêndices
91 Materiais Importantes
Protoboard
Jumpers
Código de cores
Fonte de alimentação
93 Tabelas importantes
Valor de resistores
ASCII
LEDs
96 Habilidades Importantes
Placas de circuito impresso (PCI)
Soldagem e Dessoldagem
Multímetro e medidas
106 Tipos de Arduino
Arduino Nano
Arduino UNO
Arduino Mega
109 Shields
Sensor Shield
Ethernet Shield
Arduino WiFi Shield
Arduino GSM Shield
Arduino Motor Shield
111 Lista de Componentes
4
1 INTRODUÇÃO
Apostila Br.ino
I NT R O DUÇÃO
Tipos de robôs
Existem incontáveis tipos de robôs nos dias atuais. Neste módulo, separamos al-
gumas categorias para exemplificar como a robótica cresce mais todos os dias.
Observe:
Robôs Domésticos
Empregadas mecânicas e ajudantes robóticos são o sonho de consumo de mui-
tas pessoas. Atualmente, várias indústrias produzem esse tipo de ferramenta para
dar aquela força nas tarefas de casa.
Robôs Industriais
Essa categoria engloba os famo-
sos braços robóticos vistos na
produção industrial. São robôs
criados para realizar tarefas re-
petitivas de forma rápida e im-
pecável. Eles são usados para as
mais diferenciadas funções: mon-
tar, parafusar, empilhar, etc.
IM AG E M 1 .3 R o b ôs i n d us t r i a i s n um a
lin h a de pro du ç ão.
6
Apostila Br.ino
Robôs Medicinais
Robôs tem sido cada vez mais utilizados na medicina. Eles realizam exames como
ultrassons e Raios-X. Também existem aqueles que realizam cirurgias, com alta
precisão!
Robôs Militares
O setor militar também aproveita muito da robótica em suas operações. Existem
variados modelos, que auxiliam ou realizam missões de ataque e defesa.
IM AG EM 1.6 O LS 3 é ro b ô d e
ap o io d a Bo s to n Dy nam ic s . Ele
c o ns egu e and ar e m s u p e r fí c ie s
m u ito ir regu lare s e c ar re gar
gran d es q u antid ad es d e c arga.
E o m ais legal: não é n ec es s ár io
c o ntro lá-lo, ele te s egu e au to -
m atic am en te!
7
2 COMEÇANDO
Apostila Br.ino
C O M E ÇAN DO
Arduino
O Arduino teve seu início na Itália, na cidade de Ivrea, em 2005. Seu
objetivo era que ele fosse utilizado em projetos escolares reduzin-
do o orçamento necessário para a realização de prototipagens em
relação aos seus concorrentes da época. Ele recebeu uma menção
honrosa na categoria Comunidades Digitais em 2006, pela Prix Ars
Electronica e bateu a marca de 50.000 placas vendidas em outubro
de 2008, selando assim seu sucesso.
I MAGEM 2.1
Desde então a sua comunidade cresceu
e o projeto continuou se expandindo e
está em constante desenvolvimento. A
companhia não se limitou ao campo do
hardware e chegou a desenvolver uma
IDE própria.
IM AG EM 2 .2
9
Apostila Br.ino
Br.ino
No final do ano de 2015, um grupo de alunos do Ensino Médio ideali-
zaram uma nova maneira de contribuir para a educação brasileira. Ga-
briel Rodrigues Pacheco, Giulia Fricke, Mateus Berardo de Souza Terra,
Rafael Mascarenhas Dal Moro e Víctor Rodrigues Pacheco, fomentan-
do o sonho de popularizar o ensino da programação no Brasil, esbo-
çaram o Br.ino. Em decorrência do termo linguagem de programação
estar diretamente atrelado ao inglês, esses jovens tentam mudar essa
realidade com a criação dessa nova ferramenta. O programa permite
que códigos sejam escritos em português, acabando com a dificuldade
do inglês como pré-requisito. I MAGEM 2.3
Para isso a plataforma Arduino foi escolhida pelas facilidades que esta traz.
Para facilitar o entendimento do funcionamento da IDE do Br.ino, iremos expli-
car pra quais as funcionalidades dos botões em sua interface:
I MAG EM 2 .4
10
Apostila Br.ino
IM AG EM 2 .5
IM AG EM 2 .6
I M AG EM 2 .7
11
Apostila Br.ino
I MAG EM 2 .8
I M AGE M 2 .9
12
Apostila Br.ino
IM AG E M 2 .1 0
I M AGE M 2 .1 1
1. Procure a barra de busca em seu computador, nesse caso ela pode ser en-
contrada na parte superior da tela.
I MAGEM 2.1 2
13
Apostila Br.ino
I M AGE M 2 .13
IM AG EM 2 .14
I NSTA L AN DO O B R .I N O
Obs.: Descubra se seu sistema operacional é 32 ou 64 bits por meio dos tuto-
riais acima;
14
Apostila Br.ino
1. Acesse
http://brino.cc/download
I M AGE M 2.1 5
I M AGE M 2 .1 6
IM AG EM 2 .17
15
Apostila Br.ino
I M AGE M 2 .1 8
I M AGE M 2 .1 9
16
Apostila Br.ino
I M AGE M 2 . 2 0
I M AGE M 2 . 2 1
17
Apostila Br.ino
1. Acesse
http://brino.cc/download.php
I MAGEM 2. 22
Obs.: Descubra se seu sistema operacional é 32 ou 64 bits por meio dos tuto-
riais acima;
4. Na pasta, encontre o arquivo Br.ino que foi baixado com a terminação “.tar.
gz” clique com o botão direito do mouse sobre ele;
I M AGEM 2 .2 3
18
Apostila Br.ino
I M AGE M 2 .2 4
IM AG EM 2 .2 5
IM AG EM 2. 26
19
Apostila Br.ino
I MAGEM 2. 27
Você terminou a instalação!
F R I T Z I N G:
Kit básico:
Todos os projetos dessa apostila possuem uma lista de componentes que serão
utilizados para sua confecção. Mas temos uma breve lista de materiais interes-
santes para começar a sua jornada e que ajudarão em seus primeiros passos. Se
não estiver familiarizado com algum deles não hesite em seguir para os outros
capítulos onde existem explicações sobre cada um deles.
20
Apostila Br.ino
◊ LDR’s;
◊ Alguns botões táteis;
◊ Um pequeno motor de corrente contínua;
◊ Servo motor (microServo 9g);
◊ Piezo buzzer (um tipo de alto-falante pequeno);
◊ Potenciômetro de 10kΩ;
◊ Uma pequena caixa para guardar os componentes.
21
3 INTRODUÇÃO
À COMPUTAÇÃO
Apostila Br.ino
A computação é definida como o ato ou efeito de calcular. Esse termo está forte-
mente atrelado à informática, pois resume o trabalho de sua principal ferramen-
ta: o computador. Dentro da computação, há a programação, que é o processo
de criar programas de computador.
Tal prática é de extrema utilidade para o ser humano, pois nos permite reali-
zar incontáveis tarefas “com apenas alguns cliques”, transferindo o trabalho para
a máquina. Nesta apostila, todos os conceitos de programação serão focados na
linguagem Br.ino, porém, se aplicam também a diversas linguagens.
Para criar códigos é necessário aprender estruturas e palavras chaves da lin-
guagem de programação. Assim como um texto em língua Portuguesa, progra-
mas de computador utilizam linguagens com regras específicas de sintaxe para
que a máquina possa compreender o que lhe é pedido.
Neste capítulo serão abordados assuntos como:
◊ Algoritmo;
◊ Variáveis;
◊ Comentários;
◊ Incrementadores;
◊ Instruções e laços de controle;
◊ Operadores lógicos;
◊ Funções ou Métodos;
◊ Termos importantes.
Algoritmo:
Algoritmo é uma série de instruções simples e bem definidas que podem ser
executadas em um intervalo de tempo finito e com recursos limitados para atin-
gir um objetivo. Programas de computadores são algoritmos implementados em
uma linguagem que a máquina entenda. O ponto inicial para criar um programa
eficiente é planejar como o problema pode ser resolvido sempre estando ciente
das limitações enfrentadas. Abaixo temos um exemplo de algoritmo para o pre-
paro de gelo:
Este exemplo, por mais simples que seja, passa as informações necessárias para
atingir o objetivo, que no caso foi produzir gelo, utilizando recursos limitados,
como o recipiente e o tempo finito.
23
Apostila Br.ino
Variáveis:
Variáveis são muito usadas na programação por serem capazes de armazenar da-
dos. Uma das formas mais simples de pensar em uma variável é como uma gaveta
onde o computador pode guardar informações para serem lidas e/ou manipula-
das posteriormente. Elas são vitais para o funcionamento da lógica de progra-
mação, além de tornarem o entendimento e a manutenção do código processos
mais claros e simples.
Declaração de variáveis:
Para utilizar variáveis na construção de um programa de computador, é necessá-
rio seguir o padrão estipulado na descrição da Linguagem de Programação1. Para
esta apostila, seguiremos o padrão utilizado na linguagem C, compatível tanto
com a linguagem de programação do Arduino, quanto com a do Br.ino.
A declaração de uma variável é dividida em duas partes: informar o tipo de
variável e definir o identificador. Na primeira etapa, estabelece-se que tipo de
dado a variável vai guardar (números, caracteres, etc.). Consequentemente, ao
tomar conhecimento do tipo de informação que será guardado, o computador
já aloca o espaço de memória necessário e define que operações podem ser fei-
tas com o conteúdo da variável.
Na segunda etapa, determina-se o nome da variável, para que possamos di-
ferenciá-las entre si. Observe o exemplo:
resultado: 3
Outro exemplo é:
24
Apostila Br.ino
Agora que entendemos qual a utilidade das variáveis em nossos programas va-
mos examinar os seus tipos:
Número: As variáveis do tipo Numero (deve ser escrito dessa forma para ser en-
tendido pelo compilador, sem acento e com letra maiúscula. Isso se aplica a di-
versas palavras que serão abordadas no capítulo) são muito usadas pois são ca-
pazes de, como o próprio nome sugere, armazenar números inteiros entre 32.768
a 32.767, ou seja, um número de 16 bits.
Ex.: Numero minhaVariavel = 3600;
Palavra: Esse tipo especial de variável pode ser comparado a uma série de ca-
racteres. Ela é usada para armazenar palavras e frases. Seu dado deve vir entre
aspas duplas (“”).
Ex.: Palavra saudacao = “oi”;
Condição: A menor variável que vamos estudar é usada para guardar apenas dois
valores, Verdadeiro ou Falso, e será muito usada em operações lógicas e como
controle.
Ex.: Condicao chovendo = Falso;
25
Apostila Br.ino
Outro ponto importante são os nomes que elas podem receber. Salvo as pala-
vras chave predefinidas pela linguagem de programação vigente, elas podem
ter qualquer nome. Mesmo com toda essa liberdade, recomendamos fortemen-
te que não usem acentos ou caracteres especiais, como ç, @, etc. Além de pre-
ferir, sempre que possível, nomes sugestivos (não, variável_123 não é nada su-
gestivo) para que o código possa ser mais facilmente entendido por todos. Tais
nomes devem começar com uma letra ou uma underline. São exemplos de bons
nomes: valorSensor, motorDireito, porta_LED e leituraDistancia.
Caso se deseje trabalhar com uma constante, a palavra-chave Constante pode
ser adicionada ao início da variável, tornando-a invariável. Ao se declarar o nome
de uma constante, é recomendado o uso de caixa alta no seu nome para dife-
renciá-la mais facilmente das demais variáveis.
Ex.: Constante Numero MINHAVARIAVEL= 3600;
Nota: Com os tipos de números inteiros, você pode obter uma situação cha-
mada roll over, em que um valor é somado ou subtraído extrapolando os limites
da variável fazendo com que o fim de um intervalo role para outra extremidade.
Por exemplo, temos uma variável do tipo Numero com o valor armazenado de
32.767 e somamos 1 a ela. O valor resultante dessa operação será de -32.768 e
não 32.768, uma vez que seu limite de armazenamento foi excedido.
Comentários:
Comentários são um recurso essencial na programação. Funcionam como “no-
tas do autor” e contribuem para um melhor entendimento e organização do có-
digo. Na hora da compilação, essas linhas são ignoradas pela máquina, fato que
não desmerece a relevância dessa ferramenta. É de suma importância que os pro-
gramadores deixem notas explicando o que está sendo feito e qual o objetivo de
cada bloco. Tal processo dinamiza o desenvolvimento. Imagine procurar um bug,
ou consertar um erro em um código com 500 linhas (marco não muito difícil de
ser alcançado) sem ter a menor ideia de onde procurá-lo!
No Br.ino, os comentários podem ser introduzidos por meio de uma barra du-
pla na frente da linha (//) fazendo com que essa linha em específico seja um co-
mentário. Outra forma de usar essa ferramenta é utilizar uma barra acompanha-
da por um asterisco (/*) abrindo um bloco de comentário que só terminará em
um asterisco seguido por uma barra (*/).
26
Apostila Br.ino
Operadores:
No Br.ino existem alguns operadores que podem incrementar ou decrementar o
valor de uma variável. Além daqueles a que estamos acostumados (+, -, *, /), há
também incrementadores especiais. São eles:
Ex.: X = 2 * 5
27
Apostila Br.ino
Condição
I MAGEM 3.1
Agora que temos uma noção do que se trata, podemos estudar os Operadores
Relacionais. Eles nada mais são do que comparadores que usaremos para anali-
sar informações tendo uma saída de Verdadeiro ou Falso. Os operadores estão
representados na tabela a seguir:
Nota: Tome cuidado! Não se esqueça que o símbolo “=” faz uma atribuição, sen-
do diferente do “==”, que faz uma comparação.
28
Apostila Br.ino
se(expressão booleana){
// Se a expressão for Verdadeira esse bloco será executado.
// Se ela for Falsa o bloco será ignorado.
}
se(expressão booleana){
// Se a expressão for Verdadeira esse bloco será executado.
}
senao{
// Se ela for Falsa esse bloco será executado.
}
se(expressão booleana){
// Se a expressão for Verdadeira esse bloco será executado.
}
senao se(outra expressão booleana){
// Se a segunda expressão for Verdadeira
// esse bloco será executado.
}
senao{
// Se nenhum dos blocos anteriores forem executados,
// esse será.
}
enquanto(Condicao){
// Esse bloco é repetido enquanto a condição for verdadeira.
}
29
Apostila Br.ino
Exemplo:
Operadores lógicos:
Os operadores lógicos são usados quando uma expressão booleana não é o su-
ficiente para a tomada de decisões, então, por meio deles, podemos ter mais do
que uma expressão booleana com apenas uma saída. Um jeito interessante de
pensar nesses problemas é voltando ao exemplo do guarda-chuva. Eu estou sain-
do de casa, se estiver ensolarado eu não irei pegar o guarda-chuva, mas caso es-
teja chovendo ou pareça que vai chover, devo pegá-lo.
Sim Pegar
guarda-chuva
Está chovendo ?
I MAGEM 3. 2
Repare nos exemplos, para saber a saída, devemos fazer essa operação por eta-
pas. No caso “2>1 e 2>=2”, temos duas expressões booleanas (Verdadeiro ou
Falso). Como sabemos resolvê-las podemos dizer que o problema fica Verdadei-
ro e Verdadeiro. Observa-se que ambas as expressões têm uma saída verdadeira
e estão ligadas pelo operador “e”, logo, o resultado será Verdadeiro.
30
Apostila Br.ino
Funções ou Métodos:
Funções ou métodos consistem em um determinado bloco de código escrito pelo
desenvolvedor para evitar repetir um conjunto de instruções manualmente. O
Br.ino requer o uso de pelo menos duas funções. Essas ferramentas são extre-
mamente importantes para reduzir o tamanho dos códigos e otimizar a utilização
da memória do Arduino. Para se declarar uma função, é necessário dizer que tipo
de dado ela nos retorna, ou seja, qual a saída que ela nos fornece após efetuar
todas as suas instruções, que pode ser qualquer tipo de variável ou SemRetor-
no se ela não responde nada, e seu identificador, que dá nome à função. É ne-
cessário também declarar os dados, ou argumentos, que ela receberá para efe-
tuar suas operações. A declaração e a chamada de uma função segue o modelo:
Um exemplo de função é:
Nesse exemplo foi declarada uma função “soma” que recebe dois argumentos do
tipo Numero. Ela pega esses dois números e devolve a soma deles. O valor do
resultado é atribuído a variável “z”.
Configuracao():
É responsável por preparar o hardware para a execução do loop principal. O mé-
todo de Configuracao() é executado uma única vez quando o Arduino é ligado
ou resetado e é ignorado no decorrer do código. É nele que definimos a cone-
xão com a porta USB, os modos de operação dos pinos, e outros parâmetros.
Configuracao(){
// Esse bloco e repetido apenas uma vez na inicializacao.
}
31
Apostila Br.ino
Principal():
O método Principal() é um dos mais usados para se colocar a parte principal do
programa. Ele é executado a partir do momento que o Arduino é ligado, após a
execução do Configuracao, até o momento em que ele é desligado podendo ser
repetido incontáveis vezes. Nele colocamos todas as operações necessárias para
o funcionamento contínuo do projeto.
Principal(){
// Esse bloco e repetido continuamente.
}
Termos importantes:
Ao se lidar com programadores uma série de termos são usados, abaixo listamos
alguns deles:
Bug: Esse termo é utilizado para descrever algum erro ou falha no pro-
grama, ou seja, quando algo inesperado ocorre e ele não cumpre seu
objetivo. A palavra em inglês significa “inseto” quando traduzida. Acre-
dita-se que o termo tenha sido utilizado inicialmente por Thomas Edi-
son ao enfrentar problemas com seu fonógrafo, pois o aparelho pos-
suía insetos em seu interior. A expressão se popularizou no mundo da
informática, pois os primeiros computadores valvulados atraíam diver-
sos insetos que causavam em erros.
I MAGEM 3.3
32
Apostila Br.ino
Principal(){ Principal(){
Pino.ligar(pinoLed); Pino.ligar(pinoLed);
esperar(2000); esperar(2000);
Pino.desligar(pinoLed); Pino.desligar(pinoLed);
esperar(2000); esperar(2000);
} }
33
4 INTRODUÇÃO À
ELETRÔNICA BÁSICA
Apostila Br.ino
Grandezas ◊ Capacitores
◊ Corrente Elétrica (I) Cerâmica
◊ Resistência(R) Eletrolítico
◊ Tensão (U) ◊ Diodos
◊ Polos Elétricos LEDs
◊ Motores
Conceitos CC simples
◊ Circuito aberto/fechado Servo
◊ Ponte H De passo
Componentes Baterias
◊ Resistores
LDR Associação de componentes
Potenciômetro ◊ Resistores
◊ Buzzer ◊ Capacitores
◊ Interruptores ◊ Pilhas/Baterias
Relés
Grandezas:
Eletrônica é o ramo da física que estuda as propriedades e aplicações de meca-
nismos cujo funcionamento baseia-se do movimento de elétrons. Nesta unida-
de veremos as principais grandezas pertencentes à essa ciência.
35
Apostila Br.ino
Resistência (R):
A resistência elétrica é a capacidade de um corpo qualquer de se opor a corrente
elétrica mesmo quando uma diferença de potencial é aplicada. Na analogia com
a água, a resistência está diretamente relacionada a espessura do cano, permi-
tindo que passe mais ou menos líquido. Ela é medida em ohm (Ω) e está direta-
mente relacionada à lei de Ohm, que será explicada mais à frente.
36
Apostila Br.ino
Tensão (U):
A tensão, também conhecida como DDP (Diferença De Potencial) ou voltagem,
assim como o nome já sugere, representa a diferença de potencial entre dois pon-
tos, ou seja, é a quantidade de energia gerada para movimentar uma carga elétri-
ca. A tensão é medida em Volt (V), em homenagem ao físico italiano Alessandro
Volta, um jeito de pensar nela é como a força que “empurra” as cargas. Na com-
paração com a hidráulica, ela seria a diferença de altura de duas caixas d’água,
que gera uma energia potencial das moléculas.
Polos Elétricos:
A ideia de pólos elétricos está diretamente relacionada à tensão. Há dois princi-
pais polos na corrente contínua, o positivo (+) e o negativo (-), que no nosso caso
será o ground (GND). O negativo se caracteriza como o polo de menor poten-
cial elétrico (V-), que no Arduino possui 0 volts. Já o positivo, é o polo de maior
potencial elétrico que no Arduino é normalmente de 5 ou 3,3V. A voltagem de
um circuito pode ser medida a partir da diferença desses 2 polos pela fórmula:
U= (V+) – (V-)
Onde V+ representa a tensão do polo de maior potencial, o positivo, menos o de
menor, o negativo. É comum que o potencial do negativo seja 0V.
Conceitos:
Circuito aberto/fechado
Uma das maneiras mais simples de con-
trolar um circuito elétrico é o ligando e
desligando. Para isso pode ser utilizado
um interruptor que abre e fecha o cir-
cuito, ou seja, permite ou não a passa-
gem de corrente. O circuito aberto blo-
queia a passagem da corrente, ou seja,
existe uma descontinuidade no “cami-
nho” da energia.
Suponha que você tenha uma lanterna, e obviamente, você não deseja que ela I MAGEM 4.4
fique apenas ligada ou desligada, mas sim que essa mudança possa ocorrer facil-
mente. Para resolver esse problema existe o botão dela, o nosso interruptor, que
é capaz de fechar ou abrir o circuito. Para exemplificar esse problema temos os
esquemáticos de uma “lanterna” simples ao lado, em que o da esquerda repre-
senta o circuito aberto (sem a passagem da corrente e, consequentemente, sem
brilho na lâmpada) e o da direita o circuito fechado (com a lâmpada brilhante).
37
Apostila Br.ino
Ponte H
A ponte H é um circuito comumente utilizado
para o controle de motores de corrente contí-
nua (conhecidos como motores CC). Ela é utiliza-
da por permitir o controle de velocidade/direção
dos motores e por facilitar o uso de uma alimen-
tação externa, tendo em vista que a baixa cor-
rente que o Arduino pode fornecer geralmente
não é o bastante para alimentar esses atuadores.
A imagem ao lado mostra a representação de
uma ponte H simples, que recebe esse nome em
função de seu formato. Podemos observar o mo-
tor no centro dela e os polos de alimentação em
cima (positivo) e em baixo (negativo) e quatro in-
terruptores que podem controlar qual dos polos
chega a cada lado do motor.
Ao ligarmos as portas S1 e S3 o motor gira
para um lado e quando ligamos as portas S2 e S4
ele gira para o outro lado, ou seja, ao fazer isso
invertemos a polaridade que chega ao motor. E,
para fazer com que o motor pare, basta desligar
todas as portas pois assim não haverá diferença
de potencial entre os terminais. I MAGEM 4.5
Componentes:
Resistores:
Um resistor é um componente que apresenta uma certa dificuldade ou resistên-
cia à passagem de corrente. Os resistores são amplamente utilizados em circui-
tos, seja para regular a tensão ou a corrente. A resistência de um resistor é me-
dida em ohms, representado pela letra grega Ω.
Os resistores podem ser associados para obter valores não disponíveis comer-
cialmente, ou específicos para o projeto. Esse processo está explicado no capí-
tulo “associações”.
38
Apostila Br.ino
IM AG EM 4 .6 IM AG EM 4 .6.2
Além dos resistores comuns, existem resistores que variam a sua resistência
de acordo com fenômenos físicos como a luminosidade, no caso do LDR, ou a
temperatura, no caso do Termistor. Devido à suas propriedades, tais resistores
são muito utilizados como sensores na robótica. Depois de alguns capítulos, você
perceberá que grande parte dos sensores são resistivos. Agora falaremos um pou-
co sobre o LDR e sobre o potenciômetro, os resistores variáveis mais utilizados:
LDR:
Um LDR (Light Dependent Resistor) é um Resistor Dependente de Luz ou Fotor-
resistor. Sua resistência varia em função da luz que incide sobre ele. Tipicamen-
te, à medida que a intensidade da luz aumenta, a sua resistência diminui, permi-
tindo que mais corrente flua por ele. O LDR pode ser usado para confecção de
sensores de luminosidade. Abaixo podemos ver a imagem de um LDR e seu sím-
bolo esquemático.
IM AG EM 4 .7 IM AGEM 4.7. 2
39
Apostila Br.ino
Potenciômetro:
Esse tipo de resistor possui sua resistência interna que varia em função de uma
parte mecânica, ou seja, à medida que seu eixo gira, ele altera sua resistência. Tal
característica o torna muito útil em interações homem/máquina ou como sensor
para definir a posição de uma parte mecânica. Sua simbologia em esquemáticos
está representada a seguir (à direita):
IM AG EM 4 .8 IM AG EM 4.8. 2
Buzzer:
Um buzzer é um componente capaz de produzir sons na frequência recebida
atuando de maneira semelhante a uma caixa de som, porém com um consumo
menor. Ele possui polaridade definida (a perna mais longa é o positivo) e é com-
posto 2 camadas de metal e uma camada interna de cristal piezoeléctrico.
IM AGEM 4. 9
40
Apostila Br.ino
Interruptores:
Componente responsável por manter o circuito aberto ou fechado, quando acio-
nado, fecha o circuito e permite a passagem de corrente.
IM AG EM 4 .10 IM AG EM 4.1 0. 2
Relés:
Um relé é um interruptor eletromecânico que é acionado por uma corrente elé-
trica mudando a posição da chave, assim permitindo ou não a passagem de uma
corrente elétrica. Ele possui diversas aplicações, com um destaque especial no
uso de baixas correntes para o controle de correntes maiores como, por exem-
plo, na automação residencial e no controle de portas de elevadores.
IM AG EM 4.1 1
41
Apostila Br.ino
IM AG EM 4.1 2
42
Apostila Br.ino
L293D:
O L293D é um Circuito Integrado (CI) utilizado para o controle de motores CC.
Essa ferramenta é uma ponte H dupla, ou seja, com ela pode-se controlar o sen-
tido de rotação de até dois motores. Além disso, normalmente a corrente exigi-
da para alimentar os motores é superior àquela fornecida pela maioria dos Ar-
duinos, fato que torna a presença de um regulador de tensão ou outro tipo de
alimentação externa necessária para o seu correto funcionamento.
No CI apresentado na imagem abaixo, é possível controlar a velocidade dos
motores utilizando um pulso PWM nos pinos de controle de velocidade. As portas
Vcc 1 e Vcc 2 são as portas de entrada da voltagem alimentando o lado esquer-
do (entradas e saídas 1 e 2) e direito (entradas e saídas 3 e 4) respectivamente.
As terminações GND são responsáveis por fechar o circuito, sendo sempre res-
ponsável pelas entradas e saídas mais próximas.
IM AG EM 4.1 3
Capacitores:
Capacitores são componentes elétricos capazes de armazenar carga elétrica. Di-
ferente da bateria que libera cargas elétricas a partir de reações químicas man-
tendo a tensão relativamente constante, o capacitor pode apenas armazenar car-
ga de uma fonte externa, armazenando-a para posteriormente liberá-la.
Tal capacidade, chamada capacitância, é mensurada de acordo com a distân-
cia entre suas placas internas e o material dielétrico, popularmente conhecido
como isolante, utilizando a unidade de medida Farad (F). Eles são muito utiliza-
dos em projetos de eletrônica por sua capacidade de liberar a energia de manei-
ra rápida sem cessar instantaneamente, dependendendo do exigido pelo circui-
to. A seguir discutiremos dois dos tipos de capacitores, que são os mais utilizados
em pequenos projetos:
43
Apostila Br.ino
IM AG EM 4 .14 IM AG EM 4.1 4. 2
Nota: O valor dele é tabelado. Para encontrá-lo use o código escrito nele.
IM AG EM 4 .15 IM AG EM 4.1 5. 2
44
Apostila Br.ino
Diodos
O diodo é um componente de dois terminais que conduz a corrente em apenas
um sentido, bloqueando a sua passagem no sentido oposto. Ele é um semicon-
dutor muito usado em retificadores e em circuitos de proteção. Existem diversos
modelos, com diversas funções.
Nota: Seu uso geralmente implica em uma pequena queda de tensão (0,7 V).
1. LEDs: Um LED (Light Emitting Diode) é um diodo emissor de luz. Isso signi-
fica que ele tem as propriedades de um diodo (descrito acima) e é capaz de
liberar luz própria, como uma pequena lâmpada. Ele é um semicondutor e a
perna mais comprida é a positiva. Sua simbologia está representada a seguir:
IM AG EM 4 .16 IM AG EM 4.1 6. 2
Nota: O valor de tensão e corrente de cada LED pode ser consultado no capí-
tulo 9, na parte de LEDs.
45
Apostila Br.ino
2. RGBs: LEDs RGBs são basicamente três LEDs associados, sendo um deles
vermelho, um verde e um azul. Com esse componente podemos emitir luzes
de cores distintas, basta regular a intensidade de cada LED presente no RGB.
Este possui quatro pernas sendo a mais longa o cátodo ou o ânodo comum.
Motores
Neste capítulo iremos abordar os motores elétricos, dispositivos capazes de trans-
formar energia elétrica em mecânica e vice-versa. Eles podem ser classificados
como atuadores e são componentes que devem ser escolhidos com calma. A se-
guir veremos os principais tipos de motores C.C..
I M AGE M 4 .1 8 IM AG EM 4.1 8. 2
46
Apostila Br.ino
Servo motores:
Servo motores são motores de corrente contínua com uma caixa de redução aco-
plada e um circuito controlador. Existem dois tipos de servomotores:
Nota: Fique atento quanto ao consumo deles, eles podem precisar de uma ali-
mentação externa.
IM AG EM 4 .19
IM AG EM 4 .19.2
IM AG EM 4 .2 0
47
Apostila Br.ino
Motores de passo:
Os motores de passo são usados para realizações de movimentos muito preci-
sos, utilizado para isso “passos”, que seriam pequenos movimentos do motor. Ele
utiliza uma quantidade variada de fios que podem acionar as suas bobinas inter-
nas, possibilitando assim, controlar a sua posição por meio de padrões. São co-
mumente encontrados, por exemplo, em impressoras.
IM AG EM 4 .2 1 IM AG EM 4. 21 . 2
Baterias
Um ponto muito importante no planejamento de um robô é a escolha de suas
baterias. Pilhas são energia química armazenada que pode ser convertida facil-
mente em energia elétrica, enquanto baterias são conjuntos de pilhas ligadas en-
tre si. Baterias podem influenciar muito no preço e no peso do robô e, quando
mal escolhidas, podem causar diversos problemas incluindo a parada completa
do robô. Os pontos mais importantes na escolha delas são:
◊ Corrente;
◊ Tensão;
◊ Peso;
◊ Custo.
Antes que possamos falar sobre baterias, deve-se ter em mente o efeito memória,
popularmente conhecido como “bateria viciada”. Ele ocorre principalmente nos
modelos mais antigos, chamados Níquel Cádmio, geralmente quando não acon-
tece a descarga completa antes da recarga ou caso seu carregamento seja inter-
rompido antes de estar completo. Esse mau uso faz com que a bateria “se acostu-
me” a receber apenas uma parte da sua carga, reduzindo sua duração e vida útil.
Outro ponto que deve ser destacado é que as baterias sofrem um desgaste
natural com o passar do tempo e algumas precisam ser armazenadas de manei-
ras específicas para que possam ser utilizadas por um longo período de tempo.
A seguir iremos falar dos tipos de baterias mais comuns, citando as suas princi-
pais vantagens e desvantagens.
48
Apostila Br.ino
Nota: Fique atento à forma correta de descarte de baterias, que deve ser feito
em lugares específicos de coletas, pois estas são agressivas ao meio ambiente.
Nota: Vale a pena lembrar que as pilhas e baterias do mesmo tipo podem ser as-
sociadas com o fim de obter maior tensão ou maior corrente/autonomia. O ca-
pítulo 4 aborda esse tema.
IM AG EM 4 .2 4
IM AG EM 4 .2 5
49
Apostila Br.ino
Chumbo-Ácido:
As baterias de chumbo são muito eficientes quando se trata de armazenar uma
grande carga, porém são muito pesadas. Elas são muito utilizadas atualmente em
automóveis e em empilhadeiras. As baterias de chumbo utilizadas em carros pos-
suem 12V de tensão e correntes de até 70A!
Nota: A tensão das baterias de Lítio não pode passar de um limite, elas devem
variar apenas dentro de uma margem estabelecida pelo fabricante. Uma descar-
ga excessiva pode comprometer a sua capacidade de armazenamento e uma car-
ga excessiva pode causar até a sua explosão.
Aviso: Use sempre fontes próprias para o seu tipo de bateria com a tensão e
corrente indicada pelo fabricante para evitar acidentes e prolongar a vida útil do
produto.
IM AGEM 4. 26
50
Apostila Br.ino
Associações
Associações são formas de relacionar componentes ou baterias, com o intuito de
atingir medidas específicas, até então inalcançáveis, de certa grandeza. Ressalta-
-se que este tipo de conhecimento é de extrema utilidade, pois nem todos os va-
lores estão disponíveis comercialmente. As associações podem acontecer de três
formas, em série, em paralelo ou mistas, e cada uma possui suas características.
Neste capítulo, será demonstrada a associação de resistores, capacitores e
baterias.
Resistores:
Em série: os resistores são conectados um na frente do outro de forma que a
corrente percorra todos. A resistência equivalente é igual à soma das n resistên-
cias em série.
I MAGEM 4. 27. 2
51
Apostila Br.ino
1= 1 + 1 + ... + 1
Req R1 R2 Rn
IM AG EM 4 .2 7.3
I M AGE M 4 . 27.4
Capacitores:
A associação de capacitores ocorre de maneira semelhante à de resistores, po-
rém, deve-se usar a fórmula de associação em paralelo de resistores para a asso-
ciação em série de capacitores e vice-versa, invertendo, assim, os casos.
Série:
1 = 1 + 1+ ... + 1
Ceq C1 C2 Cn
IM AG EM 4 .2 7.5
52
Apostila Br.ino
Paralelo:
Ceq = C1 + C2 + ... + Cn
I M AGE M 4 . 27.6
I MAGEM 4. 27.7
Pilhas/Baterias:
Um conjunto de pilhas pode ser chamado de bateria e a sua associação deve
ser feita com cautela. Ao associar, use apenas pilhas de mesma idade e de mes-
mo material e estude mais profundamente sobre como deve ser feito o carre-
gamento que, muitas vezes, deve ocorrer de maneira individual para cada célu-
la (pilha) da bateria.
Veq = V1 + V2 + ... + Vn
53
Apostila Br.ino
Paralelo: por outro lado, a associação em paralelo não aumenta a tensão resul-
tante, mas sim a corrente/duração das pilhas utilizadas.
ieq = i1 + i2 + ... + in
Mista: como o próprio nome já sugere, esse tipo de associação utiliza ambas as
técnicas para obter maior corrente e maior tensão. Suas grandezas de saída po-
dem ser calculadas usando os mesmos meios dos itens anteriores.
54
5 ERROS
FREQUENTES
Apostila Br.ino
E R R O S FR EQUEN T ES
Em programação é comum a presença de erros banais que muitas vezes não são
facilmente identificados. Tendo isso em mente esse breve capítulo visa abordar
os desacertos mais comuns para que eles sejam mais rapidamente corrigidos.
I M AGE M 5.1
IM AG EM 5.2
56
Apostila Br.ino
1. Reinicie o computador.
2. Repita os passos de 1 ao 3.
IM AG EM 5.4
57
Apostila Br.ino
Letras maiúsculas
O Br.ino, assim como o Arduino diferencia letras maiúsculas e minúsculas. É co-
mum erros por esse detalhe, pois comandos e variáveis que possuem letras maiús-
culas se diferem das que não tem. Fique atento a esse detalhe e tente sempre
seguir o mesmo padrão. Abaixo temos algumas dicas de como nomear funções
e variáveis:
Evite acentos:
Ex.: Numero APotenciometro = 0;
58
6 PROJETOS
Projeto 1
P I S CA R
Nota: Mais informações sobre LEDs podem ser encontradas no capítulo 4 de In-
trodução a Eletrônica.
O Arduino possui um LED que está conectado ao Pino 13, em sua placa. Os pi-
nos são Entradas e Saídas eletrônicas do Arduino. Eles são controlados por meio
de códigos e são fundamentais para qualquer projeto. Também conhecidos como
portas, os pinos são as ferramentas utilizadas para entender o ambiente, por meio
da entrada de sinais, ou para atuar sobre ele, por meio da saída de sinais.
Nesta atividade, o Pino 13 será ligado e desligado intermitentemente para que
o LED da placa pisque em um intervalo de tempo definido. Em seguida, será co-
nectado um LED externo ao Arduino, controlado por meio do mesmo algoritmo.
O Código
Siga as instruções a seguir para programar seu projeto:
Principal(){
Pino.ligar(pinoLed);
esperar(2000);
Pino.desligar(pinoLed);
esperar(2000);
}
60
Projeto 1
OBS: se uma janela solicitando o nome do rascunho aparecer, insira “Piscar”, cli-
que em “OK”.
5. Espere até o log da IDE (área embaixo do editor) mostrar que o rascunho foi
compilado e carregado.
OBS: caso ocorra qualquer erro, verifique o seu código, a placa e a porta serial
selecionadas.
Depois de carregado, observe o LED da sua placa acender por dois segundos e
depois desligar também por dois segundos.
Analisando o código
//Projeto 1 – Piscar
Essa linha é apenas um comentário com o nome do projeto. Ela será ignorada
pelo compilador, mas é extremamente importante para a compreensão do códi-
go por seres humanos.
A linha seguinte é:
Essa linha cria uma variável do tipo Numero com o nome pinoLed para armaze-
nar o número do pino em que o LED interno do Arduino está conectado.
Logo depois, declaramos a função Configuracao:
Configuracao(){
Pino.definirModo(pinoLed, Saida);
}
Pino.definirModo(pinoLed, Saida);
61
Projeto 1
Essa linha define o modo do pino do LED(pinoLed), que possui o valor 13, como
Saida, ou seja, o Arduino irá emitir, quando ordenado, um sinal elétrico de 0 ou
5 Volts através do pino previamente definido. O método definirModo() do con-
junto Pino tem como argumentos o número do pino e o modo, que pode ser En-
trada ou, como neste caso, Saida. Depois de executar a configuração, o Arduino
inicia o método Principal() que nesse rascunho é:
Principal(){
Pino.ligar(pinoLed);
esperar(2000);
Pino.desligar(pinoLed);
esperar(2000);
}
Pino.ligar(pinoLed);
O método ligar do conjunto Pino liga o pino fornecido como argumento, no caso
pinoLed, que definimos como sendo 13 no começo do código. Quando ligamos
uma porta, enviamos 5 volts para ela, e quando desligamos, enviamos 0 volts. É
esperado que o led do Arduino acenda. A linha seguinte é:
esperar(2000);
Pino.desligar(pinoLed);
Se a função ligar fazia com que o pino ligasse, o método desligar faz o contrário e
desliga o pino. Ou seja, essa linha irá enviar 0 V pelo pino digital pinoLed, fazendo
o LED apagar. Depois disso o código apresenta outra espera de dois segundos e
reinicia o método Principal, repetindo-o enquanto o Arduino permanecer ligado.
Agora, antes de demonstrar esse projeto utilizando um LED externo, lista-
mos os materiais necessários para a montagem do hardware, ou seja, a parte fí-
sica do projeto:
62
Projeto 1
Montando o hardware:
Primeiramente, reproduza o circuito abaixo, com seu Arduino desligado. Se ne-
cessário consulte também o diagrama ou esquemático das ligações:
IM AG EM 6.1
I M AGE M 6.1.2
63
Projeto 1
Analisando o hardware
O hardware montado para esse projeto é bem simples. Conectamos à porta 13
do Arduino um resistor de 470 Ω e, ao resistor, um LED que tem sua outra perna
conectada ao Ground do circuito. O resistor é utilizado para provocar uma que-
da de corrente e tensão no circuito, pois o Arduino envia, em cada porta, quan-
do ligada, 5V de tensão e até 40 mA de corrente e seu LED geralmente utiliza
uma corrente de 20 mA e uma tensão abaixo dos 3V. Para calcular o melhor re-
sistor para seu circuito, deve-se buscar o datasheet1 do LED e verificar a corrente
e tensão nominais dele. Com esses dados em mãos, aplica-se a seguinte fórmula:
R = Vs - Vi
i
64
Projeto 2
L I G A R LUZ C OM B OTÃO
Neste projeto, vamos utilizar um botão para controlar o LED do primeiro capítu-
lo. Será ensinado como utilizar entradas digitais no Arduino com resistores pull-
-down externos e pull-up internos.
Montando o hardware
IM AG EM 6.2
65
Projeto 2
IM AG EM 6.2 .2
Analisando o Hardware
O hardware desse projeto é muito similar ao do primeiro, com a adição do bo-
tão na porta digital 2 do Arduino. Para montá-lo, utilizamos um resistor pull-do-
wn de 1k ohm. Os resistores pull-down e pull-up são utilizados como filtros para
as portas digitais do Arduino, para garantir que elas não leiam valores aleatórios.
A diferença entre eles está no estado que eles mantêm na porta do Arduino. Re-
sistores pull-down mantém valores baixos ou desligados enquanto o botão não
for pressionado, pois conectam o ground (0V) à porta digital. Já os resistores pul-
l-up fariam uma inversão dos estados: manteriam a porta alta, ou ligada (5V), en-
quanto o botão não estivesse pressionado.
O Código
Abra a IDE do Br.ino e digite o código abaixo.
Configuracao(){
Pino.definirModo(pinoLed, Saida);
Pino.definirModo(botao, Entrada);
}
66
Projeto 2
Principal(){
Numero estadoBotao = Pino.ler(botao);
se (estadoBotao == Ligado){
Pino.escrever(pinoLed, Ligado);
esperar(1000);
}
Pino.escrever(pinoLed, Desligado);
}
Analisando o código
A partir deste capítulo destacamos apenas métodos e palavras-chaves não des-
critas anteriormente.
Diferente do outro código, dessa vez marcamos as variáveis pinoLed e botao como
constantes, ou seja, avisamos para o Arduino que seus valores não serão alte-
rados durante a execução do rascunho. Fazemos isso, pois constantes ocupam
menos espaço de memória do que variáveis que podem ter seu valor alterado.
Nesse pequeno projeto, esse espaço de memória pode não fazer falta, mas em
projetos maiores, fará grande diferença. Depois da declaração das variáveis te-
mos o método Configuracao, onde temos dois comandos. Um que define o pino
do LED como saída e o seguinte:
Pino.definirModo(botao, Entrada);
Nessa linha definimos que o nosso botão atuará como uma entrada e não como
uma saída, dessa forma o Arduino poderá ler o valor da porta e saber se há cor-
rente ou não, ou seja, se o botão está apertado ou não.
A partir do método ler do conjunto Pino podemos obter o valor da porta digital
botao que poderá ser Ligado, caso exista corrente fluindo, ou Desligado, caso
não exista corrente fluindo. Depois de ler a porta, guardamos o valor na variável
estadoBotao. Na linguagem Br.ino, “Ligado” é representado pelo valor inteiro 1,
e “Desligado”, pelo valor 0. Então, é atribuído à variável estadoBotao o valor 1 ou
0. Podemos então em seguida usar seu valor pra tomar uma decisão com o se.
se (estadoBotao == Ligado){
...
}
67
Projeto 2
Nota: O termo Ligado poderia ser substituído pelo número 1, entretanto isso di-
ficultaria a leitura do programa.
Pino.escrever(pinoLed, Ligado);
O método escrever nada mais é do que outra forma de ligar e desligar o pino. No
primeiro projeto utilizamos os métodos ligar e desligar, que equivalem a escre-
ver o estado Ligado ou Desligado, respectivamente, ao pino. Os métodos ligar e
desligar são abstrações, ou seja, simplificações, do método escrever.
Pino.ligar(Led);
Pino.desligar(Led);
Pull-up
O Arduino já possui internamente resistores pull-up em seus pinos. É possível
utilizar o modo Entrada_PULLUP para aproveitar estes resistores. A montagem e
o código ficariam da seguinte forma:
IM AG EM 6.2 .3
68
Projeto 2
IM AG EM 6.2 .4
Configuracao(){
Pino.definirModo(pinoLed, Saida);
Pino.definirModo(botao, Entrada_PULLUP);
}
Principal(){
Numero estadoBotao = Pino.ler(botao);
se (estadoBotao == Desligado){
Pino.escrever(pinoLed, Ligado);
esperar(1000);
}
Pino.escrever(pinoLed, Desligado);
}
Como você pode perceber a leitura do botão fica invertida, logo, quando ele é
pressionado, a leitura será igual a 0V ou desligado. Isso acontece, pois o resis-
tor pull-up manterá a porta com corrente fluindo, com a voltagem no limiar su-
perior(up), por isso é chamado assim.
69
Projeto 3
Montando o hardware
Com o Arduino desconectado, monte o circuito mostrado abaixo:
IM AG EM 6.3
70
Projeto 3
Analisando o hardware
O hardware desse projeto é simples. O
Arduino alimenta o circuito por meio
da porta 5V, a corrente flui pelo LDR,
que de acordo com a luminosidade va-
ria sua resistência, alterando a quanti-
dade de energia que passa por ele. Em
seguida, essa energia volta para a pla-
ca, fechando o circuito. Há um resistor
conectado ao GND do Arduino e a uma
das extremidades do LDR (esse compo-
nente não possui polaridade), atuando
como um filtro e estabilizando a tensão
de saída. Essa mesma perna do LDR li-
gada ao resistor é conectada na porta
A0 do Arduino, para que possamos fa-
zer as leituras necessárias.
IM AGEM 6.3. 2
O Código
Abra a IDE do Br.ino e digite o código abaixo. Depois de carregar o código, abra
o Monitor Serial para acompanhar os dados coletados pelo Arduino.
//Projeto 3 – LeituraAnalógicaParaUSB
Configuracao() {
USB.conectar(9600);
}
Principal() {
leitura = Pino.lerAnalogico(LDR);
USB.enviarln(leitura);
esperar(500);
}
71
Projeto 3
Analisando o código
O código começa definindo a porta de entrada do sensor como LDR e, em se-
guida, cria a variável leitura que vai guardar o valor das medidas. Essa parte do
código está exposta abaixo:
Depois, inicia-se a comunicação serial via USB para que seja possível apresentar
os dados lidos pelo Arduino na tela do computador:
USB.conectar(9600);
leitura = Pino.lerAnalogico(LDR);
Ela faz a leitura analógica da porta onde está conectado o LDR (no caso a porta
A0, como declaramos) e atribui o valor dessa medida a variável leitura. Leituras
analógicas diferem das leituras digitais, pois podem assumir qualquer valor intei-
ro entre 0 e 1023 de forma proporcional à voltagem na porta. A próxima linha
envia o valor de leitura pela comunicação para ser exibida pelo monitor serial.
USB.enviarln(leitura);
Por fim, o código possui uma pausa de meio segundo entre uma medida e outra,
para facilitar o controle e observação dos dados obtidos.
esperar(500);
72
Projeto 4
Montando o Hardware
Com o Arduino desconectado, monte o circuito abaixo:
IM AG EM 6.4
73
Projeto 4
IM AGEM 6.4. 2
Analisando o Hardware
O hardware desse projeto é dividido em duas partes: a primeira é o circuito do ser-
vo motor e a segunda, o do potenciômetro. Será analisada cada uma delas a seguir:
O Código
usar Servo
Servo meuServo;
74
Projeto 4
Configuracao() {
meuServo.conectar(Digital.5);
}
Principal(){
valorPotenciometro = Pino.lerAnalogico(potenciometro);
angulo = proporcionar(valorPotenciometro, 0, 1023, 0, 180);
meuServo.escreverAngulo(angulo);
esperar(15);
}
Analisando o código
O código deste projeto começa com a adição da biblioteca para controle de ser-
vos. Uma biblioteca é um conjunto de código escrito por outras pessoas para
simplificar a produção de algoritmos e aproveitar conjuntos de instruções comu-
mente utilizadas. Sempre que quisermos usar bibliotecas usaremos o comando:
usar
usar Servo
Servo meuServo;
Depois disso, as variáveis que serão utilizadas são declaradas e o bloco de Con-
figuracao possui apenas uma linha que é:
meuServo.conectar(Digital.5);
Essa linha está associando o servo meuServo ao pino 5 a partir do comando co-
nectar. No loop Principal pode-se observar que ocorre a leitura do potenciôme-
tro e que esta é salva na variável valorPotenciometro. Em seguida faz-se uma
regra de três entre a entrada, que varia de 0 a 1023, e a medida do ângulo do
servo, que, por sua vez, varia de 0 a 180. O resultado dessa regra de três é sal-
vo na variável angulo:
Em seguida é feito o ajuste do servo motor com base na variável calculada usan-
do o comando escreverAngulo:
meuServo.escreverAngulo (angulo);
75
Projeto 5
U LT R ASS OM + M EM ÓR IA
Montando o Hardware
Com o Arduino desconectado, monte o circuito abaixo:
IM AG EM 6.5
Analisando o Hardware
O hardware desse projeto é simples. A porta 5 é conectada ao trigger do ultras-
sônico, identificado no sensor como TRG, que é a porta de controle. Para ativar
76
Projeto 5
o envio de pulsos, essa porta será ligada por 10 microsegundos. E o pino 4 é co-
nectado ao echo, identificada como ECHO, que transmite a resposta por meio da
duração do pulso para o Arduino. Além das linhas de dados, conectam-se os pi-
nos de alimentação do sensor aos respectivos da placa microcontroladora – 5V
ao 5V e GND ao GND. No projeto também há um capacitor eletrolítico de 470uf
ligando o GND ao 5V, atuando assim como uma espécie de filtro
O Código
Abra a IDE do Br.ino e digite o código a seguir:
//Projeto 5 – Ultrassom+Memoria
usar Ultra
usar Memoria
Ultra u(5,4);
Configuracao(){
USB.conectar(9600);
para( Numero x = 0; x < 5; x++){
Numero d = u.medir();
Memoria.escrever(x, d);
USB.enviarln(d);
}
para( Numero x = 0; x < 5; x++){
USB.enviarln(Memoria.ler(x));
}
}
Principal(){
}
Analisando o código
A primeira linha do código é:
usar Ultra
Essa linha importará a biblioteca Ultra para que se possa utilizar seus métodos
durante a execução. A próxima linha também é uma importação:
usar Memoria
77
Projeto 5
Ultra u(5,4);
Essa linha gera um “nome” para seu sensor ultrassônico e determina sua porta
trigger (que envia o pulso ultrassônico) como o pino 5, e liga a porta echo ( que
notifica a recepção do pulso) ao pino 4. Para que possamos utilizar funções im-
portadas da biblioteca, é necessário sempre utilizar a nomeação previamente de-
finida para o sensor.
Depois, o método Configuracao() começa inicializando a conexão USB para
que se possa verificar o bom funcionamento do nosso código.
USB.conectar(9600);
Depois temos um loop para. Esse loop cria uma variável que utilizaremos de con-
tador e, enquanto ela estiver dentro do parâmetro definido, no caso, menor que
5, ele repetirá o bloco de instruções dentro do para, realizando o incremento de-
finido ao final, em nosso código, x++. Tal expressão de incremento é o equivalen-
te a x=x+1, ou seja, somar 1 ao valor armazenado na variável x.
Numero d = u.medir();
Essa linha cria uma variável para guardar o valor da distância medida pelo ultras-
sônico com o método medir(). Depois temos:
Memoria.escrever(x, d);
USB.enviarln(Memoria.ler(x));
O nosso método Principal está vazio, pois o Arduino não deverá repetir todo esse
processo, este deve ser executado apenas uma vez.
78
Projeto 5
Ao se observar o circuito montado, não é possível saber os valores que estão sen-
do retornados. Entretanto, o Arduino sabe se comunicar com o computador por
meio da porta USB através de um protocolo conhecido por comunicação serial.
Os dados dessa comunicação podem ser enviados e recebidos pelo Monitor Se-
rial de sua IDE. Caso não saiba como acessá-lo, dirija-se ao capítulo “Começan-
do” e siga os passos lá descritos.
79
Projeto 6
BUZZER
Este capítulo demonstra como utilizar um simples alto falante chamado buzzer.
Ele pode servir para atividades que vão desde a emissão de sinais e alertas so-
noros até a execução de melodias simples.
Montando o Hardware
Com o Arduino desconectado, monte o circuito abaixo:
IM AG EM 6.6
80
Projeto 6
Analisando o Hardware
Neste circuito há um buzzer, que é um
pequeno alto falante, com seu polo ne-
gativo (terminal mais curto ou de fio
preto) conectado ao GND do Ardui-
no e com o terminal positivo conecta-
do à porta digital número 4. Caso de-
seje saber mais sobre o componente
há uma pequena explicação sobre bu-
zzer no capítulo “Introdução a eletrô-
nica básica”.
IM AGEM 6.6. 2
O Código
Abra a IDE do Br.ino e digite o código.
//Projeto 6 – Buzzer
Constante Numero buzzer = 4;
Configuracao() {
Pino.definirModo(buzzer, Saida);
}
Principal(){
soar(buzzer, 440);
esperar(1000);
pararSoar(buzzer);
esperar(500);
soar(buzzer, 880);
esperar(1000);
}
81
Projeto 6
Analisando o código
O código começa com a declaração de uma variável que armazena o número do
pino em que o buzzer está conectado, ou seja, 4. O bloco de Configuracao() pos-
sui apenas um comando, que define o pino do buzzer como uma Saida.
Numero buzzer = 4;
Configuracao(){
Pino.definirModo(buzzer, Saida);
}
No loop Principal(), chama-se a função soar(), que possui dois parâmetros, o pri-
meiro é a porta em que o buzzer está conectado e o segundo a frequência que ele
deve tocar. Para nosso exemplo, escolhemos 440 Hz, um lá, como a nota deseja-
da. A função soar() também aceita um terceira argumento, que não foi necessá-
rio neste exemplo, que determina a duração desejada em milésimos de segundo.
soar(buzzer, 440);
Outro comando utilizado foi o pararSoar() que interrompe a função soar() silen-
ciando o buzzer. Ele aceita apenas um argumento que indica a porta que esta-
va controlando o buzzer.
pararSoar(buzzer);
Notas Musicais
É possível reproduzir incontáveis melodias utilizando os comandos demonstra-
dos. Para acelerar o processo de composição, confira a seguir os valores das fre-
quências de cada nota musical. É possível também multiplicar ou dividir esses
valores por múltiplos de 2 de forma a encontrar essa nota em oitavas diferentes.
Quanto maior a frequência, mais agudo será o som.
Nota Frequência
Dó 264 ou 528
Ré 297
Mi 330
Fá 352
Sol 396
Lá 440
Si 495
Divirta-se!
82
Projeto 7
83
Projeto 7
Montando o Hardware
Com o Arduino desconectado, monte o circuito abaixo:
IM AG EM 6.7
IM AGEM 6.7. 2
84
Projeto 7
Analisando o Hardware
Neste hardware percebe-se a junção de dois projetos. O primeiro é o regulador
de tensão, responsável por converter a voltagem de 9V da bateria para 5V e, as-
sim, alimentar devidamente os motores. Isso é necessário pois o Arduino nano
não é capaz de sustentar a corrente nos motores. Além disso, ressalta-se que es-
tes operam à 5V (Pode variar conforme o modelo do motor, confira o seu com
seu vendedor). Outra parte do projeto é o L293D, uma ponte H dupla, para o
controle dos motores CC a partir do Arduino. Esse é o esquema que será utiliza-
do para fazermos as operações para movimentar o nosso pequeno robô.
O Código
Abra a IDE do Br.ino e digite o código abaixo.
Principal(){
// Personalize este bloco para implementar diferentes atividade!
andarFrente();
}
Configuracao() {
USB.conectar(9600);
Pino.definirModo(pinoVelocidadeE, Saida);
Pino.definirModo(pinoVelocidadeD, Saida);
Pino.definirModo(motorE1, Saida);
Pino.definirModo(motorE2, Saida);
Pino.definirModo(motorD1, Saida);
Pino.definirModo(motorD2, Saida);
}
85
Projeto 7
Procedimento andarFrente(){
USB.enviarln("andando para frente");
Pino.escreverAnalogico(pinoVelocidadeE, 250);
Pino.escreverAnalogico(pinoVelocidadeD, 250);
Pino.ligar(motorE1);
Pino.desligar(motorE2);
Pino.ligar(motorD1);
Pino.desligar(motorD2);
}
Procedimento parar(){
USB.enviarln("parado");
}
Procedimento andarDireita(){
USB.enviarln("andando para direita");
}
Procedimento andarEsquerda(){
USB.enviarln("andando para esquerda");
}
Procedimento andarTras(){
USB.enviarln("andando para tras");
}
Analisando o código
Ainda que extenso, o código não deixa de ser simples. Primeiro, declara-se cada
porta e depois, como nos projetos anteriores, são definidas o tipo de sinal de
cada pino. A função Principal() encontra-se em branco para que você a perso-
nalize, aproveitando-se das outras funções implementadas. Estas funções são o
grande diferencial do algoritmo. Com elas, o robô se deslocará no espaço, avan-
çando, retrocedendo, realizando curvas, etc. Observe como criá-las:
Procedimento andarFrente(){
Esse comando declara o tipo e o nome da função. Como o objetivo desse bloco
de código é fazer com que o robô ande para frente, o nome do método é andar-
Frente(). Além disso, por não retornar valores nem atribuir dados a variáveis, mas
sim realizar uma ação, seu tipo é Procedimento. Dentro do bloco da função, vá-
rios comandos serão ordenados.
86
Projeto 7
Esse comando ajuda o usuário a entender o procedimento que está sendo exe-
cutado, imprimindo-o no monitor Serial.
Pino.escreverAnalogico(pinoVelocidadeE, 250);
Pino.escreverAnalogico(pinoVelocidadeD, 250);
Pino.ligar(motorE1);
Pino.desligar(motorE2);
Pino.ligar(motorD1);
Pino.desligar(motorD2);
Agora, o sentido de rotação de cada motor é controlado por meio das portas atre-
ladas à esses componentes. Ligando E1 e desligando E2, por exemplo, rotaciona-
-se o motor em um sentido. Ao inverter esse procedimento, troca-se o sentido.
É dessa forma que você deve implementar as outras funções, fazendo com que
estas controlem seu robô por completo. Por fim, lembre-se de utilizar a função
esperar() no bloco do método Principal() para movimentar seu robô.
87
7 DESPEDIDA
Apostila Br.ino
D E S P E DIDA
Esperamos que você seja capaz de fazer programas com a linguagem Br.ino e que
você tenha aprendido conceitos básicos de eletrônica. Não se limite a essa apos-
tila, o potencial de crescimento do mercado da engenharia mecatrônica, elétrica,
computação e várias outras que tiram proveito das habilidades descritas nesta
apostila é imensurável. Esse material não o tornará um especialista, mas acredi-
tamos que pode despertar a paixão necessária para tal, além de fornecer concei-
tos importantes para o desenvolvimento das habilidades necessárias no mundo
da computação.
O desenvolvimento do Br.ino e deste material objetiva a difusão da robótica.
Acredita-se que a robótica educacional tem poder transformador que desperta
o gosto pela ciência e pela tecnologia em estudantes, transformando jovens em
potenciais pesquisadores. Não apenas isto, a robótica dentro das instituições de
ensino auxilia o desenvolvimento de diversas habilidades importantíssimas no
mercado de trabalho no mundo globalizado, como por exemplo, programação,
solução de problemas complexos e trabalho em equipe.
Além do desenvolvimento de habilidades específicas, a robótica auxilia no en-
sino interdisciplinar, como exemplo na matéria de eletrodinâmica, da física, que
é vivenciada pelos que participam ativamente de projetos de robótica. Não ape-
nas na área da física se é possível tirar proveito da robótica no ensino, a mate-
mática também muito utilizada da lógica de programação, além da química e ou-
tras matérias no campo das exatas em geral.
Tendo em vista a abundância de benefícios no ensino da robótica, além da di-
versão proporcionada por ela, nós cinco nos unimos para desenvolver o Br.ino
e esta apostila para contribuir com a difusão do seu ensino nas escolas de for-
ma mais acessível. Esse material está integralmente disponível na internet, assim
como o Br.ino, no site brino.cc, pois nós buscamos a demo-
cratização da robótica para causar o maior impacto positivo
possível. Além disso, acreditamos na filosofia OpenSource1.
Por fim, desejamos boa sorte para todos em seus pro-
jetos com o Arduino. Compartilhe seus projetos conosco
e com a comunidade Br.ino em facebook.com/BrinoIDE.
E conte com o nosso apoio para o seu desenvolvimento!
Equipe Br.ino
I MAGEM 7.1
1 . O P E N SO U RC E é um t e r m o e m i n g l ê s q u e s ign ific a c ó d igo ab er to. Is s o d iz res p eito ao
có dig o -fo n t e d e um s of t wa re, q ue p od e s e r ad ap tad o p ara d ife re nte s fins . O te r m o fo i
cr ia do pe la O S I ( O p e n S ourc e I n i t i at i ve ) q u e o u tiliz a s o b u m p o nto d e vis ta es s e nc ial-
me n t e t é cn ico. [ c an al t e c h ]
89
8 APÊNDICES
Apostila Br.ino
A P Ê N D I C ES
Materiais Importantes
Este capítulo apresentará as principais ferramentas utilizadas durante a aposti-
la. Ressalta-se que o objetivo maior deste é apenas viabilizar um primeiro con-
tato com os componentes e que, por isso, seu conceitos não são aprofundados.
Não deixe de pesquisar para se familiarizar melhor com os materiais utilizados
durante as práticas.
Protoboard
Também conhecida como breadboard, é uma placa
para testes e uma maneira simples e eficaz de se
realizar simulações de circuitos sem o uso de sol-
das, altamente recomendada para prototipagem.
Caracteriza-se como uma placa de plástico repleta
de entradas nas quais diversos componentes po-
dem ser conectados e ligados por uma malha me-
tálica uns aos outros. As conexões seguem o pa-
drão indicado no diagrama da esquerda:
IM AG E M 8.1
IM AG EM 8.1.2
Jumpers
Jumpers são fios usados para fazer ligações, como
as realizadas em protoboards. Caracterizados por
conterem ou segmentos rígidos em suas extremi-
dades, como é o caso das pontas macho, ou entra-
das, como as pontas fêmeas. Eles facilitam o pro-
cesso de prototipagem.
Além disso, segmentos de fio soldados a uma
placa de circuito impresso com o objetivo de ligar
dois pontos desta também podem ser chamados
IM AG E M 8.1 .3 de jumpers.
91
Apostila Br.ino
Código de cores
O código de cores é um padrão a ser seguido em qualquer circuito. Seu objetivo
maior é uniformizar os tipos de ligações e associá-las a cores, facilitando o en-
tendimento do projeto. O código está descrito na tabela abaixo:
Nota: O sinal pode possuir várias cores por existirem diversos sinais indepen-
dentes dentro do mesmo circuito, assim possibilitando que se varie as cores para
evitar confusões e conexões erradas.
Nota2: Às vezes, utiliza-se a cor azul escuro para representar o negativo, e a cor
laranja para o positivo.
Fonte de alimentação:
Nota: Algumas delas possuem uma pequena chave de seleção de faixa de ten-
são de saída. Verifique se ela está presente no modelo com que se está traba-
lhando e se atente a posição dela.
92
Apostila Br.ino
TA B E L AS IM P ORTAN T ES
Valor de resistores
A unidade de medida de resistência é o ohm, representado pelo símbolo grego
Ômega (Ω). Para saber a resistência de um resistor basta agregar os algarismos
correspondentes às cores das duas primeiras faixas de cores e multiplicar esse
valor pela terceira. A quarta mostra a tolerância do resistor, que é o valor de sua
variação em relação ao valor nominal.
IM AGEM 8. 2
↑↑ ↑↑
12 34
1. Marrom;
2. Verde;
3. Vermelho;
4. Dourado;
93
Apostila Br.ino
ASCII:
A memória do computador não é capaz de armazenar diretamente caracteres,
tendo que guardá-los na forma de números. Cada caractere possui, por conse-
guinte, o seu equivalente em código numérico: é o código ASCII (American Stan-
dard Code for Information Interchange - Código Americano Padrão para a Troca
de Informações). Existem versões estendidas desse código, mas aqui trataremos
da sua versão básica.
Nessa tabela o código 0 a 31 não são realmente caracteres, sendo usados
como códigos de controle. Os códigos 65 a 90 representam as letras maiúscu-
las e os códigos 97 a 122 representam as letras minúsculas. Abaixo representa-
mos a tabela a partir do código 32. O código 32 representa o espaço. Infelizmen-
te pelo tamanho desta tabela nos iremos representar apenas parte dela, mas ela
pode ser facilmente encontrada na internet.
94
Apostila Br.ino
LEDs:
Para que cada LED possa ser utilizado, ele precisa de uma tensão e de uma corrente especí-
fica. Para saber como escolher as medidas certas basta saber o tipo de LED com que se está
trabalhando e seguir a tabela abaixo:
95
Apostila Br.ino
H A B I L I DADES I M P OR TA NTES
IM AGEM 8.3
96
Apostila Br.ino
3. Deixe a placa secando em uma estufa quente a 70°C por 15 min e depois
em uma câmara fechada por mais 5 minutos a temperatura ambiente.
4. Coloque as transparências sobre a placa e utilize uma luz ultravioleta duran-
te 4 minutos para queimar a tinta sobre a placa.
5. Retire a transparência e revele o circuito da placa, jogando-a em uma solu-
ção de barrilha(Carbonato de Sódio).
Conferidas todas as trilhas, dissolva o percloreto de ferro (que pode ser en-
contrado em lojas de eletrônica em geral) em água de acordo com as instruções
do produto e mergulhe sua placa na solução. O percloreto irá corroer o cobre
na superfície não marcada pela tinta, sobrando apenas as trilhas. Quando restar
apenas os caminhos, retire a placa da solução e lave-a bem.
Depois, retire a tinta fotossensível mergulhando a placa em uma solução de
soda cáustica. Por fim, utilize um furador de placas ou furadeira com broca de
0.9mm para fazer os furos dos componentes e então solde-os.
Soldagem e Dessoldagem
Soldar é uma das mais importantes habilidades na ele-
trônica, sendo utilizada em praticamente qualquer proje-
to do ramo. Neste capítulo falaremos sobre a soldagem
com várias dicas. Vale ressaltar que, como qualquer outra
habilidade, somente a prática ajudará no seu desenvol-
vimento. A primeira coisa que vamos apresentar é o fer-
ro de solda e a solda, também conhecida como estanho:
Essas são a ferramenta e a matéria prima para a solda-
gem. Vamos começar com dicas de manutenção do seu
ferro de solda.
Mantenha a ponta do seu ferro estanhada, ou seja, co- I MAGEM 8.3. 2
berta por solda, e livre de sujeiras, para isso, utilize uma esponja para ferro de
solda molhada.
Nota: Não utilize esponjas não próprias para esta finalidade, pois elas podem
derreter e danificar a sua ferramenta.
97
Apostila Br.ino
98
Apostila Br.ino
Multímetro e medidas
O multímetro é um aparelho que que mede diversas grandezas elétricas, entre
elas se destacam a corrente elétrica, diferença de potencial de aparelhos CC (Cor-
rente Contínua) e CA (Corrente Alternada) e a resistência elétrica. Além disso, é
possível aferir a continuidade de corrente em circuitos.
É uma ferramenta extremamente importante. Antes de utilizá-lo verifique se
o aparelho encontra-se em bom estado, para reduzir riscos de choques elétri-
cos. Sempre utilize uma escala grande e diminua-a até chegar próximo a medida
encontrada. Isso evita acidentes e a queima do aparelho, porém escalas maiores
possuem menor precisão.
IM AG EM 8.3.9
99
Apostila Br.ino
IM AG EM 8.3.10
Após montar o multímetro rode a chave seletora até o campo que apresenta um Ω
para medir resistência ou até o campo DCV (Voltagem de Corrente contínua) para
medir a diferença de potencial de dois pontos de tensão contínua. Outra simbolo-
gia utilizada para o mesmo tipo de medida é um V com uma barra e um pontilhado.
100
Apostila Br.ino
IM AG EM 8.3.1 2. 2
IM AG EM 8.3.1 4
I M AGEM 8.3.13
101
Apostila Br.ino
Como no caso anterior, mova a chave seletora para a medida que se deseja rea-
lizar. Nesse caso a DCA (Corrente Contínua) ou apenas A, variando entre mode-
los diferentes.
Nota: Fique atento a escala de cada uma das portas. É comum que a capacida-
de máxima de cada porta esteja escrita ao seu lado, como na imagem abaixo.
IM AGEM 8.3.1 5
Nota: O multímetro pode ser utilizado para testar LEDs! Para isso ele deve estar
no modo de teste de continuidade (o símbolo de um triângulo seguido por uma
linha perpendicular). Conecte as ponteiras como se fosse medir a resistência ou
a D.D.P.(Diferença de Potencial) e faça contato da ponteira vermelha na perna
positiva do LED (mais comprida) e a ponteira preta na outra.
102
Apostila Br.ino
PASSO 1: Baixe a biblioteca e salve em algum lugar onde você possa encontrar.
I M AGE M 8.3.1 8
103
IM AG EM 8.3.19
Apostila Br.ino
IM AG EM 8.3.2 0
I M AGE M 8.3.2 1
104
Apostila Br.ino
IM AG EM 8.3.2 2
I M AGE M 8.3.2 3
105
Apostila Br.ino
T I P O S DE AR DUI N O
Arduino Nano
Portas digitais 14
Portas PWM 6, sendo elas D3, D5, D6, D9, D10, D11
Portas analógicas 8
Memória 16k (ATmega168) ou 32k (ATmega328)
Conexão USB Mini-B
Tensão de operação 5V
Corrente máxima por pino 40mA
Alimentação 7-12 Vcc
Dimensões 1,7cm x 4,3cm
Nota: Não se esqueça que as portas PWM são portas digitais, então
tome cuidado para não contá-las duas vezes.
IM AG EM 8.4
106
Apostila Br.ino
Arduino UNO
Portas digitais 14
Portas PWM 6, sendo elas indicadas por um “~” na frente do nú-
mero da porta
Portas analógicas 6
Memória 32k
Conexão USB
Tensão de operação 5V
Corrente máxima por pino 40mA
Alimentação 7-12 Vcc
Dimensões 5,3cm x 6,8cm
I MAGEM 8.4. 2
Arduino Mega
O Arduino Mega possui dois principais modelos distintos:
Portas digitais 54
Portas PWM 15, sendo elas indicadas por um “~” na frente do número da porta
Portas analógicas 16
Memória 256K
Conexão USB
Tensão de operação 5V
Corrente máxima por pino 40mA
Alimentação 7-12 Vcc
Dimensões 5,3cm x 10,1cm
I MAGEM 8.4.3
107
Apostila Br.ino
Portas digitais 54
Portas PWM 15, sendo elas indicadas por um “~” na frente do número da porta
Portas analógicas 16
Memória 256K
Conexão USB
Tensão de operação 5V
Corrente máxima por pino 40mA
Alimentação 7-12 Vcc
Dimensões 5,3cm x 10,1cm
Essa versão do Arduino Mega possui a mesma base que o Arduino Mega
2560, diferindo - se por possuir um conector host USB. Esse tipo de
entrada permite que a placa se conecte a dispositivos Android, facilitan-
do a comunicação entre os dois. Recomendado para projetos em que
haja a integração do arduino com aparelhos Android.
I MAGEM 8.4.4
108
Apostila Br.ino
SHI E L D S
Shields são placas que podem ser acopladas ao Arduino com o intuito de melho-
rar alguma característica específica, aumentando ainda mais a praticidade da pla-
ca. Os principais shields são:
Nota: O Arduino não está limitado a usar apenas um shield por vez, mas tome
cuidado para que não haja conflitos entre eles e que um não obstrua as entra-
das do outro.
Sensor Shield
O shield de sensores almeja facilitar a conexão de dispositivos no ardui-
no, com o destaque, obviamente, para os sensores. É possível conectar
também servo motores na placa. Esse shield não acrescenta processa-
mento à placa Arduino, ele apenas altera a posição de algumas cone-
xões com o intuito de facilitar o acoplamento de conectores.
IM AG EM 8.5
Ethernet Shield
O ethernet shield R3 permite a conexão do Arduino a redes locais de
internet por um conector rj45 (cabo de rede), sendo provavelmente a
maneira mais barata e simples de conectar um arduino à internet. A ver-
são atual do Arduino Ethernet Shield oficial também contém um leitor
de cartões micro-SD.
IM AG EM 8.5.2
IM AG EM 8.5.3
109
Apostila Br.ino
IM AG EM 8.5.4
110
Apostila Br.ino
L I STA DE C OM P ON EN T ES
Projeto 1 – Piscar
◊ Placa Arduino
◊ Protoboard (opcional)
◊ Jumpers (opcional)
◊ Um LED (opcional)
◊ Um resistor de 470 Ω (opcional) IM AG EM 8.6
◊ Placa Arduino
◊ Protoboard
◊ Jumpers
◊ LED
◊ Resistor de 470Ω
◊ Resistor de 1KΩ (opcional)
◊ Botão (Interruptor tátil) IM AGEM 8.6. 2
◊ Placa Arduino
◊ Protoboard
◊ Jumpers
◊ LDR
◊ Resistor de 1KΩ IM AG EM 8.6.3
◊ Placa Arduino
◊ Protoboard
◊ Jumpers
◊ Servo motor
◊ Potenciômetro de 10KΩ IM AGEM 8.6.4
111
Apostila Br.ino
◊ Placa Arduino
◊ Protoboard
◊ Jumpers
◊ Sensor ultrassônico (HC-SR04) IM AGEM 8.6.5
Projeto 6 – Buzzer
◊ Placa Arduino
◊ Protoboard
◊ Jumpers
◊ Buzzer
IM AGEM 8.6.6
◊ Placa Arduino
◊ Protoboard
◊ Jumpers
◊ 2 motores CC
◊ Base para acoplar os motores (opcional)
◊ Rodas para os motores
◊ Ponte H dupla L293D IM AGEM 8.6.7
◊ Alimentação elétrica (pilhas, baterias, etc.)
◊ Regulador de tensão (no caso usamos 1 Lm7805)
◊ 4 Capacitores de cerâmica 104 para montar junto ao regulador
112
9 REFERÊNCIAS
Apostila Br.ino
R E F E R ÊN C IAS B I B L I OG RÁFICAS
Evans M.; Noble, J.; Hochenbaum, J. Arduino em ação, primeira reimpressão. São
Paulo: Novatec, 2014. 424 p.
http://arduino.cc
http://instructables.com
http://cadsoftusa.com
https://github.com/gnramos/CIC-APC
Imagens: https://pixabay.com
Imagens: http://www.baudaeletronica.com.br/
https://www.autodesk.com/products/eagle/overview
114