Arduino como ISP programando el Arduino, no el ATmega328P conectado

Estoy intentando programar un ATmega328P con un Arduino Uno R3. Cuando hago clic en 'Subir al programador' en el IDE de Arduino (versión 1.0.5), Arduino se programa solo y no el chip. Aún más extraño, el boceto de ArduinoISP continúa ejecutándose en Arduino, así como en el programa que debería haberse grabado en el chip. Estos son los pasos que tomo:

El croquis de ArduinoISP está abierto

  1. Herramientas > Placas > Arduino UNO
  2. Herramientas > Programador > AVRISP mkII
  3. Archivo > Subir

Carga completa con éxito

  1. Archivo > Ejemplos > 01.Fundamentos > Blink
  2. Herramientas > Placas > Arduino Nano con ATmega328
  3. Herramientas > Programador > Arduino como ISP
  4. Archivo > Subir usando el programador

No hay errores de AVRDUDE, la carga parece haberse completado con éxito

Después de seguir estos pasos, el Arduino todavía tiene el LED de latido del corazón de ArduinoISP latiendo, pero el LED del pin 13 'L' también parpadea y se apaga, al igual que en el boceto Blink. Esto persiste incluso si el Arduino se reinicia manualmente; es como si Arduino tuviera 2 bocetos ejecutándose a la vez. El LED conectado al pin 13 en el ATmega328P no parpadea.

Aquí está mi cableado:

Alambrado

NOTA: También hay un condensador de electrolito de 10uF, el Uno entre RESET (+) y GND (-), que se perdió en el diagrama anterior.

¿Alguien puede ayudarme a programar este ATmega328P? He probado 2 chips diferentes, y ambos han tenido el mismo problema.

Respuestas (2)

Si su AVR de destino es un Atmega328P, ¿por qué está utilizando "Herramientas > Placas > Arduino Nano con ATmega328" y no "Herramientas > Placas > Arduino UNO"? Si tiene el boceto ArduinoISP cargado y ejecutándose en UNO y "Arduino como ISP" seleccionado como programador, todo debería funcionar.

Un Arduino R3 no debería necesitar el condensador de 10uF en su pin RESET, pero no hace daño, pero recuerda, si dejas el condensador en su lugar, no puedes subir a la UNO. Le sugiero que comience con una carga nueva del croquis ArduinoISP a la UNO, conecte el capacitor para evitar que la UNO se reinicie y luego simplemente cargue el croquis Blink al destino usando "Cargar usando el programador" con "Arduino como ISP" seleccionado. ¡Sin embargo, asegúrese de que el puerto COM sea el puerto COM para su UNO!

Sé que ha hecho esto, pero es importante usar el tipo de placa "Arduino UNO". Ah, por cierto, es una buena idea poner una resistencia de 10K conectada a VCC en el pin RESET del AVR de destino.

También comencé a programar AVR.

Por lo que aprendí de mi investigación, necesita un cargador de arranque grabado en esos chips y necesita un hardware para hacerlo.

Si ya lo hizo, debe programar el Arduino UNO para que actúe como un ISP. Para hacerlo, vaya a Arduino IDE >> Archivo >> Ejemplos >> Arduino ISP y grabe ese código en ARDUINO.

Después de eso, cuando coloca el archivo "Makefile" y el archivo ".c" en una carpeta, debe abrir el símbolo del sistema e instalarlos en el chip.

Esta no es una respuesta significativa, ya que está describiendo los mismos pasos que el cartel ya ha enumerado en su pregunta.
Lea detenidamente la primera parte de la pregunta y la respuesta.
No entender la respuesta no le da derecho a votar negativamente.
La primera parte de esta respuesta es incorrecta. No se requiere cargador de arranque en el destino del ISP.
Sí, estoy seguro...
Los chips se compraron con un gestor de arranque Optiboot preinstalado.
@OrangeFlash81 Gracias por la información. Si no pude ayudarte, lo siento. Soy como un principiante como tú. Tal vez debería haber escrito un comentario, no una respuesta. Pero lo que estás haciendo es intentar cargar tu código en Arduino. En esta tarea, el uso de Sketch es solo para programar Arduino, no el otro chip. Después de convertirlo en ISP, debe tener un IDE como WinAvr para escribir su código en c, crear un Makefile y cargarlo en el chip usando el puerto serie a través de Arduino.