Tutorial de como carregar sketchs no Arduino com Gravador AVR USBasp

USBasp

Seu Arduino não é mais reconhecido por seu notebook mas ele liga quando recebe tensão? Aqui ensinaremos a fazer uma gravação de sketch usando um Gravador AVR USBasp, que tem preço bem acessível.

Imagine você, utilizando seu bom e velho Arduino Uno em algum projeto qualquer, e, de repente, ele não funciona mais. Apesar de seu led ON estar aceso, você pluga em seu computador, não faz mais o “barulhinho” quando pluga o USB.

Bem, isto aconteceu comigo no ano passado, quando tentei fazer o bootloader em um Arduino Pro Mini através de um Arduino Uno. Depois de muita procura, descobri que o chip microcontrolador responsável pela comunicação do Arduino UNO com o computador, chamado ATmega16U2 (vide figura 1) não funcionava mais:

ATmega16U2
Figura 1 – ATmega16U2 (Fonte: http://i.stack.imgur.com/qMNCs.jpg)

Realizando algumas pesquisas, verifiquei a existência de um gravador chamado AVR USBasp que realiza a gravação através dos pinos ICSP do Arduino, estes conjuntos com 6 pinos que estão destacados na figura 2:

Arduino UNO com pinos ICSP em destaque
Figura 2 – Arduino UNO com pinos ICSP em destaque (Fonte: http://i.stack.imgur.com/Djwl0.jpg)

Os pinos à direita são responsáveis pela gravação no ATmega328, microcontrolador principal do Arduino UNO. Já os pinos à esquerda e acima são referentes ao ATmega16U2. As especificações dos pinos estão localizados na figura 3:

Pinout do ICSP
Figura 3 – Pinout do ICSP (Fonte: https://sysexit.files.wordpress.com/2013/02/icsp_pinout1.png)

Para quem já está familiarizado com módulos tipo SPI vai ter familiaridade com estes pinos. Caso deseje saber mais sobre SPI, há dois artigos aqui e aqui disponíveis no Embarcados.

Agora vamos para a parte prática. O gravador que utilizei é este, disponível aqui:

Gravador AVR USBasp
Figura 4 – Gravador AVR USBasp (Fonte: Autocore Robótica)

Caso esteja usando Windows, é preciso instalar o driver do gravador, disponível aqui. Em ambiente Linux não é necessária instalação, apenas permissão para o dispositivo USB, caso você não seja root. Após instalar e plugar seu dispositivo no computador, faça as ligações do gravador para o Arduino:

Conexões do Gravador USBasp no conector ICSP do Arduino
Figura 5 – Conexões do Gravador no conector ICSP do Arduino (Fonte: https://flaviohfnunes.files.wordpress.com/2016/01/uno_usbasp_10_pin.png?w=529)

Caso prefira, há um adaptador de 10 para 6 pinos, disponível aqui.

Agora inicialize a IDE Arduino e selecione no menu Ferramentas – Programador – USBasp, conforme a próxima imagem:

Figura 6 - Escolhendo Gravador na IDE Arduino (Fonte: própria)
Figura 6 – Escolhendo Gravador na IDE Arduino (Fonte: própria)

Na hora de realizar o upload, não faça pelo método comum. Selecione Sketch – Carregar usando Progrador, conforme a figura 7:

Figura 7 - Carregando sketch usando programador (Fonte: própria)
Figura 7 – Carregando sketch usando programador (Fonte: própria)

Se tudo der certo, teremos carregado um blink com intervalo de 200 milissegundos. Se não der, pode ocorrer alguns destes problemas:

  • Se estiver usando Linux, pode haver o problema de não carregar porque o dispositivo USB não está autorizado. Faça as alterações pelo root do Terminal;
  • No ambiente Windows, verifique se o gravador USB foi corretamente instalado. Caso haja algum problema, você deve realizar a instalação através do Gerenciador de dispositivos.

Espero que tenha sido útil para vocês. O meu colega Carlos Cândido Sabino que me passou estas super dicas para não deixar meu Arduino inutilizado rs. Obrigada Carlos! E caso vocês tenham soluções ou problemas parecidos, deixem seus comentários.

Website | Veja + conteúdo

Mestranda em Automação e Controle de Processos, Engenheira de Controle e Automação, Técnica em Automação Industrial, todos pelo IFSP. Pesquisadora no LABORE (Laboratório de Robótica e Reabilitação do IFSP). Hobbista e Maker, realizou projetos, palestras e oficinas nas áreas de Arduino, Wearables voltados para entretenimento e Mulheres no mundo Maker. Fã de Angry Birds ?

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Comentários:
Notificações
Notificar
guest
8 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
Almir Bispo
Almir
09/11/2020 11:26

Sua matéria é perfeita.Ja tentei de tudo com um arduino nano e nunca funciona.Eu prefiro eu mesmo fazer minhas placas

Daniel
Daniel
18/02/2018 14:02

Olá a todos, eu tenho um arduíno mega que não se comunica mais com o computador, porém funciona através de comunicação ICSP pois já testei utilizando outro arduíno. Porém eu percebi que códigos que utilizam o monitor serial não funcionam corretamente, pois a conexão está comprometida obviamente, minha dúvida é: Com esse gravador Avr, a comunicação Serial é restabelecida pra eu poder usar a mesma em tempo real, dentro de um código, por exemplo um que utilize comunicação via módulo Bluetooth que utiliza a porta serial ?

Mauricio Aparecido Silva
Maurício
08/11/2017 07:34

Olá, tudo bem também. Obrigado pela resposta. Não consegui responder seu comentário.
Bom eu vou fazer os dois circuitos interligados (arduino mega e o ethernet shield), então estava pensando em fazer um jumper na alimentação do Shield, por exemplo, tiro a alimentação dele e gravo o arduino via spi e depois volto a alimentação. Você acha que pode funcionar?

Obrigado pela atenção e ajuda Gedeane.

Mauricio Aparecido Silva
Maurício
06/11/2017 10:57

Ótimo artigo!! Gostaria de tirar uma dúvida, consigo gravar via spi como meu Ethernet Shield ligado junto do Arduino? Uma vez que parece que o Ethernet Shield utiliza algumas partes do icsp. Obrigado.

Plinio Babo
Plinio Babo
17/08/2017 00:41

Boa noite! Ótimo artigo. Gostaria de questionar, sabendo-se que a plaquinha USBASP possui pinos RST, TXD, RXD, se ela consegue trabalhar com o arduino com a IDE através do bootloader, usando o canal serial para troubleshooting. Isso é/seria uma mão na roda para campo. você já tentou? Abraço!

Euclides Franco de Rezende
Euclides Rezende
02/06/2016 11:39

Impecável e simples de entender como sempre. Parabens Gê!!

Talvez você goste:

Séries

Menu