Wednesday, July 13, 2016

De volta após um longo período - Vamos falar de Arduino Nano e como carregar um bootloader


Fala Pessoal,

Estou de volta depois de um longo hiato por aqui. Muitas coisas mudaram acá e depois de participar de um sensacional e inspirador TDC, resolvi remexer as coisas por aqui.

Lá ouvi falar sobre o protocolo Firmata e decidi experimentar com ele e meu Arduino Nano. A ideia é que o protocolo transforme o arduiíno em um slave the uma aplicação que irá contolar seus inputs e outputs além de conter toda a lógica.

De acordo com o palestrante - Marco Diniz Garcia Gomes- uma das vantagens é embarcar o mínimo de software possível e usar todo o poder de processamento de uma máquina desktop. Claro que como desvantagem está o fato de que se houver perda de conexão o dispositivo não funciona.

Isso será tópico de outra conversa. Por enquanto, só quero falar da dor de cabeça que tive para começar a brincadeira. Preparei pra começar, li um pouco sobre o Firmata e na hora de fazer o download do sketch para o Nano, nada de funcionar: eu não conseguia carregar os sketches

Depois de atualizar os drivers FTDI sem sucesso, comecei a desconfiar que meu Nano estava sem Booloader. O Bootloader é um firmware que permite que outros Firmwares sejam carregados usando um programador externo.

A melhor indicação que o meu Nano estava sem Bootloader foi que o Led ligado ao D13 não piscava ao resetar a placa e ao tentar fazer o download para a placa.

Li um pouco sobre o bootloader para tentar não transformar minha placa em peso para papel e decidi seguir em frente.

Acabei descobrindo que o processo para carregar o Bootloader é simples, Tudo o que precisei foi de um outro Arduíno e alguns cabos para conexão

Abaixo os passos que segui:

:


1 - Carregar o sketch ArduinoISP no Arduíno que está funcionando (figura 1)

Figura 1
2 - Conectar o Arduino Nano ao outro Arduíno - no meu caso o UNO (figura 2). Obviamente manter os 2 Arduinos desconectados da USB

PS. Acabei de descobrir que a imagem que usei de referência não era do UNO, mas funcionou do mesmo jeito


Figura 2

3 - Ligar o Arduino que funciona na USB e na IDE do Arduino selecionar Tools ->Programmer -> Arduino as ISP (figura 3)
Figura 3

4 - Aqui foi onde fiquei na dúvida: algumas referências pediram para selecionar o Arduino defeituoso como Board. Outros o Arduino que funciona. Acabei selecionando o que funciona (figura 4)
Figura 4
5 - Selecionar a Porta
6 - Selecionar Burn Bootloader (figura 5)

Figura 5

Pronto! Depois disso,  desconectar os cabos e ligar o Arduíno Nano na USB.  Se tudo deu certo você irá perceber que o LED que mencionei lá no começo irá piscar.

Para testar faça o upload de um código simples (como o Blink) para testar.

O que percebi no meu caso e não sei se foi por causa da minha dúvida no passo 4 é que preciso selecionar Arduino UNO na IDE para fazer o upload. Não consigo fazer quando deixo Nano selecionado. Vamos ver se isso será um problema no futuro!

Como referência para esses passos eu usei os seguintes sites:

Para os passos: http://www.instructables.com/id/How-To-Burn-a-Bootloader-to-Clone-Arduino-Nano-30/

Para as conexões (a imagem está lá em cima) : http://forum.arduino.cc/index.php?topic=88081.15

Era isso Pessoal. Depois eu volto com novidades sobre Firmata no Arduino.

Keep it Up!
Ewerton