Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos » Arduino y Raspberry Pi
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

03/06/2014 #1

Avatar de MikeLunatiko

Programar Arduino Nano V3 con un Arduino Mega 2560
Hola a todos.

Tengo un Arduino Nano que, por motivos del destino, a acabado con el FTDI chamuscado . Por tanto, no puedo alimentarlo por el puerto USB ni tener comunicación serie con el PC. Sin embargo, el micro sigue vivo, ya que si alimento la placa por los pines correspondientes (5V, GND), se sigue ejecutando el último programa que grabé en él.

También tengo un Arduino Mega 2560, que estoy intentado usar como programador. Para ello, cargo en él el programa Arduino ISP. Conecto ambos según se indica aquí. En Arduino IDE, selecciono la tarjeta Arduino Nano, y el programador Arduino as ISP.

Sin embargo, cuando intento grabar un programa, me sale un error de avrdude diciendo que el programador no responde.

¿Alguien ha intentado hacer algo así? ¿Alguna idea de qué puede estar fallando?

Saludos.
04/06/2014 #2

Avatar de Scooter

No hace falta tanto, conectas el arduino por el puerto com y listo.
Basta con un max232 o un nuevo fdti.
En esencia lo que tienes ahora es un arduino mini pro, mas o menos.
Otra opción es cambiar el chip fdti
04/06/2014 #3

Avatar de MikeLunatiko

Gracias, pero no es tanto, teniendo otro Arduino prefiero usarlo a comprar un max232 o un FTDI, que por otra parte, no me veo cambiándolo (patillas muy finitas). Intentaré cómo dices conectarlo directamente, igual un amigo me puede dejar un cable FTDI (USB en un lado, pines TTL en el otro, lleva el FTDI dentro del conector).

El problema que planteaba es que no puedo usar un Arduino para programar otro Arduino. Lo del Nano con el FTDI quemado solo era para detallar el problema.

Saludos.
04/06/2014 #4

Avatar de Scooter

Lo que pasa es que las instrucciones que hay por ahí son para reflashear "el sistema operativo arduino", no para flashear un sketch que yo sepa.

Podrías comprar uno de estos para programarlo:
http://www.buyincoins.com/item/32994.html#.U48F0XYVc9M
http://www.dx.com/es/p/ft232rl-usb-t...-3-3-5v-206995

El primero es el que uso para programar mis arduinos mini-pro


En principio se podría usar otro arduino en modo "replicador serie" por llamarlo de algún modo, por ejemplo un leonardo que tienen usb nativo + uart u otro con dos uart.
Habría que investigar un poco de a que velocidad se envía el sketch y simplemente hacer uno en el "arduino programador" en el que sea el programa algo así.

loop{
Serial1.escribe=Serial0.lee;
}

(código macarrónico)
04/06/2014 #5

Avatar de MikeLunatiko

Scooter dijo: Ver Mensaje
Lo que pasa es que las instrucciones que hay por ahí son para reflashear "el sistema operativo arduino"
El bootloader, sí, también probé hacer eso pero tampoco me funcionó, salía el mismo mensaje de error.

Scooter dijo: Ver Mensaje
no para flashear un sketch que yo sepa.
En principio puedes flashear cualquier programa, pues en principio el Arduino "maestro" actúa como un programador de AVR cualquiera.

Tenía en mente comprar uno de esos para tener un puerto serie USB-TTL fácil. Igual va siendo hora ya (porque tardará al menos un mes en llegar).

Scooter dijo: Ver Mensaje
En principio se podría usar otro arduino en modo "replicador serie" por llamarlo de algún modo
Justo así lo llamo yo, y justo es lo que tiene flasheado el Nano que tengo incomunicado, lo he hecho varias veces (para comunicar un micro con el PC por puerto serie sin tener max232 ni cosas similares). De hecho en Arduino ni siquiera hace falta tener varios canales serie, se puede hacer por software (y lo he probado a 115200 baudios y rara vez se pierde algún rato). Tal que así:
Código:
#include <SoftwareSerial.h> //puerto serie software

//PINES
#define RXpin 10
#define TXpin 11
#define baudRate 115200

SoftwareSerial device(RXpin, TXpin);

void setup()
{
  Serial.begin(baudRate);
  device.begin(baudRate);
}

void loop()
{
  if (device.available())
    Serial.write(device.read());
  if (Serial.available())
    device.write(Serial.read());
}
Sin embargo no funciona para programar. Parece ser que cuando programas un Arduino, el bootloader toma prioridad, y reprograma el micro, borrando el replicador serie previamente programado.

Pienso que mi problema está en otra parte, igual se destruyó algo más a parte del FTDI.
17/06/2014 #6

Avatar de MikeLunatiko

Bueno, ya está solucionado.

Tras usar un cable FTDI que me han prestado, y obtener el mismo error al intentar grabar el programa, he buscado por ahí y he descubierto una cosa.
Parece que para programar el micro por el puerto serie, los pines RX y TX no son suficientes. Además tiene los que unir los pines CTS y RTS a MISO y MOSI, respectivamente. Me faltaba también el pin DTS (no disponible en el cable) que debería ir al pin de reset del Arduino, pero lo he activado manualmente usando el pulsador que viene en la placa.

Ahora tengo que hacer esto cada vez que quiera reprogramarlo, pero al menos ya no tengo que desecharlo

Saludos.

EDITO: Vale, esto no resuelve el problema inicial que planteaba (programar un Arduino con otro Arduino), pero sí resuelve mi problema de tener un Arduino inservible.
17/06/2014 #7

Avatar de Scooter

Se supone que haciendo un reset manual el arduino se queda un par de segundos en modo bootloader y de puede iniciar la grabación .
Que conste que lo he intentado y no me ha salido.
24/10/2015 #8


Si se puede Programar Arduino Nano V3 con un Arduino Mega 2560. Solo tienes que conectar Rx y Tx del Mega con el Rx y Tx del Nano, alimentar el Nano con 5 en Vin y GND con GND, la salida de Reset del Mega mandala a GND. En Arduino selecciona la tarjeta Nano y subes el sketch, solo hay que checar cuando se prendan los led de Rx y Tx del Nano justo ahí presionar el boton de reset del Nano y listo, se programa el Nano. Así programo yo mi Arduino Nano
24/10/2015 #9

Avatar de Scooter

¿Y que sentido tiene eso?
Es curioso pero no le acabo de ver la utilidad.
24/10/2015 #10


En mi caso el arduino nano no lo puedo programar por usb, ya que se quemo el diodo de protección, pero sigue funcionando si le metes voltaje por Vin. Así que esa es la manera de programarlo y no darlo por perdido.
24/10/2015 #11

Avatar de Scooter

A mi también se me fundió el diodo, le puse otro que tenía por ahí y funciona.
Seguramente funcionará perfecto con alimentación externa y conectado al usb, el diodo es para alimentar desde el usb
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Buscar más temas sobre:
Lupa Arduino y Raspberry Pi

Cerrar
Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos » Arduino y Raspberry Pi

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.