Attiny85 com V-USB: Como gravar o bootloader usando Arduino - Fazedores
Attiny85 com V-USB: Como gravar…
Algumas vezes usar um Arduino é um exagero, ou muito caro. Uma boa alternativa é usar o chip AtTiny85, que é fácil de ser encontrado, mais barato que o AtMega328P do Arduino Uno e não precisa de cristal para o clock. Existe na versão SMD e DIP, que é mais fácil de soldar.
É possível fazer um sistema com poucos componentes, pode-se usar a protoboard ou até mesmo fazer sua própria placa. Existem vários projetos que usam esta base, como o Franzininho, o Digispark (acima), o Arduino Gemma e outros. Muitos deles são baseados em uma biblioteca chamada V-USB, que permite fazer com que chips que não têm USB de forma nativa possam se comunicar também por USB.
Para que um microcontrolador possa ser programado de forma prática pela IDE do Arduino, ele deve antes ser programado com um programa especial chamado BOOTLOADER, que pode ser traduzido como "carregador de boot". Este programa roda assim que o microcontrolador é ligado, e fica por alguns segundos aguardando que um outro programa seja enviado, no nosso caso pela IDE do Arduino.
Sem o bootloader precisariamos de um hardware programador toda vez que quiséssemos atualizar o código. Para gravar o bootloader é necessário um programador, mas só para preparar o chip a primeira vez!.
Arduino como gravador
Usaremos um Arduino como gravador, a ligação fica como a seguir:
A imagem veio deste post em inglês.
Note que existe um capacitor de 10uF entre o pino de reset e o GND. No meu caso não foi necessário, mas muitas pessoas dizem que é preciso colocar este capacitor para evitar o auto-reset do Arduino durante a programação. Se você precisar usar o capacitor, não se esqueça de retirá-lo quando for reprogramar seu arduino.
Enviando o bootloader
O programa abaixo simplifica o processo de gravação do bootloader. Basta enviar este sketch para o Arduino, conectar o AtTiny85 conforme acima, abrir o monitor serial e enviar a letra G maiúscula para o Arduino.
https://create.arduino.cc/editor/maujabur/397f14ad-1fc1-49a5-b9a8-2143fda15b35/preview
O microcontrolador vai ser programado com o bootloader do Arduino Gemma, que tem a grande vantagem de não precisar de drivers não assinados no Windows e a IDE do Arduino não precisar ser reconfigurada.
Se for fazer o download deste sketch, não se esqueça de incluir todas as abas (progBoot.ino, code.cpp, images.cpp, optiLoader.h e support.cpp). Para pegar tudo no mesmo arquivo ZIP, aperte o botão de download ao lado de "open code".
Pronto! A partir de agora, pode colocar seu chip com bootloader na sua placa ou protoboard, Selecionar Arduino Gemma como placa e também como programador e usar seu novo Arduino! Para programar, ligue a placa ao USB somente após apertar o botão "Enviar" na IDE.
Montando sua placa
O Franzininho é:
"Uma placa Arduino facil de montar. Possui placa de circuito impresso em face simples e componentes pth.
Essa placa foi desenvolvida para as atividades no FAB LAB Livre SP durante o Arduino Day 2017 em São Paulo: http://arduinosaopaulo.cc
Você pode facilmente fazer a sua usando uma CNC ou até mesmo métodos caseiros"
E abaixo, seu diagrama:
Categories: Projetos, Tecnologia, TutoriaisPor Maurício Jabur 20 de março de 2017 11 Comentários
Marcações: arduinoarduino dayarduino gemmaattinyattiny85bootloadereletrônicafranzininhoprogramador
AnteriorPost anterior:Arduino Day 2017PróximoPróximo post:Evento: 47ª Semana de Engenharia da FAAP
25 de outubro de 2018 em 12:26
Recentemente adquiri alguns Attiny85 da Digispark com micro usb e realmente eles são muito pequenos e excelentes para pequenos projetos.
Mas tive alguns problemas devido ao v-usb, nas primeiras vezes ele funcionou normal fiz vários testes e funcionou perfeitamente, passados alguns dias tentei subir outro código mas sem sucesso, o windows simplesmente parou de reconhecer a plaquinha.
Um dos vários possíveis erros é referente aos 5 segundos na inicialização, o windows não tem tempo hábil de reconhecer a placa para que o IDE possa subir o código.
Esse problema parece não ocorrer no linux, vou fazer alguns testes.
29 de julho de 2018 em 20:28
Olá Mau, eu tentei. Vi mil vídeos no youtube, e não consigo carregar o bootloader. Tenho os mais variados erros. Hora da erro no upload, hora carrega tudo, mas dá falha de assinatura não encontrada. Hora de erro de Hex. Não sei mais o que fazer!
29 de julho de 2018 em 21:14
Ish, que estranho! Vou remontar o circuito aqui essa semana e ver se consigo reproduzir o problema.
13 de abril de 2018 em 16:08
@Mau, atualiza o link para o repositório da Franzininho: https://github.com/Franzininho
13 de abril de 2018 em 17:50
não teria um json do board para instalar?
O sketch não esta mais disponivel.
13 de setembro de 2017 em 00:10
Parabéns , mas como faço para retornar a plaquinha para as configurações de fábrica?
Se a plaquinha que se refere é o arduino, basta subir o exemplo do blink de volta, ou qualquer sketch que preferir. Amanhã procuro um tutorial bacana pra isso. (se você disser que quer)
18 de agosto de 2017 em 15:35
18 de agosto de 2017 em 23:12
Muito obrigado! Se tiver interesse, dê uma verificada no prorama do Arduino, ele é muito interessante!