Há algumas conversas sobre vodu nas respostas por aqui, entre boas idéias. Vamos tentar ser um pouco mais reais sobre o que está acontecendo e resumir as coisas boas para verificar:
Basicamente, quando isso acontece, é uma boa idéia ativar o modo detalhado para AVRDUDE , para ter uma idéia melhor do que está acontecendo. Para fazer isso, você só precisa ir nas preferências e marcar a caixa de modo detalhado. Também é uma boa ideia se afastar do Arduino IDE e iniciar um console para ficar mais confortável ao ler a saída do AVRDUDE, que você clicará no upload
botão.
O importante aqui é colocar 3 ou 4 -v
na chamada de comando. Veja como se parece com esses comandos AVRDUDE, com parâmetros inventados, pois são totalmente dependentes de como o Arduino foi instalado:
avrdude -v -v -v -v -C /path/to/avrdude.conf -patmega328 -P/dev/usbport -U flash:w:/path/to/firmware.hex
Uma boa maneira de obter a linha de comando correta é copiá-la da saída detalhada do log de saída do Arduino IDE quando a verbosidade estiver ativada.
Quando você chega avrdude: stk500_recv(): programmer is not responding
, significa basicamente que algo de errado está acontecendo, antes que o flash comece.
Basicamente, você deve verificar (do hardware ao software, de baixo a alto nível):
- se o cabo e / ou conectores não tiver microcortes;
- se nenhum ponto de solda estiver em curto-circuito (ou seja, tocar em algo metálico), isso significa:
- se não houver curto-circuito no PCB entre
Rx
e Tx
(geralmente pinos 1
e 0
);
- se não houver contato com um elemento metálico abaixo da placa ou pequenos pedaços entre as pernas de um componente (como o FTDI, o chip ATmega ou qualquer outro);
- se o chip ATmega não estiver sem energia ( atalho GND / V CC ou corte ou entrada V CC mortos ...);
- se os pinos
1
e e 0
do Arduino não estiverem sendo usados por algum escudo ou design personalizado ( /!\
não se aplica ao Leonardo , pois possui manipulação USB independente);
- se o conversor USB para UART não apresentar problemas (
FTDI
no Duemilanove mais antigo ou no ATmega16U2 no Arduino Unos mais recente);
- se o chip ATmega328 estiver frito ou instalado incorretamente;
- se o carregador de inicialização foi substituído ou está falhando;
- se a taxa de transmissão correta for aplicada para entrar no carregador de inicialização;
- se as configurações corretas estiverem definidas para o microcontrolador de destino e a placa;
Geralmente, isso avrdude -v -v -v -v
pode ajudar bastante a encontrar em que estágio está falhando. Se ele não consegue fazer uma conexão USB (cabo com falha, USB / UART, PCB ...) ou se é um problema no gerenciador de inicialização.
Atualização : tentei girar o ATmega a bordo e montá-lo na outra direção. Agora, não encontro problemas ao fazer o upload, mas nada acontece depois. O LED onboard também não parece estar piscando.
Receio que se você inverteu a posição do ATmega e ele não funciona, o fato de você ter colocado a fonte de alimentação nos pinos digitais pode ter queimado seu chip.