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

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:

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:

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

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.









Sua matéria é perfeita.Ja tentei de tudo com um arduino nano e nunca funciona.Eu prefiro eu mesmo fazer minhas placas
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 ?
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.
Ó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.
Olá Mauricio, tudo bem? Obrigada por seu feedback.
Bem, sugiro que realize a gravação sem o Ethernet Shield para evitar conflitos de GPIO. Depois da gravação, utilize-o normalmente.
Abraços, att
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!
Olá Plinio! Desculpe-me a demora!
Bem, eu não tentei fazer, porém não utilizamos TX e RX, que são pinos de comunicação serial. Esta comunicação é SPI, ou seja, os pinos utilizados são MOSI, MISO, etc, não gerando um canal Serial.
Se tentar, depois poderia dar um feedback?
Abraços, att
Impecável e simples de entender como sempre. Parabens Gê!!