Protuino - Manual de Montagem Ilustrado

Tabela de conteúdo

Apresentação

Objetivo:

Este projeto consiste em montar um Arduino em uma protoboard. A ideia principal é fazer tudo a partir do zero. Nessa primeira etapa vamos estudar a montagem do circuito de upload de programas e depois vamos ver como configurar a IDE do Arduino e fazer o upload de Sketches via USB.

Aplicações:

Lista de Materiais

Qtde

Componente

Modelo

1

Microcontrolador

ATMega328P

1

Protoboard

--

1

Breakout Board

FT232RL USB to Serial

1

Capacitor Disco Cerâmico

100nF

2

Capacitor Disco Cerâmico

22pF

1

Cristal

16MHz

1

Led Difuso

Verde

1

Led Difuso

Vermelho

1

Resistor

220 ohms

1

Resistor

470 ohms

1

Resistor

10K ohms

N

Jumpers de Protoboard

--

1

Rabicho

Mini USB

1

Barra de Pinos

--

Sobre a Protoboard

Protoboard, também conhecida como Breadboard, é uma plataforma de desenvolvimento para protótipos muito interessante e versátil.

O grande desafio deste projeto é manter o custo baixo. Para começar a digitar as primeiras linhas de programação e fazer o upload para o Arduino, precisamos desembolsar mais de R$100,00, o que não é muito barato.

Por isso o intuito desse projeto é utilizar uma plataforma de desenvolvimento barata, e a protoboard cai como uma luva nesse caso. Especialmente por dois motivos: por ser fácil de encontrar em qualquer loja de eletrônicos e por ser versátil, podemos colocar e tirar os componentes com facilidade.

Para quem não conhece uma protoboard, ela possui (dependendo do modelo) quatro trilhas verticais de alimentação, sendo duas (uma para o positivo e outra para o negativo) em uma lateral e duas na outra. No centro, existem duas bandas de trilhas horizontais. Essas duas bandas são isoladas entre si, o que nos permite colocar um microcontrolador no meio e as pernas do lado direito não ficarem em curto circuito com as pernas do lado esquerdo. Vide imagem abaixo:

Arquivo:Protoboard_esquema.png

Montagem do Circuito USB

Esquemático

A montagem do circuito de Upload via USB é muito simples, pois não precisaremos de fonte externa de alimentação. Vamos utilizar a voltagem da própria USB do computador que é exatamente 5V e pode nos fornecer até 500 mA de corrente. Ou seja, suficiente para eliminarmos a fonte de 9V e o circuito do Regulador de Tensão.

Passo 1 - Primeiro posicione o ATMega conforme a foto abaixo. Faça o casamento do pino 1 do microcontrolador com a trilha 3 da protoboard.

Atenção! - Nessa montagem utilizaremos as trilhas da direita como sendo de alimentação!

Arquivo:DSC01275 (Custom).JPG

No esquema abaixo, podemos ver o mapa de pinos do ATMega, que será muito útil e importante daqui para frente.

Dica: Cuidado para não confundir a pinagem do Arduino com a pinagem do ATMega, pois são coisas diferentes. Os pinos do ATMega são determinados pelo fabricante de microcontroladores ATmel. Já a pinagem do Arduino é uma invenção de seus criadores. Como exemplo, temos o pino 19 do ATMega que está mapeado no pino 13 do Arduino.

Arquivo:Atmega168PinMap2.png

Passo 2 - Se você ainda não fez, é uma boa hora para soldar os pinos na "Breakout Board USB". Mas para fazer isso, primeiro posicione a barra de pinos na protoboard, ajuste o módulo USB para que os furos encaixem; então somente faça a soldagem.

Atenção! Não tente soldar os pinos fora da protoboard, senão você não vai conseguir encaixar depois!

Arquivo:DSC01276 (Custom).JPG

Na imagem abaixo, podemos ver o mapa de pinos da Breakout Board USB/Serial, que também será muito útil.

Arquivo:arduinobb_usbback.jpg

Passo 3 - Alinhe o módulo USB (Breakout Board USB) conforme a foto. Veja que o conector mini USB está voltado para baixo e os leds Tx/Rx para a parte de cima da protoboard.

Arquivo:DSC01277 (Custom).JPG

Passo 4 - Vamos garantir a alimentação do circuito ligando o pino GND (18) do módulo USB na trilha do negativo da protoboard.

Arquivo:DSC01278 (Custom).JPG

Passo 5 - No pino VCC (15) do módulo USB, ligamos ao positivo da rede de alimentação, na trilha mais afastada da protoboard.

Arquivo:DSC01280 (Custom).JPG

Passo 6 - Vamos adicionar um led verde de controle, assim saberemos que o circuito está ligado. Lembre-se de ligar o catodo (parte chanfrada do led) no negativo da rede e o anodo na primeira trilha da protoboard.

Arquivo:DSC01282 (Custom).JPG

Passo 7 - Fechamos o circuito do led de controle com um resistor de 470 ohms, ligado na trilha 1 e no positivo da rede.

Arquivo:DSC01286 (Custom).JPG

Passo 8 - Precisamos agora polarizar o ATMega na rede de alimentação que construímos. Conecte o pino 20 do Arduino ao positivo da rede.

Arquivo:DSC01287 (Custom).JPG

Passo 9 - Agora o pino 21 também ao positivo da rede.

Arquivo:DSC01288 (Custom).JPG

Passo 10 - Já o pino 22 do ATMega vai ao negativo da rede.

Arquivo:DSC01289 (Custom).JPG

Passo 11 - Vamos conectar um resistor de pull-up para o pino do reset, ou seja o pino 1 do ATMega. Por isso ligamos o resistor conforme a foto. Uma perna na primeira trilha da protoboard e outra no pino do reset.

Arquivo:DSC01290 (Custom).JPG

Passo 12 - Agora conectamos o jumper que liga o resistor de pull-up do passo anterior ao positivo da rede de alimentação.

Arquivo:DSC01291 (Custom).JPG

Passo 13 - Outro led que precisamos conectar é o vermelho, responsável pelo piscar, quando fazemos o Upload do Programa "Blink". Primeiro ligamos o catodo ao negativo e o anodo uma trilha abaixo do ATMega.

Arquivo:DSC01292 (Custom).JPG

Passo 14 - O resistor de carga do led vermelho é um de 220 ohms que vamos ligar no anodo do led e na trilha da banda vizinha.

Arquivo:DSC01293 (Custom).JPG

Passo 15 - Agora podemos conectar o resistor de carga do passo anterior no pino 19 do ATMega, conforme a foto abaixo.

Arquivo:DSC01296 (Custom).JPG

Passo 16 - Precisamos também ligar o pino 7 do ATMega no positivo. Utilizamos um jumper para ligar do outro lado, onde temos os jumpers dos pinos 20 e 21.

Arquivo:DSC01297 (Custom).JPG

Passo 17 - O pino 8 do ATMega, ligamos ao negativo da rede, utilizando um jumper para o outro lado do microcontrolador, onde está o pino 22.

Arquivo:DSC01299 (Custom).JPG

Passo 18 - Para fazer a comunicação entre o módulo USB e o ATMega, precisamos ligar alguns fios. O primeiro é o que liga o Tx (pino 1) da Breakout Board ao Rx (pino 2) do Arduino.

Arquivo:DSC01301 (Custom).JPG

Passo 19 - Então ligue o segundo fio de comunicação, do Rx (pino 5) do módulo USB ao Tx (pino 3) do Arduino.

Arquivo:DSC01302 (Custom).JPG

Passo 20 - O último fio da comunicação, é o de controle, que liga o DTR (pino 2) da Breakout Board ao RESET (pino 1) do ATMega. Mas tem um truque aqui para fazer funcionar, não ligamos diretamente ao pino 1 do Arduino, ao invés disso, ligamos a segunda trilha da protoboard, que deixamos livre.

Atenção! - NÃO ligue o DTR do módulo USB diretamente ao pino 1 do ATMega!

Arquivo:DSC01303 (Custom).JPG

Passo 21 - Este é o truque! Ligue um capacitor de cerâmica de 100 nF entre o fio do passo anterior e o pino 1 do ATMega.

Atenção! - Se você não fizer esses dois últimos passos corretamente, o circuito de upload não funcionará!

Arquivo:DSC01304 (Custom).JPG

Passo 22 - Terminando o circuito principal, temos ainda que conectar o cristal e polarizá-lo. Vamos primeiro colocar o cristal de 16 Mhz nos pinos 9 e 10 do ATMega, logo abaixo do jumper do negativo do pino 8.

Arquivo:DSC01309 (Custom).JPG

Passo 23 - Vamos aproveitar o pino 8, ligado ao negativo e vizinho ao cristal para colocar os capacitores de polarização. O primeiro vai pela frente ligando um dos pinos do cristal ao negativo da rede.

Arquivo:DSC01310 (Custom).JPG

Passo 24 - O outro capacitor de cerâmica de 22 pF vai por trás do cristal, ligando a outra perna ao negativo da rede. Aproveite o jumper do terra do ATMega, no pino 8.

Arquivo:DSC01311 (Custom).JPG

Pronto! Este é o circuito necessário para fazer o Upload de Programas através da USB! O resultado final deve ficar parecido com o da foto abaixo!

Arquivo:DSC01313 (Custom).JPG

Upload de Programas (Sketches)

Com o circuito USB pronto, poucas coisas precisam ser feitas agora. Importante nesse momento é entender a questão do bootloader. O kit do Protuino inclui o microcontrolador ATMega328P, já gravado com o bootloader Duemilanove.

O bootloader nada mais é que um programa pré-gravado no ATMega com instruções específicas para permitir a gravação dos Programas (Sketches) via USB. Sem o bootloader, o Arduino não "entende" a existência de um componente de USB, bem como outras funcionalidades básicas, como depuração de código em tempo real etc.

O Protuino, diferente do Arduino UNO, utiliza o componente FTDI para comunicação USB, assim como o Arduino Duemilanove. Já no UNO, é utilizado um ATMega8 programado para fazer a mesma função do FTDI. Por isso, ao configurar o Protuino, precisamos prestar atenção nesse detalhe.

Passo 1 - Primeiro pegue um rabicho USB, do tipo A em uma ponta e MINI na outra.

Dica: Você pode utilizar um rabicho USB de celular, como BlackBerry ou ainda de um HD externo.

Arquivo:upload_passo1.JPG

Passo 2 - Bom, antes de conectar o rabicho, precisamos fazer o download da IDE do Arduino e dos drivers do FTDI. Para isso, basta acessar o site http://arduino.cc, então clique no link de Download.

Arquivo:upload_passo2.jpg

Passo 3 - Escolha então a versão do Arduino para o seu sistema operacional. Neste tutorial vou ensinar como configurar o Protuino no Windows. Clique no link correspondente ao seu sistema operacional e aguarde o download.

Arquivo:upload_passo3.jpg

Passo 4 - Feito o download, precisamos descompactar o arquivo "arduino-0022.zip" em uma pasta. Eu costumo descompactar na raiz do drive C:, criando assim uma pasta chamada "arduino-0022".

Arquivo:upload_passo4.jpg

Passo 5 - Agora podemos conectar o cabo USB no Protuino.

Arquivo:upload_passo5.jpg

Passo 6 - Então ligamos a outra ponta do cabo USB no computador.

Arquivo:upload_passo6.jpg

Passo 7 - Ao fazermos a ligação do cabo USB, a janela da figura abaixo deve aparecer, solicitando a instalação do driver do FTDI. Selecione a opção: "Instalar de uma lista ou local específico" e clique em "Avançar";

Arquivo:upload_passo7.jpg

Passo 8 - Verifique as configurações da tela abaixo. Devemos selecionar apenas a opção "Incluir este local na pesquisa". Antes de clicar em "Avançar", clique no botão "Procurar".

Arquivo:upload_passo8.jpg

Passo 9 - Localize então a pasta "arduino-0022" que foi descompactada no passo 4. Nesta pasta, existe uma sub-pasta chamada "drivers" e outra chamada "FTDI USB Drivers". Esta última que deve ser selecionada, conforme a tela abaixo.

Arquivo:upload_passo9.jpg

Passo 10 - Agora com o local de pesquisa preenchido, podemos clicar em "Avançar".

Arquivo:upload_passo10.jpg

Passo 11 - Aguarde a instalação dos drivers do FTDI e clique no botão "Concluir" para terminar essa etapa.

Arquivo:upload_passo11.jpg

Passo 12 - Repare que outro driver é solicitado, logo após o término da instalação do FTDI. Isso acontece pois o FTDI é o componente de comunicação USB/Serial. Quando terminamos a instalação desse componente, o computador imediatamente identifica uma nova porta Serial e precisa instalar os drivers para essa porta. Repita então os passos 7 ao 11 para instalar o driver da nova porta Serial.

Arquivo:upload_passo12.jpg

Passo 13 - Agora precisamos configurar algumas coisas na IDE do Arduino. Localize o arquivo "arduino.exe" dentro da pasta "arduino-0022" e execute-o.

Arquivo:upload_passo13.jpg

Passo 14 - Assim que a IDE do Arduino terminar de carregar, acesse o menu "Tools > Board" e selecione a opção "Arduino Duemilanove or Nano w/ ATMega328".

Arquivo:upload_passo14.jpg

Passo 15 - Precisamos agora configurar a porta Serial que acabamos de instalar. Para isso, acesse "Iniciar > Painel de Controle > Sistema", conforme figura abaixo.

Arquivo:upload_passo15.jpg

Passo 16 - Na janela de Propriedades do Sistema que aparecer, selecione a aba "Hardware" e depois o botão "Gerenciador de dispositivos". A tela abaixo deve aparecer com todos os dispositivos existentes no seu computador. Clique no icone (+) ao lado do item "Portas (COM & LPT)". Repare que aparecem as portas existentes no computador. A que estamos procurando é a "USB Serial Port". No caso do meu computador ela é a COM10. Vide imagem abaixo.

Arquivo:upload_passo16.jpg

Passo 17 - Sabendo o número da porta, podemos voltar à IDE do Arduino e escolher o menu "Tools > Serial Port" e então selecionar a porta certa, que no meu caso é a COM10.

Dica: Na maioria dos computadores, deve aparecer uma única porta nessa lista, o que facilita as coisas e não precisamos ficar procurando qual é a porta certa.

Arquivo:upload_passo17.jpg

Passo 18 - Nesta etapa já estamos prontos para fazer o primeiro Upload de Programa! Vamos abrir um exemplo básico, selecionando os menus "File > Examples > Basics" e depois selecionando a opção "Blink".

Dica: Quem estiver prestando atenção, deve ter se atentado para o fato que esse programa faz piscar um LED na porta 13 do Arduino. Mas o mapeamento de portas do Arduino é uma invenção dos seus criadores. Na verdade essa porta 13 nada mais é senão o pino 19 do ATMega, onde ligamos um LED vermelho polarizado com um resistor de 220 ohms.

Arquivo:upload_passo18.jpg

Passo 19 - Na janela nova que abriu com o código do Blink, basta clicar no botão "Upload", que é penúltimo botão na barra de ferramentas. Vide a imagem abaixo. Se tudo correr bem e não houver erros na montagem do Protuino, a tela a seguir deve aparecer com a mensagem: "Done uploading".

Dica: Caso você não fique satisfeito apenas com este exemplo, existe um outro exemplo que pode ser executado sem grandes mudanças. Basta mudar o jumper do LED vermelho do pino 19 para o 15 do ATMega. E carregar o exemplo "Fade", sob o menu "File > Examples > Basic". Repare também que nesse caso a porta do Arduino é a 9, mas do Protuino é a 15!

Arquivo:upload_passo19.jpg

Com isso encerramos o tutorial e a partir desse ponto você será capaz de utilizar o Protuino como quem usa um Arduino Duemilanove sem surpresas. Divirta-se!