Hola,
Quería haceros una preguntilla. Como ya comenté en otro post (en el foro antiguo) estoy tratando de comunicar un Mindstorm NXT de LEGO con una placa Arduino Mega 2560 mediante I2C. El problema que tengo es que aparentemente no están llegando datos de un lado a otro.
Las conexiones que he hecho son:
Arduino GND -- Pines 2 y 3 (rojo y negro) del NXT
Arduino 5V -- Pin 4 del NXT (verde). Da la alimentación.
Arduino SDL -- Pin 6 del NXT (azul).
Arduino SCL -- Pin 5 del NXT (amarillo).
(El conector del NXT:
http://en.wikipedia.org/wiki/Lego_Mindstorms_NXT#Connector)
Tanto SDL como SCL los he conectado sin nada, y luego con una resistencia del pull-up a la señal de 5v. En ninguno de los dos casos he obtenido resultado. ¿Se os ocurre qué puedo estar haciendo mal? En principio la comunicación es bien sencilla. Sólo estoy intentando pasar datos en ambas direcciones pero parece que no llega ni en una ni en la otra.
En mi comunicación Arduino es el esclavo, y el Mindstorm es el maestro. Por si os hace falta, os dejo el código que uso en Arduino, pero no creo que sea ese el problema:
#include <Wire.h>
void setup(){
Wire.begin(1); //Nos unimos como esclavos con dir. 1
Wire.onRequest(requestEvent); //Rutinas para cuando llegue algo
Wire.onReceive(receiveEvent);
}
void loop(){
}
void receiveEvent(int len){ //Devuelve el nº de bytes recibidos
while( 0 < Wire.available() ) {
char c = Wire.receive();
}
}
void requestEvent(){
Wire.send("Arduino to Mindstorms");
}
Otra duda (relacionada con esto) es que he visto un post de alguien que ha hecho algo similar. Él tuvo el mismo problema, y fue porque usaba resistencias de Pull-up con Arduino Mega sin darse cuenta que las señales SDL y SCL ya tenían incorporadas 2 resistencias (que se ven en la placa). Aquí podéis ver su explicación (en inglés):
http://mightor.wordpress.com/2009/08/04/connecting-the-nxt-to-an-arduinomega/Bien, mi duda es, si miro mi placa (Arduino Mega 2560) ya no están estas resistencias de pull-up, pero en el esquemático si que aparecen. ¿Realmente están? No consigo localizarlas.
Bueno, mil gracias de antemano. A ver si consigo desatascarme ya que es para un proyecto y llevo varios días dándole vueltas a todo esto sin éxito.
Un saludo