114

55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

Embed Size (px)

Citation preview

Page 1: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino
Page 2: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

2

Sumário

05

0809091010202021

222324

2727303131

32

3435

37

38

Introdução

ComeçandoArduinoInstalando o ArduinoBr.inoInstalando o Br.inoFritzingKit básicoPronto para começar

Introdução à Computação AlgoritmoVariáveis

Comentários Operadores Instruções e laços de controle Operadores lógicos Funções ou Métodos Funções obrigatórias do Br.ino

Configuracao() Principal()

Termos importantes

Introdução à Eletrônica Básica Grandezas

Correntes Elétricas (I)Resistência (R)Tensão (U)Polos Elétricos

ConceitosCircuito aberto/fechadoPonte H

ComponentesResistoresLDRPotenciômetroBuzzerInterruptoresRelésCircuitos Integrados (CIs)L293DCapacitores

Page 3: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

3

46

4851

555657585858

5960

65

70

73

76

80

MotoresMotores C.C. simplesServo motoresMotores de passo

BateriasAssociações

Resistores CapacitoresPilhas/Baterias

Erros FrequentesPlaca Arduino errada Porta USB do computador errada Falta de ponto e vírgula Letras maiúsculas Variáveis não declaradas

Projetos com ArduinoPiscar

O Código Analisando o código Montando o hardware Analisando o hardware

Ligar luz com botãoMontando o hardware Analisando o Hardware O Código Analisando o código

Leitura Analógica para USBMontando o hardware Analisando o hardware O Código Analisando o código

Servo controlado por potenciômetroMontando o Hardware Analisando o Hardware O Código Analisando o código

Ultrassom + Memória Montando o Hardware Analisando o Hardware O CódigoAnalisando o código

Buzzer Montando o Hardware

Page 4: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

4

Analisando o HardwareO CódigoAnalisando o código

Carrinho utilizando L293D e motores CC Montando o Hardware Analisando o Hardware O Código Analisando o código

Despedida

Apêndices Materiais Importantes

Protoboard Jumpers Código de cores Fonte de alimentação

Tabelas importantes Valor de resistores ASCII LEDs

Habilidades Importantes Placas de circuito impresso (PCI) Soldagem e Dessoldagem Multímetro e medidas

Tipos de ArduinoArduino NanoArduino UNOArduino Mega

ShieldsSensor ShieldEthernet Shield Arduino WiFi Shield Arduino GSM ShieldArduino Motor Shield

Lista de Componentes

Referências Bibliográficas

83

88

9091

93

96

106

109

111

113

Page 5: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

1 INTRODUÇÃO

Page 6: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

6

Apostila Br.ino

INTRODUÇÃO

VOCÊ SABE O QUE É UM ROBÔ? São máquinas que funcionam praticamen-te sozinhas! Elas são muito importantes para ajudar os humanos em suas tarefas diárias. Qual a primeira coisa que vem à sua mente quando você pensa em ro-bôs? Confira a seguir alguns exemplos de robôs que existem hoje.

Tipos de robôsExistem 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ésticosEmpregadas 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.

IMAGEM 1 .1 Robô fax ine i ro da empresa iRobot. IMAGEM 1 .2 Mi imo,o robô cortador de grama da Honda.

IMAGEM 1 .3 Robôs industr ia is numa l inha de produção.

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.

Page 7: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

7

Apostila Br.ino

IMAGEM 1 .4 Da V inc i , robô c i rurg ião. IMAGEM 1 .5 R1T1 , robô mult iuso da Pro ject company

IMAGEM 1 .6 O LS3 é robô de apoio da Boston Dynamics . E le consegue andar em superf íc ies muito i r regu lares e carregar grandes quant idades de carga . E o mais lega l : não é necessár io contro lá- lo, e le te segue auto-maticamente!

Robôs MedicinaisRobô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 MilitaresO 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.

ANIMADO(A)? ESPERAMOS QUE SIM! O curso a seguir busca mostrar como começar seus trabalhos no mundo da robótica. Mesmo que a maioria dos exem-plos mostrados tenham sido produzidos em grandes laboratórios, muitas pes-soas comuns também fizeram projetos incríveis em suas casas. Vamos começar?

Conclusão: Neste módulo, buscamos te mostrar como a robótica é vasta. Você pode fazer de tudo! Porém, é importante entender como computadores pensam para poder nos comunicarmos com eles da melhor maneira. Por isso, faça as ati-vidades propostas com muito empenho!

Page 8: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

2 COMEÇANDO

Page 9: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

9

Apostila Br.ino

COMEÇANDO

Para começar, é necessário um Arduino físico. Seja um original ou um clone, a pla-ca que você preferir provavelmente funcionará. Nesta apostila será utilizado o Ar-duino Nano como referência. Recomenda-se que os componentes do kit básico, especificados no subcapítulo “Kit básico” e no capítulo “Lista de componentes” sejam adquiridos. Outros materiais podem ser necessários durante a execução desta apostila. Instruções de confecção de placas de circuito impresso, soldagem e outras habilidades abordadas neste documento também são vitais para o de-senvolvimento de projetos mais elaborados.

Primeiro, vamos configurar o seu computador para que possamos programar a placa. IDEs (Integrated Development Environment ou Ambiente de Desenvolvi-mento Integrado) são ambientes que reúnem diversas ferramentas que auxiliam no desenvolvimento de programas e é uma delas que vamos utilizar. Abaixo ex-plicaremos como deve ser feita as instalações das IDEs do Br.ino e do Arduino, mas nesse material focaremos no IDE do Br.ino.

ArduinoO 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.

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.

IMAGEM 2 .1

IMAGEM 2 .2

Page 10: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

10

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.

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:

Verificar – Verifica o programa e apresen-ta os erros na parte inferior da tela, além de salvar automaticamente o código;Novo – Abre uma página para um novo pro-grama;Abrir – Abre uma lista com os códigos pre-viamente salvos e para os exemplos;Salvar – Salva o código;Enviar – Verifica código em busca de erros e, se nenhum for encontrado, compila e en-via o código para a placa;Monitor serial – Abre o monitor serial em uma nova janela.

OBS: ao verificar o código o compilador é capaz de localizar apenas erros de sintaxe, sendo incapaz de localizar erros de lógica.

IMAGEM 2 .3

IMAGEM 2 .4

Page 11: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

11

Apostila Br.ino

Abrindo o Monitor Serial

1. Conecte o Arduino ao seu computador usando um cabo USB

IMAGEM 2 .5

IMAGEM 2 .6

IMAGEM 2 .7

2. Abra o Br.ino e selecione a porta em que sua placa está conectada

3. Selecione a “lupa” na barra esquerda

Page 12: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

12

Apostila Br.ino

Os passos a seguir demonstram como descobrir se seu sistema é 32bits ou 64bits. Escolha a sequência de passos adequada ao seu sistema operacional, Linux ou Windows, e siga-os.

Para computadores Windows:

Nota: Este capítulo foi escrito utilizan-do Windows 10, mas o procedimento se assemelha aos das outras versões.

Procure a barra de busca em seu com-putador. No caso, ela encontra-se no canto inferior esquerdo.

Após executar esses passos o monitor deve abrir em uma nova janela. Ele se divide em algumas partes:

◊ A parte superior que pode ser usada para enviar dados pela porta serial;

◊ A parte do meio onde serão apresentados os dados recebidos pela porta serial.

IMAGEM 2 .8

IMAGEM 2 .9

COMO DESCOBRIR SE SEU S ISTEMA É 32 OU 64 B ITS?

Page 13: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

13

Apostila Br.ino

Pesquise por “Sistema”, que também pode ser encontrado no “Painel de Controle” do computador, e abra-o.

Dentro de “Sistema” procure pela informa-ção de “tipo de sistema”. Nessa linha deve constar se o seu sistema é 32 ou 64Bits.

Para computadores Linux:Nesse exemplo usaremos como base o Ubuntu, mas o procedimento se asseme-lha aos das outras distros Linux. Siga os passos:

1. Procure a barra de busca em seu computador, nesse caso ela pode ser en-contrada na parte superior da tela.

2. Pesquise por “Configurações”, que também pode ser encontrado no “Menu” na parte superior direita da tela, ao lado do relógio.

IMAGEM 2 .10

IMAGEM 2 .1 1

IMAGEM 2 .12

Page 14: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

14

Apostila Br.ino

3. Dentro de “Configurações” clique no ícone de “Detalhes”.

IMAGEM 2 .13

IMAGEM 2 .14

4. Dentro de “Detalhes” procure pela informação de “Sistema base”. Nessa linha deve cons-tar se o seu sistema é 32 ou 64Bits.

INSTALANDO O BR. INO

Os passos a seguir demonstram a instalação do Br.ino em Windows. Se esse não é seu sistema operacional, pule até a seção de Linux.

Obs.: Descubra se seu sistema operacional é 32 ou 64 bits por meio dos tuto-riais acima;

Page 15: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

15

Apostila Br.ino

1. Acesse http://brino.cc/download

2. Clique no botão “DOWNLOAD” indicado na imagem ao lado;

3. Abra o arquivo que você acabou de baixar e clique em “Executar”;

4. Leia atentamente as instruções e clique em “Próximo”;

5. Leia atentamente as instruções e clique em “Próximo”;

IMAGEM 2 .15

IMAGEM 2 .16

IMAGEM 2 .17

Page 16: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

16

Apostila Br.ino

6. Agora, leia atentamente os Ter-mos de Licença, selecione “Eu concordo” e clique em “Próximo”;

7. Selecione o local de instalação ou apenas clique em “Próximo”;

IMAGEM 2 .18

IMAGEM 2 .19

Page 17: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

17

Apostila Br.ino

8. Inicie a instalação clicando em “Iniciar”;

9. Por Fim, execute o programa;

IMAGEM 2 .20

IMAGEM 2 .21

Page 18: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

18

Apostila Br.ino

Os passos a seguir demonstram a ins-talação do Br.ino em Linux, no caso, o Ubuntu.

1. Acesse http://brino.cc/download.php

2. Clique no botão “DOWNLOAD”

indicado na imagem ao lado;

Obs.: Descubra se seu sistema operacional é 32 ou 64 bits por meio dos tuto-riais acima;

3. Quando o download for concluído, acesse a pasta na qual o download foi realizado ou clique com o botão direito do mouse na mensagem que apare-ce na parte inferior da tela.;

Obs: Por padrão essa pasta é a pasta de downloads.

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;

5. Clique na opção “Extrair aqui”;

6. Encontre a pasta “Brino” no local onde o arquivo foi extraído e clique com o botão direito sobre ela;

IMAGEM 2 .22

IMAGEM 2 .23

Page 19: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

19

Apostila Br.ino

7. Clique na opção “Abrir no terminal”;

8. No terminal digite “./install.sh” e pressione enter;

Obs.: Caso apareça a mensagem “bash: ./install.sh: Permissão negada” digite no terminal “sudo chmod +x ./install.sh”, pressione enter e repita o passo 8.

IMAGEM 2 .24

IMAGEM 2 .25

IMAGEM 2 .26

Page 20: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

20

Apostila Br.ino

9. Um atalho deve aparecer na “Área de trabalho” dando aces-so ao programa.

Obs.: Ao término da instalação o terminal deve exibir a seguinte mensagem “Adding desktop shortcut, menu item and file associa-tion for brino IDE… done!”.

Você terminou a instalação!

FRITZING:

Fritzing é um programa que busca tornar a eletrônica e a programação acessível a todos. É uma ferramenta intuitiva e rápida para quem de-seja documentar, digitalmente, projetos feitos com Arduino. Ele possui diversas opções para a montagem de circuitos sobre uma protoboard virtual, disponibilizando inúmeros modelos de Arduino para o usuário. Além disso, o Fritzing permite exportar esquemáticos, pode ser usado como IDE, entre outras funções.

Para baixar, acesse http://fritzing.org/home/ e, na parte superior, cli-que em downloads e busque pela versão mais recente compatível com

IMAGEM 2 .27

IMAGEM 2 .28

o sistema operacional de sua máquina. Uma vez obtida a pasta .zip, bas-ta extraí-la para uma pasta convencional. Dentro de tal pasta encontra--se o arquivo fritzing.exe, que é o programa pronto que ao ser execu-tado realiza a instalação.

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.

◊ Uma placa Arduino, preferencialmente um Nano (que é a utilizada nos exem-plos) ou um Uno;

◊ Um cabo para conectar a placa Arduino ao computador;◊ Protoboard ou breadboard (uma pequena placa de testes);◊ Jumpers (fios para a placa de testes);◊ Alguns LEDs variados;◊ Resistores variados, com valores como 470Ω e 1kΩ entre outros;

Page 21: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

21

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.

Pronto para começar:Depois de instalar uma IDE, é hora de desenvolver seu primeiro projeto: “Piscar”. Esse programa é extremamente simples, não necessita de experiência prévia, ou de qualquer outro componente além da sua placa Arduino, pois ela já contém um LED acoplado que pode ser controlado. Entretanto, se você nunca programou antes, sugerimos que você leia o capítulo de Introdução à Programação.

Nota: àqueles que já possuem alguma experiência com programação, recomen-damos ler os tipos de variáveis da linguagem Br.ino e as funções e métodos obri-gatórios em todo rascunho.

Page 22: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

3 INTRODUÇÃOÀ COMPUTAÇÃO

Page 23: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

23

Apostila Br.ino

INTRODUÇÃO À COMPUTAÇÃO

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:

1. Adicione água a um recipiente até atingir o nível próximo à borda.2. Coloque o recipiente no Freezer e espere até que a água atinja o estado

sólido. 3. Retire o sólido do recipiente.

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.

Page 24: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

24

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:

Outro exemplo é:

1 . L inguagem de programação é um conjunto de instruções d ig itadas que podem ser exe-cutadas por uma máquina de forma lóg ica .

Tipo → Numero a; ← Identificador Numero b; Numero soma;a = 1;b = 2;soma = a + b;mostrar(soma);

resultado: 3

Numero pinoLED = 13; ← Aqui está a variável!Configuracao()

Pino.definirModo(pinoLED, Saida); Principal()

Pino.ligar(Digital.pinoLED); // liga a porta digital ligando o LED

Page 25: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

25

Apostila Br.ino

Variáveis são divididas em locais e globais, dependendo da parte do código em que ela for declarada. As locais são aquelas declaradas dentro de uma fun-ção (Principal(), para(), se(), etc.), enquanto as globais são declaradas fora de fun-ções. Variáveis locais só podem ser usadas dentro de suas funções, já as globais podem ser usadas em qualquer parte do programa.

É possível criar variáveis locais com o mesmo nome, contanto que estas se-jam declaradas em funções diferentes. Mas tome cuidado! Não se esqueça que elas serão independentes entre si!

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;

Número Decimal: Esse tipo de variável é capaz de armazenar números de até 32 bits com um ponto decimal.

Ex.: NumeroDecimal raio = 3,5;

Letra: Essa variável armazena um caractere ASCII (Tabela de conversão de ca-racteres para números, permitindo que o Arduino as armazene), ou seja, ela é ca-paz de armazenar qualquer caractere (a, A, 1, &, entre outros). Operações arit-méticas, como soma ou subtração, podem ser aplicadas sobre esses dados. Seu dado deve vir entre aspas simples (‘ ‘).

Ex.: Letra nota = ‘A’;

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;

esperar(1000); // espera por um segundo Pino.desligar(pinoLED) // desliga a porta digital desligando o LEDesperar(1000); // espera por um segundo

Page 26: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

26

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 (*/).

Nota: evite colocar acentos em um comentário e em todo o código no geral. Ao abrir o código em diferentes editores de texto, eles podem não entender um ca-ractere acentuado da mesma forma. De forma simples, nem todos os editores de texto “escrevem” na mesma língua, por isso entendem os acentos de forma diferente.

Ex.:// Isso e um comentario.Ex. 2:/* Isso e um comentario de bloco */

Page 27: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

27

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:

Operador Exemplo Resultado++ Variável ++ O valor da variável vai ser incrementado em uma uni-

dade

-- Variável -- O valor da variável vai ser decrementado em uma unidade

+= Variável +=n O valor da variável será incrementado em n unida-des (no caso de Palavras, o trecho n será adiciona-do ao final)

-= Variável -=n O valor da variável será decrementado em n unidades

*= Variável *=n O valor da variável será igual ao produto do seu an-tigo valor e n

/n Variável /=n O valor da variável será igual ao quociente do seu antigo valor e n;

Nota: Quando estamos falando de programação os símbolos da divisão e da mul-tiplicação costumam ser substituídos por uma barra simples (/) e por um asteris-co (*) respectivamente.Nota: Quando atribuímos o valor por meio de uma igualdade (=), o valor da di-reita é atribuído ao lado esquerdo, assim como no exemplo abaixo:

Ex.: X = 2 * 5

Instruções e laços de controle:Assim como nós, as máquinas são capazes de tomar decisões, porém, de ma-neira muito mais simples. Os códigos fazem decisões por meio das chamadas operações booleanas. Essas operações aceitam apenas dois resultados, o ver-dadeiro ou o falso. Uma forma de pensar sobre isso é relacionar esse recurso a situações do cotidiano. Por exemplo, se estiver chovendo, devo pegar o guar-da-chuva, caso contrário, não preciso pegá-lo. Aqui, a expressão booleana se-ria o fato de estar ou não chovendo e a instrução de controle seria pegar ou não o guarda-chuva.

Uma forma muito usada para representar essas situações é por meio de dia-gramas de blocos como o representado a seguir:

Page 28: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

28

Apostila Br.ino

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:

Operador Descrição Exemplo Resultado> Maior que 2>1 Verdadeiro

>= Maior ou igual a 2>=2 Verdadeiro

< Menor que 2<1 Falso

<= Menor ou igual a 2<=2 Verdadeiro

== Igualdade ‘A’==’A’ Verdadeiro

!= Desigualdade A!=A Falso

Assim como podemos observar os operadores não estão limitados a comparar apenas números, mas também podem comparar Letras e outras variáveis.

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.

Entendendo como obter resultados Verdadeiros e Falsos podemos desenvolver a ideia utilizando os operadores condicionais. Esses são os operadores que usa-remos para tomar decisões quando associados aos comparadores. Veremos a se-guir como usar os operadores se, senao e o senao se.

Eles seguem as estruturas exemplificadas abaixo:

IMAGEM 3.1

Condição

VERDADEIRA

FALSA

Ação para caso verdadeiro

Ação para casocontrário

Page 29: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

29

Apostila Br.ino

Além do se e do senao, existe a instrução enquanto(). O laço enquanto(), como o nome sugere, executa um bloco de código enquanto uma condição, entre os seus parênteses, for verdadeira. Ele é usado para realizar um processo enquanto for necessário, enquanto a expressão for verdadeira, e para quando não for mais necessário, a expressão se tornar falsa.

O laço para() é utilizado para repetir um determinado bloco de código um núme-ro determinado de vezes usando, para isso, uma como contador. Ao contrário dos outros anteriormente citados, o para() aceita mais parâmetros. O primeiro é a declaração das variáveis locais, sendo seguido pela expressão booleana e por uma expressão de incremento ou decremento do valor da variável, sendo estes separados por ponto e vírgula(;).

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.

para(<tipo> <nome> = <valor>; <nome> <operador> <valorReferencia>; <incremento>)// Bloco que será repetido.

Page 30: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

30

Apostila Br.ino

Exemplo:

Nota: No exemplo acima as instruções dentro do bloco se repetirão 10 vezes, (se o valor de x nao for alterado dentro da função) com o valor de x indo de 0 a 9.

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.

IMAGEM 3.2

para(Numero x = 0; x < 10; x++)//Bloco a ser repetido 10 vezes;

Está chovendo ?

Sim

Não

Pegarguarda-chuva

Não pegarguarda-chuva

A seguir estão representados os operadores:

Operador Descrição Exemplos Resultado

e Se ambas forem verdadeiras 2>1 e 2>=32>1 e 2<=3

VerdadeiroFalso

ou Se uma das duas for verdadeira 2>=2 ou 1<32>2 ou 1>3

VerdadeiroFalso

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.

Page 31: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

31

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:

TipoDeRetorno <nome>(TipoDeVariável <nome_argumento_1>, ..., argumento n)// Bloco de instruções da função ou método.

<nome>(argumentos); //Chamada da função.

Um exemplo de função é:

Numero soma(Numero x, Numero y)Numero soma;soma = x+y;responder soma;

z = soma(5 , 10);

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”.

Funções obrigatórias do Br.ino:

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.

Page 32: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

32

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:

Linguagem de programação de baixo/ alto nível: Uma linguagem de pro-gramação de alto nível é uma linguagem cujo o nível de abstração se aproxi-ma da linguagem humana ao passo que se distancia da linguagem de máqui-na. Já na linguagem de baixo nível se distancia da linguagem humana ao passo que se aproxima da linguagem de máquina.

Compilador: É um programa de computador que gera um programa em lin-guagem de máquina, que pode ser executado, a partir de um código fonte es-crito pelo programador. Ele possibilita o desenvolvimento das linguagens de programação de alto nível uma vez que o computador não é capaz de enten-dê-las diretamente. Esse tipo de programa recebe esse nome por questões históricas, sendo ele inicialmente usado para reunir (compilar) subrotinas.

Linguagem interpretada/compilada: linguagens interpretadas funcionam da seguinte forma: o computador lê a primeira linha, verifica sua semântica, inter-preta-a e depois a executa. Enquanto isso, linguagens compiladas geram um objeto de código, que é verificado por inteiro e só então o computador inter-preta e executa seus comandos, um a um.

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.

IMAGEM 3.3

Page 33: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

33

Apostila Br.ino

Indentação: Esse termo se refere ao recuo das linhas do código. Em algumas linguagens, como o Br.ino e C, ela não é obrigatória, mas é fortemente sugeri-da. Por outro lado, em linguagens como Python seu uso é exigido. Abaixo temos dois trechos de código, o da esquerda está devidamente indentado enquanto o da direita está sem nenhum recuo. Repare que a leitura do código fica facilitada com o uso da correta indentação.

Principal()Pino.ligar(pinoLed);esperar(2000);Pino.desligar(pinoLed);esperar(2000);

Principal()Pino.ligar(pinoLed);esperar(2000);Pino.desligar(pinoLed);esperar(2000);

Case-sensitive: Refere-se à capacidade da linguagem de diferenciar caracte-res maiúsculos e minúsculos. Como exemplo, para a linguagem Br.ino, uma va-riável nomeada “minhavariavel” é considerada diferente pelo compilador da va-riável “MINHAVARIAVEL”.

Page 34: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

4 INTRODUÇÃO À ELETRÔNICA BÁSICA

Page 35: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

35

Apostila Br.ino

INTRODUÇÃO À ELETRÔNICA BÁSICA

Uma parte muito importante da robótica é a eletrônica, ou o hardware, pois ela que é capaz de interagir com o meio externo. É por meio de atuadores, como motores e servo motores, e sensores, como botões e receptores infravermelho, que o autômato será capaz de analisar e alterar o ambiente à sua volta. Esse é um assunto muito amplo e que pode requerer muitos cálculos, mas como esse material possui caráter introdutório, abordaremos as principais partes como:

Grandezas◊ Corrente Elétrica (I)◊ Resistência(R)◊ Tensão (U)◊ Polos Elétricos

Conceitos◊ Circuito aberto/fechado◊ Ponte H

Componentes◊ Resistores

LDRPotenciômetro

◊ Buzzer◊ Interruptores

Relés

◊ CapacitoresCerâmicaEletrolítico

◊ DiodosLEDs

◊ MotoresCC simplesServoDe passo

Baterias

Associação de componentes◊ Resistores◊ Capacitores◊ Pilhas/Baterias

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.

Corrente Elétrica (I):A corrente elétrica é o fluxo ordenado de cargas por um condutor, ou seja, para os nossos estudos ela pode ser definida o fluxo de elétrons por fios e componen-tes eletrônicos. Ela ocorre entre dois pontos com potenciais diferentes e pode ser medida em Ampere (A). Uma forma de compreender tal conceito é compará--lo à vazão de água. A corrente seria a quantidade de água que passa pelo cano, e o cano o seu condutor. A corrente pode ser um dos seguintes tipos:

Page 36: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

36

Apostila Br.ino

1. Contínua (C.C.): A corrente contínua ocorre quando o fluxo das cargas ocorre sempre na mesma direção, ou seja, quando os pó-los se mantêm constantes. Ela é constituí-da pelos pólos positivo e negativo e é usa-da em baterias e pilhas. Ao lado, vê-se um gráfico do valor corrente em relação com o tempo:

2. PWM (Pulse-Width Modulation): signifi-ca modulação por largura de pulso e pode ser usado para fazer comunicações ou para controlar o valor da alimentação. Ele con-siste em ligar e desligar várias vezes conse-cutivas uma voltagem em um curto período de tempo, fazendo com que aparentasse de que se usou um valor intermediário. É utili-zado no controle de alguns motores.

3. Corrente Alternada (C.A.): A corrente alter-nada, diferentemente da contínua, altera o seu sentido com o decorrer do tempo, fa-zendo com que as cargas fiquem indo e vin-do. Ela é composta por fases e, muitas ve-zes, pelo fio neutro. Ela possui menor perda quando comparada à corrente contínua e, por isso, é usada principalmente em linhas de transmissões e tomadas. A sua forma de onda mais comum é a senoidal (represen-tada ao lado), por ser a mais eficiente. Mas, em certas aplicações, outras formas podem ser utilizadas.

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.

IMAGEM 4 .1

IMAGEM 4 .2

IMAGEM 4 .3

Page 37: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

37

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/fechadoUma 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 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).

IMAGEM 4 .4

Page 38: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

38

Apostila Br.ino

Ponte HA 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.

Nota: O funcionamento interno desse dispositivo pode ser melhor entendido ao se observar o projeto 7 da apostila.

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 Ω.

Nota: A tabela para leitura da resistência de um resistor está localizada no capí-tulo “Tabelas importantes” para consulta.

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”.

IMAGEM 4 .5

Page 39: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

39

Apostila Br.ino

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.

IMAGEM 4 .7 IMAGEM 4 .7.2

IMAGEM 4 .6 IMAGEM 4 .6.2

Page 40: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

40

Apostila Br.ino

IMAGEM 4 .8

IMAGEM 4 .9

IMAGEM 4 .8.2

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):

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.

Page 41: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

41

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.

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.

Circuitos integrados (CIs)Circuitos integrados, também denominados CI’s, micro chip ou chip são compo-nentes essenciais na eletrônica moderna. Esses pequenos componentes são mi-niaturas de circuitos maiores. Miniaturas de transistores, resistores, capacitores, diodos que são “gravados” em uma pequena lâmina de silício (chip) e então en-capsulado e selado, dando origem ao CI.

A integração de um grande número de pequenos transistores em um chip pequeno foi uma enorme melhoria em termos espaciais e de eficiência quan-do comparado com a montagem de circuitos com componentes eletrônicos dis-cretos (aqueles componentes comuns que compramos nas lojas e utilizamos em nossos projetos). A capacidade do circuito integrado de produção em massa, a confiabilidade e a construção de bloco de abordagem para projeto de circuito as-segurou a sua rápida ascensão.

IMAGEM 4 .10

IMAGEM 4 .1 1

IMAGEM 4 .10.2

IMAGEM 4 .1 1

Page 42: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

42

Apostila Br.ino

Há duas principais vantagens de circuitos integrados sobre circuitos discretos: custo e desempenho. O custo é baixo porque os chips, com todos os seus com-ponentes, são impressos como uma unidade por fotolitografia: um puro cristal de silício que é colocado em uma câmara. Uma fina camada de dióxido de silício é depositada sobre o cristal, seguida por outra camada química, chamada de fo-toresiste. Além disso, muito menos material é usado para construir um circuito como um circuito integrado do que como um circuito discreto. O desempenho é alto, visto que os componentes se comunicam rapidamente, tendo em vista sua proximidade, e consomem pouca energia (em comparação com os seus homó-logos discretos) porque os componentes são pequenos e estão próximos. A par-tir de 2006, as áreas de chips variam de poucos milímetros quadrados para cer-ca de 350 mm², com até 1 milhão de transistores por mm².

É possível ter acesso aos datasheet dos mais diversos CI’s pela internet. O da-tasheet de um componente funciona como um manual de instruções que expla-na tudo sobre ele, incluindo suas dimensões até o seu funcionamento. Com o datasheet podemos contar as pernas do componente utilizando um padrão que nos ajudará a trabalhar com esses circuitos, o padrão é o mesmo independente do número de pernas do componente.

Nota: A contagem começa a partir da marcação moldada no CI ou de uma se-miesfera e segue no sentido anti-horário quando observado de cima.

IMAGEM 4 .12

Page 43: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

43

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.

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:

Nota: Capacitores carregados apresentam resistência infinita em circuitos de cor-rente contínua.

IMAGEM 4 .13

Page 44: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

44

Apostila Br.ino

1. Capacitor de cerâmica: também conhecidos como capacitores cerâmicos, destacam-se como os capacitores mais utilizados atualmente. Presentes des-de circuitos de corrente contínua (C.C.), até circuitos de altas frequências. Não possui polaridade, ou seja, funciona nos dois sentidos.

IMAGEM 4 .14

IMAGEM 4 .15

IMAGEM 4 .14 .2

IMAGEM 4 .15.2

Nota: O valor dele é tabelado. Para encontrá-lo use o código escrito nele.

2. Capacitor eletrolítico: não recomendados para projetos que envolvam sinais de frequências elevadas, sendo para esses mais recomendados outros capa-citores. Possuem destaque para conexões entre circuitos e filtragem de si-nais de baixa frequência e possui polaridade (faixa e perna maior represen-tam o pólo positivo).

Page 45: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

45

Apostila Br.ino

DiodosO 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.

IMAGEM 4 .14 .3 IMAGEM 4 .14 .4

IMAGEM 4 .16 IMAGEM 4 .16.2

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:

Nota: O valor de tensão e corrente de cada LED pode ser consultado no capí-tulo 9, na parte de LEDs.

Page 46: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

46

Apostila Br.ino

IMAGEM 4 .17

IMAGEM 4 .18

IMAGEM 4 .17.2

IMAGEM 4 .18 .2

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.

MotoresNeste 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..

◊ Motores C.C. simples;◊ Servo motores;◊ Motores de passo.

Motores C.C. simples:Os motores “normais” de corrente contínua possuem baixa potência e alta ve-locidade, tornando necessário, o uso de uma caixa de redução, que nada mais é do que um conjunto de engrenagens que mudam a velocidade e a potência a mesma proporção. O controle desse tipo motor com o arduino normalmente re-quer uma ponte H.

Page 47: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

47

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.

1. Rotação limitada: esse é o tipo mais comum de servo motor, então ao se falar apenas de servo motor está se referindo a ele. Sabendo o ângulo em que ele se encontra e, por meio de um sinal, pode alterar a sua posição para o ângulo deseja-do. Esse tipo de motor usa uma porta PWM e ge-ralmente tem sua movimentação em ângulos en-tre 0° e 180° ou entre 0° e 360°.

IMAGEM 4 .19

IMAGEM 4 .20

IMAGEM 4 .19.2

2. Rotação Contínua: Esse tipo de motor não possui nenhum limite de angulação, porém não é possí-vel controlar o ângulo deles, mas sim o seu senti-do de rotação e velocidade.

Nota: Ele pode precisar de calibração, que pode ser feita por meio de um orifício em sua lateral.

Page 48: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

48

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.

Nota: Existem placas especiais para facilitar o seu controle.

IMAGEM 4 .21 IMAGEM 4 .21 .2

BateriasUm 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.

Page 49: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

49

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.

Níquel Cádmio (NiCa):Esse tipo de bateria já reinou o mercado entre os anos de 1990 e 2000, porém foram substituídas por modelos mais eficientes. Elas possuem um baixo custo e um peso médio, mas sofrem, quase sempre, com o efeito memória. Outra des-vantagem desse tipo de bateria é a sua grande agressividade ao meio ambiente.

Hidreto metálico de níquel (Ni-MH):Essas baterias são parecidas com a anterior, porém não sofrem tanto com o efei-to memória e possuem maior carga por peso. Elas também são menos agressi-vas ao meio ambiente.

IMAGEM 4 .24

IMAGEM 4 .25

Page 50: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

50

Apostila Br.ino

IMAGEM 4 .26

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!

Íons de lítio (Li-Ion):Essas baterias são modernas e não sofrem com o efeito memória. Estão presen-tes em quase todos celulares e aparelhos portáteis atuais por serem leves e ar-mazenarem grandes quantidades de energia. Elas possuem diversos tamanhos e tensõe variadas. Uma desvantagem é o seu custo que é mais elevado que os dos modelos anteriormente citados.

Polímeros de Lítio (Li-Po):Muitos as consideram as mais avançadas do mercado atual e são mais leves e po-tentes que suas rivais de Li-Ion. Elas não sofrem com o efeito memória, mas pos-suem um custo muito elevado em função de seu custo de produção.

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.

Nota: A simbologia usada para representar fontes de corrente contínua e alter-nada está representada abaixo.

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.

Page 51: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

51

Apostila Br.ino

AssociaçõesAssociaçõ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.

Série: a associação em série ocorre quando um compo-nente é colocado em seguida do outro.

Observe que a corrente percorre um caminho único, sem bifurcações.

Paralelo: a associação em paralelo ocorre quando os componentes são coloca-dos um ao lado do outro. Neste caso, a corrente divide-se ao percorrer o sistema.

Mistas: consiste no uso de ambas as combinações anteriores ao mesmo tempo. As características e as formas de associações serão melhores explicadas abaixo, quando cada componente for abordado.

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.

Req = R1 + R2+... +Rn

IMAGEM 4 .27

IMAGEM 4 .27.2

Page 52: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

52

Apostila Br.ino

Em paralelo: os resistores são conectados paralelamente, dessa forma, a cor-rente se divide entre eles. A resistência equivalente pode ser calculada pela fór-mula a seguir:

1= 1 + 1 + ... + 1Req R1 R2 Rn

Mista: os resistores são conectados tanto em paralelo quanto em série. A resis-tência equivalente será calculada utilizando as fórmulas de associações em sé-rie e em paralelo.

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+ ... + 1Ceq C1 C2 Cn

IMAGEM 4 .27.3

IMAGEM 4 .27.4

IMAGEM 4 .27.5

Page 53: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

53

Apostila Br.ino

Paralelo:

Ceq = C1 + C2 + ... + Cn

Mista: os capacitores são conectados tanto em paralelo quanto em série. A resistência equivalente será calculada utilizando as fórmulas de associações em série e em paralelo.

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.

Série: a associação em série de pilhas possibilita um aumento da tensão prove-niente delas, ou seja, se o polo positivo de uma pilha é ligado ao negativo da se-guinte a voltagem de ambas é somada.

Veq = V1 + V2 + ... + Vn

IMAGEM 4 .27.6

IMAGEM 4 .27.7

Page 54: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

54

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.

Page 55: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

5 ERROS FREQUENTES

Page 56: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

56

Apostila Br.ino

ERROS FREQUENTES

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.

Placa Arduino errada:Para selecionar o tipo correto de Arduino que está conectado ao computador siga os seguintes passos:

1. Selecione a aba “Ferramentas” no canto superior esquerdo do pro-grama ;

2. Em seguida selecione a opção “Placa” e a placa utilizada no projeto.

IMAGEM 5.1

IMAGEM 5.2

Page 57: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

57

Apostila Br.ino

Porta USB do computador erradaAntes de compilar um código certifique-se se a porta selecionada é mesma que o Arduino está conectado. Para selecioná-la siga os passos:

1. Selecione a aba “Ferramentas” no canto superior esquerdo do pro-grama ;

2. Em seguida selecione a opção “Porta”;

3. Selecione a porta em que seu Arduino está conectado.

Caso este processo não corrija o erro, execu-te os seguintes passos:

1. Conecte o Arduino a outra porta USB do computador.

2. Repita os passos de 1 ao 3.

Caso o erro persista:

1. Reinicie o computador.2. Repita os passos de 1 ao 3.

IMAGEM 5.3

IMAGEM 5.4

Page 58: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

58

Apostila Br.ino

Falta de ponto e vírgulaQuase toda linha de comando escrita necessita ter o seu fim declarado por pon-to e vírgula (;) para que o compilador1, no caso o Br.ino, reconheça o seu final. Sendo assim o ponto e vírgula se torna indispensável para que o programa reco-nheça o comando. Antes de compilar qualquer código é necessário conferir os pontos e vírgulas ou ele pode apresentar um erro quando a ferramenta for con-feri-lo ou enviá-lo.

Nota: Não é necessário o uso de “; ” quando abrimos ou fechamos blocos (usan-do “ “ e “ ”, respectivamente) ou após o comando “usar”.

Letras maiúsculasO 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:

Separe as palavras com letras maiúsculas:Ex.: Numero MotorDireita = 2;

Evite acentos:Ex.: Numero APotenciometro = 0;

Use apenas letras maiúsculas para nomear constantes:Ex.: PI = 3,14;

Variáveis não declaradasÉ de fundamental importância que todas as variáveis sejam declaradas, pois sem as devidas declarações o programa não pode ser compilado para a placa. Certi-fique-se de declarar todas as variáveis necessárias e de escolher o local corre-to para isso, lembrando mais uma vez da existência de variáveis globais e locais (Capítulo “Introdução a programação”).

1 . Compi lador é um programa de computador que, a part i r de um código fonte, cr ia um programa semanticamente equiva lente, porém escr ito em outra l inguagem, que o compu-tador é capaz de compreender.

Page 59: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

6 PROJETOS

Page 60: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

60

Projeto 1

P ISCAR

Neste capítulo trabalharemos o mais simples dos projetos de robótica: piscar um LED (Diodo Emissor de Luz). Essa prática, ainda que trivial, é de suma importân-cia para o processo de aprendizagem, pois ensinará como utilizar a IDE do Br.ino, pré-requisito de todos os projetos futuros. Além disso, será explicado como con-trolar portas digitais, outro conceito vital para as próximas práticas. O projeto de piscar um LED tem um papel equivalente ao algoritmo “Olá, Mundo!”, do inglês “Hello world”, na programação embarcada1.

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ódigoSiga as instruções a seguir para programar seu projeto:

1. Abra a IDE do Br.ino e digite o código a seguir:// Projeto 1 – Piscar

Numero pinoLed = 13;Configuracao()

Pino.definirModo(pinoLed, Saida);

Principal()Pino.ligar(pinoLed);esperar(2000);Pino.desligar(pinoLed);esperar(2000);

1 . A programação embarcada é a programação dedicada d i retamente aos microcontro la-dores e microprocessadores para contro le de seus atuadores , sensores e demais per i fér i -cos .

Page 61: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

61

Projeto 1

2. Conecte seu Arduino ao computador.3. Abra as ferramentas da IDE e selecione a porta e a placa que você está uti-

lizando. 4. Clique em “Verificar e Carregar”.

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

A primeira linha do 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 é:

Numero pinoLed = 13;

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);

A função Configuracao() é um dos métodos obrigatórios a todo rascunho Br.ino e é responsável por preparar o necessário para a execução da função Principal. Neste caso, ela possui apenas uma instrução em seu bloco de código:

Pino.definirModo(pinoLed, Saida);

Page 62: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

62

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);

A função Principal() é o segundo método obrigatório a todo rascunho Br.ino e será repetido enquanto o Arduino estiver ligado. Sua primeira linha é:

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);

A função esperar é um método do Arduino que faz uma “pausa” na execução do código durante o número de milissegundos indicados entre os parênteses, no caso 2000, que equivale a 2 segundos. Depois de esperar o tempo definido o Arduino executa a próxima linha:

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:

◊ Uma placa Arduino◊ Protoboard◊ Jumpers◊ LED ◊ Resistor de 470Ω (Sequência de cores: Amarelo, Lilás, Marrom)

Page 63: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

63

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:

IMAGEM 6.1

IMAGEM 6.1 .2

Page 64: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

64

Projeto 1

Analisando o hardwareO 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

Em que R é o valor da resistência que deve ser usada; Vs é a voltagem forneci-da (no caso os 5V do Arduino); Vi é a voltagem nominal do LED; e i é a corrente nominal do LED. Nessa apostila no capítulo 4 há uma parte reservada para me-lhor explicar as associações deste componente.

Vale lembrar que o resistor é um componente que não tem polaridade, ou seja, pode ser conectado em qualquer sentido. Já o LED possui polaridade, sen-do sua perna maior o polo positivo. Caso seja conectado ao contrário, o LED não acenderá!

2 . O datasheet é um documento que contém todas as informações técnicas de um deter-minado componente.

Page 65: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

65

Projeto 2

L IGAR LUZ COM BOTÃ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.

Nota: o conceito de resistor pull-up e pull-down será debatido ainda durante este módulo.

Entrada digital é um dos tipos de sinais que permite a compreensão do ambien-te. Pinos definidos como entradas digitais captam a presença ou ausência de ten-são elétrica e, assim, obtém leituras acerca de uma situação pré-estabelecida. Tais pinos podem adquirir dois estados: Ligado ou Desligado.

Para desenvolver esse projeto você precisará de:

◊ Uma placa Arduino◊ Protoboard◊ Jumpers◊ LED◊ Resistor de 470Ω(Sequência de cores: Amarelo, Lilás, Marrom)◊ Resistor de 1KΩ(Sequência de cores: Marrom, Preto, Vermelho)◊ Botão (Interruptor tátil)

Montando o hardware

Com o seu Arduino desconectado, monte o circuito mostrado abaixo:

Nota: Nunca monte seus circuitos com o seu Arduino conectado/ligado.

IMAGEM 6.2

Page 66: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

66

Projeto 2

Analisando o HardwareO 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ódigoAbra a IDE do Br.ino e digite o código abaixo.

//Projeto 2 – Ligar luz com botao

Constante Numero pinoLed = 13;Constante Numero botao = 2;

Configuracao()Pino.definirModo(pinoLed, Saida);Pino.definirModo(botao, Entrada);

IMAGEM 6.2 .2

Page 67: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

67

Projeto 2

Principal()Numero estadoBotao = Pino.ler(botao);se (estadoBotao == Ligado)

Pino.escrever(pinoLed, Ligado);esperar(1000);

Pino.escrever(pinoLed, Desligado);

Analisando o códigoA partir deste capítulo destacamos apenas métodos e palavras-chaves não des-critas anteriormente.

Constante Numero pinoLed = 13;Constante Numero botao = 2;

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.

Numero estadoBotao = Pino.ler(botao);

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)...

Page 68: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

68

Projeto 2

Nota: O termo Ligado poderia ser substituído pelo número 1, entretanto isso di-ficultaria a leitura do programa.

O bloco condicional será executado se a porta estiver ligada, ou seja, se o botão estiver apertado. Caso ele esteja solto, o Arduino simplesmente ignorará todo o código dentro do bloco do se.

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.

Nota: Recomenda-se utilizar os métodos ligar e desligar para o acionamento de portas digitais por eles facilitarem a leitura do programa. Observe o exemplo:

Pino.ligar(Led);Pino.desligar(Led);

Pull-upO 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:

IMAGEM 6.2 .3

Page 69: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

69

Projeto 2

IMAGEM 6.2 .4

//Projeto 2.1 – Ligar luz com botao pull-up

Constante Numero pinoLed = 13;Constante Numero botao = 2;

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.

Page 70: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

70

Projeto 3

LE ITURA ANALÓG ICA PARA USB

Nesta unidade aprenderemos a fazer leituras de um LDR, um sensor resistivo muito utilizado para medir diferenças de luminosidade. Esse será o segundo sen-sor abordado nesta apostila, mas o primeiro que utiliza entradas analógicas. Mais informações sobre o LDR podem ser encontradas no capítulo de Eletrônica Básica.

Sinal analógica é um tipo de sinal que permite analisar o ambiente com me-didas numéricas de intensidade e não apenas Ligado ou Desligado, como as di-gitais. Portas definidas como entradas analógicas são capazes de medir a tensão aplicada nelas, e assim captar informações.

Nota: A principal diferença entre entradas analógicas e digitais se deve ao fato de que a primeira permite uma percepção mais precisa dos valores de volta-gem, enquanto a segunda recebe apenas dois valores. Portanto, ao enviar 2,5V para uma pino analógico, a leitura da tensão será de 2,5V, ao passo que, se fos-se lida em uma porta digital, a leitura seria “Ligado”, sem definir a quantidade de tensão medida.

Durante o desenvolvimento desse projeto, aprenderemos a utilizar a porta ana-lógica do Arduino. Para desenvolvê-lo será preciso:

◊ Uma placa Arduino◊ Protoboard◊ Jumpers◊ LDR (Light Dependant Resistor)◊ Resistor de 1KΩ (Sequência de cores: Marrom, Preto, Vermelho)

Montando o hardwareCom o Arduino desconectado, monte o circuito mostrado abaixo:

IMAGEM 6.3

Page 71: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

71

Projeto 3

IMAGEM 6.3.2

Analisando o hardwareO 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.

O CódigoAbra 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

Constante Numero LDR = 0;Numero leitura;

Configuracao() USB.conectar(9600);

Principal() leitura = Pino.lerAnalogico(LDR);USB.enviarln(leitura);esperar(500);

Page 72: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

72

Projeto 3

Analisando o códigoO 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:

Constante Numero LDR = 0;Numero leitura;

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);

A primeira linha do Principal() é:

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);

Ao se observar o circuito montado não é possível saber os valores que estão sendo retornados, entretanto o Arduino sabe se comunicar com o computador por meio da porta USB através de um protocolo chamado serial. Os dados des-sa comunicação podem ser enviados e recebidos pelo Monitor Serial de sua IDE. Caso não saiba como acessá-lo, dirija-se ao capítulo “Começando” e siga os pas-sos lá descritos.

Page 73: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

73

Projeto 4

SERVO CONTROLADO POR POTENCIÔMETRO

Neste capítulo aprenderemos como controlar um servo motor, um tipo de mo-tor em que é possível controlar a posição do eixo, com uma liberdade de 180°,, popularmente conhecido como Microservo, utilizando um Arduino, que inter-pretará os dados recebidos de um potenciômetro. Para isso, utilizaremos por-tas analógicas para realizar a comunicação do Arduino com o potenciômetro e portas digitais para controlar o servo motor. O material necessário para a mon-tagem desse circuito é:

◊ Uma placa Arduino◊ Servo motor◊ Protoboard◊ Jumpers◊ Potenciômetro de 10KΩ

Montando o HardwareCom o Arduino desconectado, monte o circuito abaixo:

IMAGEM 6.4

Page 74: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

74

Projeto 4

IMAGEM 6.4 .2

Analisando o HardwareO 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:

No circuito 1, o servo motor é conectado na alimentação, que nesse caso vem do próprio Arduino, por meio da porta 5V. Seu movimento é controlado pelo si-nal emitido pela porta digital D5. Por fim, o circuito é fechado com a conexão en-tre o servo e a porta GND da placa.

Já no circuito 2, o potenciômetro deve ter seus pinos mais externos conecta-dos ao 5V e ao GND e seu pino do meio, por onde sai o sinal, deve ser lido pela porta analógica A0.

O Código

//Projeto 4 – Servo controlado por potenciometro

usar Servo

Servo meuServo;

Constante Numero potenciometro = A0;Numero valorPotenciometro;Numero angulo;

Page 75: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

75

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ódigoO 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

Para agregarmos a biblioteca Servo, utiliza-se o comando:

usar Servo

Em seguida, será dado um nome ao 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:

angulo = proporcionar(valorPotenciometro, 0, 1023, 0, 180);

Em seguida é feito o ajuste do servo motor com base na variável calculada usan-do o comando escreverAngulo:

meuServo.escreverAngulo (angulo);

Page 76: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

76

Projeto 5

ULTRASSOM + MEMÓRIA

Neste capítulo, será montado um medidor de distâncias que registrará os valo-res obtidos na memória interna do Arduino, mostrando-os, posteriormente, pela porta USB. Este será o primeiro projeto que utilizará uma biblioteca externa ao Arduino. Caso você não saiba instalá-las, existe um capítulo no final da apostila explicando como fazer isso. Esta biblioteca se chama Ultra e está disponível em https://github.com/BrinoOficial/Ultra

A memória interna do Arduino, conhecida como EEPROM, é uma importante ferramenta a ser utilizada. Isso se deve ao fato de que, normalmente, após des-ligar a placa, todos os dados coletados são perdidos. Porém, ao salvá-los na me-mória EEPROM, estes são preservados.

O material necessário para essa prática é:

◊ Uma placa Arduino◊ Protoboard◊ Jumpers◊ Sensor ultrassônico HC-SR04◊ Capacitor Eletrolítico 470uf

Montando o HardwareCom o Arduino desconectado, monte o circuito abaixo:

IMAGEM 6.5

Analisando o HardwareO 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

Page 77: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

77

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 daduraçã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ódigoAbra a IDE do Br.ino e digite o código a seguir:

//Projeto 5 – Ultrassom+Memoria

usar Ultrausar 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ódigoA 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

Page 78: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

78

Projeto 5

Nessa linha, da mesma forma que declaramos a utilização da biblioteca Ultra, chama-se a biblioteca da memória disponível internamente na placa e os méto-dos associados à seu uso.Logo depois temos a linha:

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.

para( Numero x; x < 5; x++)

O computador repetirá o código 5 vezes (pois após esse número de repetições, x será maior ou igual a 5). O bloco de código do para começa com a seguinte linha:

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);

Essa linha irá guardar a distância d no endereço x da memória, em que x é o con-tador do loop para. Além de guardar na memória, será enviado à porta USB o va-lor lido pelo Arduino. Em seguida, repete-se o para com um código que, ao invés de escrever, irá ler o que gravamos na memória e mostrá-lo abaixo do que o pri-meiro para mostrou. A linha que faz isso é:

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.

Page 79: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

79

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.

Page 80: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

80

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.

Neste projeto serão necessários os seguintes materiais:

◊ Uma placa Arduino◊ 1 buzzer◊ Protoboard◊ Jumpers

Montando o HardwareCom o Arduino desconectado, monte o circuito abaixo:

IMAGEM 6.6

Page 81: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

81

Projeto 6

IMAGEM 6.6.2

Analisando o HardwareNeste 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”.

O CódigoAbra a IDE do Br.ino e digite o código.

//Projeto 6 – BuzzerConstante Numero buzzer = 4;

Configuracao() Pino.definirModo(buzzer, Saida);

Principal()soar(buzzer, 440);esperar(1000);pararSoar(buzzer);esperar(500);soar(buzzer, 880);esperar(1000);

Page 82: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

82

Projeto 6

Analisando o códigoO 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);

Nota: O Arduino de modo geral aceita frequências entre 31 Hz e 65535 Hz.

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!

Page 83: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

83

Projeto 7

CARRINHO UTIL IZANDO L293D E MOTORES CC

Nesse projeto, aprenderemos a dar comandos básicos a um par de motores de corrente contínua (CC) utilizando uma ponte H dupla, no caso o L293D, com o Arduino. Caso você não saiba que tipo de componente é esse, consulte o capí-tulo Introdução à Eletrônica Básica.

Além disso, aconselhamos o uso de uma base para acoplar o par de motores, podendo ser uma base feita com o auxílio de impressoras 3D, chapas de metal, compensados de madeira, etc. O limite é a criatividade!

Caso você possua outro modelo de ponte H, você pode verificar a pinagem (pode ser encontrada no datasheet do componente, que é feito pela sua fabri-cante) do modelo e seguir o mesmo princípio que será explanado no capítulo.

Para a confecção do hardware deste projeto, será necessário:

◊ Uma placa Arduino◊ 2 motores CC◊ Base para acoplar os motores (opcional)◊ Protoboard◊ Rodas para os motores◊ Ponte H dupla L293D◊ Alimentação elétrica, usaremos uma bateria 9V para exemplificar (pilhas, ba-

terias, etc.)◊ Regulador de tensão (no caso usamos o Lm7805)◊ Capacitores de cerâmica para montar junto ao regulador

Nota: Os dois últimos componentes (Regulador de tensão e os capacitores) são necessários apenas caso a voltagem de alimentação seja superior à suportada pelos motores. No exemplo desta apostila utilizamos motores 5V e uma bate-ria de 9V, fazendo necessário o uso do regulador de tensão e dos capacitores.

Page 84: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

84

Projeto 7

Montando o HardwareCom o Arduino desconectado, monte o circuito abaixo:

IMAGEM 6.7

IMAGEM 6.7.2

Page 85: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

85

Projeto 7

Nota1: Monte o circuito com a fonte externa de energia desconectada, conec-tando-a apenas ao término.

Nota2: Os motores não possuem polaridade definida, mas o sentido de cone-xão determina o sentido de rotação. Ou seja, ao invertê-la, troca-se também o sentido de rotação.

Analisando o HardwareNeste 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ódigoAbra a IDE do Br.ino e digite o código abaixo.

// Projeto 7 Carrinho utilizando L293D e motores CC// A seguir vamos declarar as portas dos motoresConstante Numero pinoVelocidadeE = 10;Constante Numero pinoVelocidadeD = 9;Constante Numero motorE1 = 4;Constante Numero motorE2 = 5;Constante Numero motorD1 = 6;Constante Numero motorD2 = 7;

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);

Page 86: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

86

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");

Cuidado: Ao enviar esse código o robô pode começar a andar inesperadamente!

Diferente dos projetos anteriores, o algoritmo deste capítulo encontra-se incom-pleto. O objetivo é que você o complete. Observe a lógica a seguir.

Analisando o códigoAinda 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.

USB.enviarln("andando para frente");

Page 87: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

87

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);

Cada instrução supracitada determina a velocidade de um motor.

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ô.

Page 88: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

7 DESPEDIDA

Page 89: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

89

Apostila Br.ino

DESPEDIDA

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!

1 . OPEN SOURCE é um termo em ing lês que s ign i f ica código aberto. Isso d iz respeito ao código-fonte de um software, que pode ser adaptado para d i ferentes f ins . O termo fo i cr iado pe la OSI (Open Source In it iat ive) que o ut i l i za sob um ponto de v ista essencia l -mente técnico. [cana ltech]

Equipe Br.inoIMAGEM 7.1

Page 90: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

8 APÊNDICES

Page 91: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

91

Apostila Br.ino

JumpersJumpers 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 de jumpers.

APÊNDICES

Materiais ImportantesEste 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.

ProtoboardTambé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:

IMAGEM 8.1

IMAGEM 8.1 .3

IMAGEM 8.1 .2

Page 92: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

92

Apostila Br.ino

Essa ferramenta pode ser facilmente conectada aos furos da protoboard ou de alguns Arduinos. São produzidas em diversas cores e tamanhos para auxiliar na organização e entendimento do circuito.

Nota: Eles geralmente representam as linhas que fazem as ligações em esque-máticos.

Código de coresO 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:

Positivo (=) Vermelho

Negativo (-) Preto

Sinal Demais cores

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:

IMAGEM 8.1 .4 IMAGEM 8.1 .5

É um aparelho capaz de gerar corrente contínua (CC) a partir da corrente alter-nada (AC) de uma tomada. É possível regular a voltagem e, às vezes, a corrente a partir de potenciômetros normalmente localizados na parte dianteira do aparelho.

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.

Page 93: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

93

Apostila Br.ino

TABELAS IMPORTANTES

Valor de resistoresA 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.

Nota: Alguns resistores possuem 5 faixas de cores, sendo a quarta o multiplica-dor e a quinta a tolerância.

IMAGEM 8.2

↑↑ ↑↑ 1 2 3 4

1. Marrom;2. Verde;3. Vermelho;4. Dourado;

Cor Valor Multiplicador Cor da quarta faixa TolerânciaDourado - 0,1 Prata 10%

Preto 0 1 Ouro 5%

Marrom 1 10 Amarelo 4%

Vermelho 2 100 Laranja 3%

Laranja 3 1.000 Vermelho 2%

Amarelo 4 10.000 Marrom 1%

Verde 5 100.000 - -

Azul 6 1.000.000 - -

Violeta 7 Inexistente - -

Cinza 8 Inexistente - -

Branco 9 Inexistente - -

Nota: O resistor representado possui 1500 Ω .t

Page 94: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

94

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.

Nota: É possível a realização de operações matemáticas para manusear os ca-racteres, como exemplo: somar ou subtrair 32 ao código ASCII para trocar entre as letras maiúsculas e minúsculas.

Código Caractere Código Caractere Código Caractere32 ESPAÇO 64 @ 96 `

33 ! 65 A 97 a

34 “ 66 B 98 b

35 # 67 C 99 c

36 $ 68 D 100 d

37 % 69 E 101 e

38 & 70 F 102 f

39 ‘ 71 G 103 g

40 ( 72 H 104 h

41 ) 73 I 105 i

42 * 74 J 106 j

43 + 75 K 107 k

44 , 76 L 108 l

45 - 77 M 109 m

46 . 78 N 110 n

47 / 79 O 111 o

48 0 80 P 112 p

49 1 81 Q 113 q

50 2 82 R 114 r

51 3 83 S 115 s

52 4 84 T 116 t

53 5 85 U 117 u

54 6 86 V 118 v

Page 95: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

95

Apostila Br.ino

Código Caractere Código Caractere Código Caractere55 7 87 W 119 w

56 8 88 X 120 x

57 9 89 Y 121 y

58 : 90 Z 122 z

59 ; 91 [ 123

60 < 92 \ 124 |

61 = 93 ] 125

62 > 94 ^ 126 ~

63 ? 95 _ 127 DELETE

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:

LED Tensão(V) Corrente(mA) LED Tensão(V) Corrente(mA)Infravermelho 940 nm 1,5 50 Vermelho super brilhante 1,85 20

Vermelho convencional 1,7 10 Amarelo normal 2,1 10

Infravermelho 880 nm 1,7 50 Laranja normal 2,1 10

Azul brilhante 3,6 20 Verde normal 2,2 20

Page 96: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

96

Apostila Br.ino

HABIL IDADES IMPORTANTES

Placas de circuito impresso (PCI)Neste capítulo, ensinaremos como confeccionar placas de circuito impresso. Se você não sabe o que são PCI’s (Placas de Circuito Impresso), elas são as placas dos equipamentos eletrônicos onde ficam soldados os componentes. Essas pla-cas possuem trilhas de cobre que fazem as ligações do circuito. Abaixo é possí-vel ver algumas das placas que fizemos para nossos projetos pessoais:

O processo de confecção começa com o desenvolvimento do esquemático das ligações e o teste do circuito em uma protoboard. Depois de montado e tes-tado, deve-se fazer uma versão digital do circuito em um programa específico para isso. Existem vários no mercado, entretanto recomendamos que utilizem o Eagle da Autodesk, por possuir uma versão grátis e por ser um dos melhores dis-poníveis. Outro programa bom, porém pago, é o Proteus.

Para instalar o Eagle acesse: https://www.autodesk.com/products/eagle/free-do-wnload

Nota: Outro programa utilizado para a confecção de placas é o Fritzing.

Depois de instalar o software de desenvolvimento de placas, você deve buscar vídeos ou outros tutoriais para a utilização. Depois de montar o esquemático e o design da placa de circuito impresso com todas as trilhas necessárias, vamos exportar o desenho das trilhas.

1. Imprima as trilhas em transparências. Cole diversas transparências impres-sas sobrepondo os desenhos de forma perfeita, para ter certeza que a luz não passará pelo desenho das trilhas.

2. Após exportar as trilhas, utilize tinta fotosensivel para cobrir a placa da for-ma mais uniforme possível. Para deixar a tinta mais uniforme coloque a pla-ca em uma centrífuga.

IMAGEM 8.3

Page 97: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

97

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 DessoldagemSoldar é 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-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.

IMAGEM 8.3.2

IMAGEM 8.3.3 imagem da esponja para l impeza do ferro

IMAGEM 8.3.4

Page 98: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

98

Apostila Br.ino

Evite utilizar seu ferro para derreter qualquer coisa que não seja estanho. Estanho de qualidade é preferível, uma solda ruim pode ter uma resistência muito alta ou uma baixa aderência.

A escolha do ferro depende da sua utilização. Para proje-tos de robótica educacional, principalmente soldagem em placas e união de fios, o correto é que o ferro não tenha mais que 40W de potência. Ferramentas mais potentes podem aquecer demais, queimando componentes e da-nificando as placas de cobre, além de dificultar a aderên-cia do estanho à placa.

Leia algumas dicas para a soldagem em si:

◊ Garanta que as duas superfícies a serem soldadas es-tejam limpas, utilize uma lixa fina ou palha de aço para limpeza.

◊ No caso de dois fios ou terminais, faça uma ligação me-cânica antes de soldar (enrolar os fios, por exemplo).

◊ Não derreta o estanho na ponta do ferro. Utilize a pon-ta para aquecer a trilha e a perna do componente ou os terminais e encoste o estanho no local aquecido (um ou dois segundos devem ser suficientes, mas retire primeiro o estanho e de-pois o ferro, em um movimento ascendente).

IMAGEM 8.3.5

IMAGEM 8.3.6 imagem de dois f ios enro lados

IMAGEM 8.3.7 Uma so lda ru im pode se ca-racter izar por ser fosca ou pe lo excesso de estanho.

IMAGEM 8.3.7.2 Já o aspecto de uma boa so lda é l iso e br i lhante

Page 99: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

99

Apostila Br.ino

Para a soldagem de alguns componentes sensíveis ao calor como semiconduto-res (diodos, LED’s, etc.) e capacitores eletrolíticos é interessante o uso de um ali-cate de bico para desviar o calor.

Nunca ultrapasse 5 segundos com o ferro em contato com um componente. Caso não consiga neste tempo, pare e aguarde um pouco para o componente esfriar e tente novamente.

Não utilize muito estanho, somente o necessário ( como diria Mogli, o meni-no lobo).

Para dessoldar, é importante a utilização de um sugador de solda, como o mos-trado abaixo. Sua utilização é simples, abaixa-se a manivela do sugador e com o ferro de solda, derrete-se a solda a ser retirada. Com o estanho derretido, aproxi-ma-se a ponta do sugador e aperta-se o botão. A alavanca subirá e sugará a solda.

Multímetro e medidasO 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.

Atenção: Tome cuidado para que as ponteiras do multímetro não se cruzem ocasionando um curto-circuito.

Nota: Selecione a função que será utilizada rodando a chave seletora até a posição desejada antes de conectá-lo ao circuito, evitando assim danificar o aparelho e o circuito.

IMAGEM 8.3.8 imagem do sugador de so lda

IMAGEM 8.3.9

Page 100: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

100

Apostila Br.ino

IMAGEM 8.3.1 1 IMAGEM 8.3.12

IMAGEM 8.3.10

Medidas de tensão e resistência - Para medir a diferença de potencial entre dois pontos, deve-se colocar as pontas de prova paralelas ao circuito. Da mesma forma se mede a resistência do circuito. Antes de efetuar a medição conecte as pontas de prova. Na porta COM deve ser conectada a preta e na porta que pos-sui um “V” e um “Ω” a vermelha.

Nota: é importante desconectar a alimentação do circuito para a medição da re-sistência.

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.

Page 101: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

101

Apostila Br.ino

IMAGEM 8.3.12 .2

Medida de corrente - Para se medir a corrente, coloca-se as pontas de prova em série com o circuito a ser analisado. A medição em série pode queimar o apa-relho. Utilize a porta COM do multímetro para conectar a ponteira preta e uma das acompanhadas por um A (de Ampére) para conectar a vermelha.

IMAGEM 8.3.14

IMAGEM 8.3.13

Page 102: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

102

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.

IMAGEM 8.3.15

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.

IMAGEM 8.3.16 IMAGEM 8.3.17

Page 103: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

103

Apostila Br.ino

Como instalar bibliotecas externasÀs vezes o desenvolvimento de algoritmos exige o uso de trechos complexos e repetitivos de código. Para evitar que “reinventemos a roda”, ou repitamos de-mais algumas funções pelo programa, existem as bibliotecas. Elas nada mais são do que coleções de funções úteis e comumente utilizadas por diversos progra-madores. Existem diversas disponíveis na internet e você pode criar suas pró-prias para utilizar em diversos projetos!

Neste capítulo mostraremos como instalar uma biblioteca baixa-da da internet. Para exemplificar utilizaremos a biblioteca Ultra desenvolvi-da pelos autores do livro e disponível no GitHub. Você pode encontrá-la em https://github.com/BrinoOficial/Ultra e para baixar, basta clicar em “download zip”. A instalação é simples, seguiremos os passos:

PASSO 2: Extraia a biblioteca em uma pasta

PASSO 3: Copie a pasta com o nome da biblioteca (não altere o nome da pasta);

IMAGEM 8.3.18

IMAGEM 8.3.19

PASSO 1: Baixe a biblioteca e salve em algum lugar onde você possa encontrar.

Page 104: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

104

Apostila Br.ino

PASSO 4: Acesse o diretório Documents;

PASSO 5: Acesse a pasta Brino;

IMAGEM 8.3.20

IMAGEM 8.3.21

Page 105: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

105

Apostila Br.ino

PASSO 6: Acesse a pasta bibliotecas. Caso essa pasta não exista, crie uma com exata-mente este nome;

PASSO 7: Cole o arquivo;

IMAGEM 8.3.22

IMAGEM 8.3.23

Page 106: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

106

Apostila Br.ino

TIPOS DE ARDUINO

São diversos os tipos de Arduinos existentes. Suas características foram projeta-das para fazer com que a marca fosse versátil, assim, os diferentes modelos su-prem diferentes necessidades.

Abaixo são listados alguns dos modelos de Arduino presentes no mercado e as especificações de cada um:

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.

O Arduino Nano é ideal para projetos pequenos e de baixo custo. Pos-sui uma conexão USB mini-B, além de pinos tipo macho voltados para a parte inferior da placa, facilitando sua conexão em protoboards. Re-comendado para a construção de pequenos robôs, sensores e medi-dores diversos.

IMAGEM 8.4

Page 107: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

107

Apostila Br.ino

IMAGEM 8.4 .2

IMAGEM 8.4 .3

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

O Arduino UNO é o modelo mais comum comercializado. Por possuir conectores tipo fêmea (diferente do Nano que possui apenas conec-tores do tipo macho), essa placa é a mais recomendada para a proto-tipagem, tendo em vista que a conexão de componentes é facilitada. Sugerido para a construção de pequenos robôs, sensores e medidores diversos, automação residencial, etc.

Arduino MegaO Arduino Mega possui dois principais modelos distintos:

Arduino Mega 2560:

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

Ideal para projetos maiores e que exigem mais processamento. A pla-ca conta com a maior capacidade, entre os modelos, de processamen-to e de memória, permitindo a execução de projetos muito mais com-plexos e que demandem mais portas e conexões. Recomendado para a construção de grandes robôs e projetos maiores.

Page 108: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

108

Apostila Br.ino

Arduino Mega ADK:

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.

IMAGEM 8.4 .4

Page 109: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

109

Apostila Br.ino

SHIELDSShields 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: Os shields não podem ser encaixados em todos os modelos de Arduino, fique atento a esse fator antes de comprá-los!

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 ShieldO 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.

Ethernet ShieldO 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.

Arduino WiFi ShieldO Arduino WiFi Shield faz o mesmo que o Ethernet Shield mas se co-nectando por meio de redes sem fio.

IMAGEM 8.5

IMAGEM 8.5.2

IMAGEM 8.5.3

Page 110: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

110

Apostila Br.ino

Arduino GSM ShieldO Arduino GSM Shield permite que o arduino seja conectado à rede de telefonia celular.

Arduino Motor ShieldO Arduino motor shield é composto por uma ou mais pontes H duplas com possibilidade de alimentação externa. Esse conjunto de hardware permite ao usuário alterar o sentido de rotação e velocidade de moto-res CC conectados à placa, além de garantir a conexão de alimentação específica para esses atuadores, evitando sobrecargas do Arduino. Al-guns modelos possuem amperímetros acoplados à saída dos motores para permitir que o usuário acompanhe a corrente que está sendo uti-lizada por seus atuadores.

IMAGEM 8.5.4

IMAGEM 8.5.5

Page 111: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

111

Apostila Br.ino

IMAGEM 8.6

IMAGEM 8.6.2

IMAGEM 8.6.3

IMAGEM 8.6.4

L ISTA DE COMPONENTES

Este apêndice lista os componentes necessários em cada projeto realizado na apostila.

Projeto 1 – Piscar

◊ Placa Arduino◊ Protoboard (opcional)◊ Jumpers (opcional)◊ Um LED (opcional)◊ Um resistor de 470 Ω (opcional)

Projeto 2 – Ligar luz com botão

◊ Placa Arduino◊ Protoboard◊ Jumpers◊ LED◊ Resistor de 470Ω◊ Resistor de 1KΩ (opcional)◊ Botão (Interruptor tátil)

Projeto 3 – Leitura analógica para USB

◊ Placa Arduino◊ Protoboard◊ Jumpers◊ LDR◊ Resistor de 1KΩ

Projeto 4 – Servo controlado por potenciômetro

◊ Placa Arduino◊ Protoboard◊ Jumpers◊ Servo motor◊ Potenciômetro de 10KΩ

Page 112: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

112

Apostila Br.ino

Projeto 5 – Ultrassom + Memória

◊ Placa Arduino◊ Protoboard◊ Jumpers◊ Sensor ultrassônico (HC-SR04)

Projeto 6 – Buzzer

◊ Placa Arduino◊ Protoboard◊ Jumpers◊ Buzzer

Projeto 7 – Carrinho utilizando L293D e motores CC

◊ Placa Arduino◊ Protoboard◊ Jumpers◊ 2 motores CC◊ Base para acoplar os motores (opcional)◊ Rodas para os motores◊ Ponte H dupla L293D◊ 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

IMAGEM 8.6.5

IMAGEM 8.6.6

IMAGEM 8.6.7

Page 113: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

9 REFERÊNCIAS

Page 114: 55 59 - brino.ccbrino.cc/downloads/Arduino+BrinoParaARobóticaEducacional.pdf · 30 31 31 32 34 35 37 38 Introdução Começando Arduino Instalando o Arduino Br.ino Instalando o Br.ino

114

Apostila Br.ino

REFERÊNCIAS B IBL IOG RÁFICAS

MCROBERTS, M. Arduino Básico, Quarta reimpressão. São Paulo: Novatec, 2013. 453 p.

Evans M.; Noble, J.; Hochenbaum, J. Arduino em ação, primeira reimpressão. São Paulo: Novatec, 2014. 424 p.

http://arduino.cc

Imagens e software: http://fritzing.org

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