Eu tenho um Arduino Duemilanove com um ATmega328 . Estou trabalhando no Ubuntu 12.04 (Precise Pangolin), e a versão do IDE do Arduino é 1.0. Recentemente, tentei fazer upload de alguns esboços de amostra nele, como o Blink. No entanto, nenhuma das minhas tentativas está funcionando e elas resultam no mesmo erro toda vez que eu tento:
avrdude: stk500_recv (): o programador não está respondendo.
Ativei /dev/ttyUSB0
no menu Ferramentas → Porta serial . Também selecionei o quadro correto (Duemilanove com ATmega328) da lista. No entanto, não consigo resolver o problema. Também pesquisei on-line e nenhuma das outras respostas para esse problema parece estar funcionando para mim. Por que estou enfrentando esse problema e como resolvê-lo?
Também 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.
Respostas:
Eu tive esse problema com um Crowduino, executando o IDE do Arduino no OS X. A solução para mim foi ativar a saída detalhada durante o upload (no painel de preferências do IDE do Arduino).
Então, ao fazer o upload, você pode ver o AVRDUDE enviando três pacotes
avrdude: Send: 0 [30] [20]
(com o RX correspondente piscando na placa) imediatamente antes doavrdude: ser_recv(): programmer is not responding
erro.O truque é pressionar o botão de reset na placa imediatamente antes que esses três pacotes sejam enviados. Em seguida, o programa será carregado com sucesso.
fonte
Verifique se não há entrada nos pinos Tx / Rx. Então vai funcionar.
fonte
Eu tive o mesmo problema - foi por isso que encontrei esta pergunta.
Eu só precisei mudar o processador de “ATmego328P” para “ATmego328P (Old Bootloader)”
Problema resolvido - pelo menos para mim.
fonte
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: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):
Rx
eTx
(geralmente pinos1
e0
);1
e e0
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);FTDI
no Duemilanove mais antigo ou no ATmega16U2 no Arduino Unos mais recente);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.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.
fonte
avrdude: no programmer has been specified on the command line or the config file Specify a programmer using the -c option and try again
avrdude -v -v -v -v -C/etc/avrdude.conf -patmega328 -carduino -P/dev/ttyACM0 -U flash:w:~/Arduino/WebServer/WebServer.ino.standard.hex
Tente ver se seu quadro foi selecionado corretamente. Clique no menu Ferramentas -> Quadro e verifique se o quadro correto está selecionado.
fonte
Você pode verificar se há algum jumper conectado aos pinos 0 e 1. Esses pinos são usados para comunicação serial e os fios conectados podem impedir que o código seja carregado na placa.
Se nada estiver conectado, pode haver um erro no AVRDUDE , você pode tentar atualizá-lo.
fonte
avrdude
também é atualizado e é a versão mais recente.Serial.println()
exemplo para verificar se não é apenas oled 13
.Também resolvi esse problema e o resolvi reinstalando o driver serial USB. Veja também: http://arduino.cc/en/Guide/Howto e http://www.ftdichip.com/Drivers/VCP.htm
fonte
O erro acima ocorre em 3 etapas
fonte
Resolvi o problema no OS X v10.10 (Yosemite) seguindo estas instruções:
Chip FTDI e OS X 10.10
No entanto, o truque proposto por hoipolloi foi uma solução temporária de trabalho, também nesta versão.
fonte
Eu tive o mesmo problema na minha primeira tentativa do Arduino Uno.
Minha solução foi bastante simples. Apenas desconecte e conecte o cabo USB.
fonte
No Windows 7 , tive esse problema várias vezes, sempre com diferentes mensagens de erro. Basicamente, o IDE está enviando para a porta errada.
Para corrigir isso, basta ir ao menu Ferramentas → Portas → [selecione a porta COM em que sua placa está].
Verifique a porta da sua placa:
Inicie o Gerenciador de dispositivos
Verifique se o driver do Arduino está listado na porta correspondente às configurações de porta do IDE (mencionadas acima)
Minha placa está listada em port
COM1
. Se desejar, você pode simplesmente alterar a porta nas configurações avançadas do driver:fonte
Eu também tenho esse problema no meu Arduino em execução no Mac. Isso acontece em dois dos meus Arduinos (um Arduino Uno e um Arduino Pro conectado ao FTDI).
Para o Uno, conecto o cabo ao meu computador, pressiono upload e começo a contar até o LED "TX" piscar. Em seguida, repita o upload, mas pouco antes do LED TX piscar, pressione o botão Redefinir e o upload será bem-sucedido.
Mais tarde, determinei que a alteração do cabo USB corrigia esse problema.
fonte
Estou postando isso porque não encontrei essa resposta em outro lugar. Todos os meus clones do nano-chinês (CH340) do Arduino tiveram esse problema após a atualização para o Arduino IDE para 1.8.9. O que funcionou para mim foi usar um Arduino Uno oficial que eu tenho que gravar o gerenciador de inicialização nos nanos defeituosos usando os cabeçalhos do ICSP no nano. Para isso, tudo o que fiz foi seguir as instruções aqui: clone-de-arduino-nano-chinês-com-chip-ch340g-como-consertá-lo . A única coisa que fiz de diferente foi sempre definir a opção "Old Bootloader", como dito anteriormente neste tópico. Fora isso, eu segui completamente as instruções nesse link e salvei meus nanos desse problema irritante. Espero que isso ajude alguém por aí.
fonte
Primeiro, verifique se / dev / ttyUSB0 funciona. Por exemplo, conecte o mouse e verifique se funciona. Segundo, tente selecionar outro quadro. Geralmente, as placas não originais não são reconhecidas corretamente sob seus nomes. Terceiro, tente pressionar o botão de redefinição manualmente durante o upload do esboço. Provavelmente a redefinição automática está interrompida.
fonte
Resolvi um problema no meu caso baixando e instalando drivers FDTM antigos a partir daqui .
Tente instalar e
FTDIUSBSerialDriver_10_4_10_5_10_6_10_7.mpkg
, em seguida, reinicie o Arduino.fonte
Apenas pensei em salientar que minha nova placa Arduino Uno Rev3 usa o seguinte driver LInux:
Isso é conhecido como a
CONFIG_USB_ACM:
opção : no kernel do LInux 3.x mais recente.Este dispositivo aparece como:
/dev/ttyACM0
ou similar.fonte
Você tem algo conectado ao
RESET
pino no Arduino?Eu encontrei esse problema com um LCD gráfico que precisava ser conectado ao
RESET
pino. Desconectar o fio do jumper entre o LCD e oRESET
pino durante o upload do código corrigido para mim, tudo o que você precisa fazer é reconectar assim que o código terminar o upload.fonte
Eu encontrei a causa disso ...
Alterar minha porta serial para /dev/tty.usbmodem2131 corrigiu-a. Acontece que eu estava usando a porta serial errada o tempo todo!
fonte
Podes tentar:
serial.debug_rate=9600
fonte
Essa combinação das respostas acima resolveu o problema para mim:
executou a atualização do Java:
sudo apt-get install default-jdk
depois matou o IDE do Arduino e o reiniciou
minha placa correta agora apareceu (Arduino Mega 2560, onde antes a Mega 1280 era a única opção)
para os motoristas, fiz o seguinte:
sudo chmod a+rw /dev/serial/by-id/usb-Arduino__www.arduino.cc__(a bunch of numbers)
Depois disso, meu IDE do Arduino é exibido
/dev/ttyACM0
no menu ferramentas / porta serial.Agora, tudo funciona muito bem!
fonte
Aqui está uma solução que funcionou para mim rodando em um MacBook Pro (desktop).
Eu estava recebendo o mesmo erro e acontece que eu tinha o USB conectado a um dispositivo periférico (meu monitor) em vez de um USB no próprio PC. Ele interrompeu qualquer erro imediatamente e é uma solução simples.
fonte
Obrigado @hoipolloi pela direção certa para encontrar a solução.
Enfim, tive que fazer algumas etapas diferentes para corrigir o problema.
No meu caso, o Arduino Uno funcionou bem, mas de repente parou depois de brincar com esboços. Eu estava recebendo
stk500_recv(): programmer is not responding
o tempo todo e nada funcionou. Então prestei atenção que o LED 13 está sempre aceso na minha placa. Parecia que algum esboço em loop estava correndo repetidamente no quadro e bloqueando qualquer entrada no quadro. Não tenho certeza, são apenas meus gues.Tentei clicar em RESET em todos os momentos possíveis sem sorte e de repente tentei as seguintes etapas:
Depois disso, notei que o LED 13 integrado desligou por um segundo e depois acendeu novamente. Parecia que havia uma janela de redefinição curta quando a placa estava sendo redefinida. Então, como na solução do @ hoipolloi, percebi o momento de "redefinir" pouco antes de os três pacotes serem enviados e funcionarem.
Espero que isso ajude você a descobrir o problema se nenhuma outra solução funcionar.
DICA . Se você não vir as três
Send: 0 [30] [20]
linhas ao carregar o esboço no console, faça o seguinte:Olhe para a janela de log. Você poderá encontrar uma linha como esta:
Parece que engole quebra de linha ou símbolos de espaço, como aqui
-CE:\Program Files...
. Deveria ser-C E:\Program Files
. Copie isso como no Bloco de Notas, adicione espaços ausentes para tornar a linha assim:Adicione 4
-v
instruções como eu fiz acima.Agora você verá muito mais detalhado graças a 4
-v
argumentos. Originalmente, o Arduino Studio usa apenas um.fonte
Você instalou / atualizou o driver do cabo FTDI? (Etapa três em http://arduino.cc/en/Guide/Howto ). A execução do IDE do Arduino no meu Raspberry Pi funcionou bem sem a instalação explícita dos drivers (eles foram pré-instalados ou o instalador do IDE do Arduino cuidou dele). No meu Mac, esse não era o caso e eu tive que instalar os drivers de cabo além do IDE.
fonte
Passei as últimas horas nessa mesma questão ... Basta ir aqui " http://www.ftdichip.com/Drivers/VCP.htm ", baixar os drivers mais recentes e reiniciar. Deve funcionar muito bem depois disso. Também baixei uma noite do software Arduino, mas não acho que isso faça diferença.
fonte
Tente carregar um programa sem -b (a opção de taxa de transmissão). Em ~ / .arduino15 / preferências.txt, defina build.verbose = true, quando o arduino.cc não estiver em execução. Na saída detalhada, você encontrará o arquivo hexadecimal que você deve carregar de um console:
Acabei de substituir o chip 128 pela versão 328 e de Decimile o nome da minha placa foi alterado para Uno ou Ethernet devido à nova taxa de transmissão 115200.
fonte
Se você estiver conectando o seu Arduino através de um hub USB, tente conectá-lo diretamente a uma das portas USB do Mac.
Isso funcionou para mim.
fonte
No meu caso, o problema foi levantado quando eu estava tentando fazer expressões aritméticas "estranhas"
por exemplo (3,14 / 4) / 5 ou 3,15% 2,55
Portanto, sugiro que você verifique todas as expressões aritméticas , caso algumas não possam ser calculadas pelo Arduino.
Espero que ajude.
fonte
No meu caso (Mini Pro), a solução era tão simples, não tenho certeza de como eu perdi isso. Eu precisava cruzar fios rx / tx.
Solução:
fonte
Para o meu caso, foi a taxa de transmissão errada. Ele chama este comando:
Como você pode ver, a taxa de transmissão está definida como 57600. Quando você remove esse argumento (-b57600) e o executa na linha de comando, ele funciona bem.
fonte
Meu problema foi que atualizei o IDE do Arduino para uma nova versão e não reconecte o fio. Parece que esse foi o problema
Apenas desconecte o cabo e conecte novamente. Obrigado.
fonte