Show Posts
Pages: [1] 2
1  Using Arduino / Interfacing w/ Software on the Computer / Re: Arduino as a component in a Eagle/Altium design on: April 05, 2011, 03:54:24 am
Thanks for your answer. I've been working with the eagle files that are available in the Arduino site and they are really great. But as you have mentioned, a shield that plugs-in into Arduino will be a great solution. Do you know any existing libraries with that? I've seen the Adafruit libreries, but the Arduino Mega is not included in them. If there is no library, i will have to create it from the scratch.
2  Using Arduino / Interfacing w/ Software on the Computer / Arduino as a component in a Eagle/Altium design on: April 05, 2011, 03:06:52 am
Hi,

I'm doing the schematic of a board where i'm going to connect Arduino with some sensors and with other development systems. My question is, is it possible to use Arduino as a component in Eagle or in Altium? I don't need to see what is inside my Arduino Board (Arduino Mega 2560), i just want to use the layout to access the connection pins.

Thanks for your help!
3  International / Español / Usar Arduino como componente en Eagle o Altium on: March 31, 2011, 06:38:37 am
Hola,

Os quería hacer una preguntilla. He estado buscando pero no he hallado respuesta. Necesito diseñar una placa en la que mi Arduino (Mega 2560) sea un componente de la misma, es decir, necesito verla como una "caja negra" con sus pines y listo. Me da igual usar Eagle o Altium (preferiblemente el segundo, pero con cualquiera me vale). ¿Sabéis cómo puedo hacer esto o dónde encontrar librerías? Sino lo haré a mano, pero es por ahorrar tiempo (que no abunda smiley-razz).

Como siempre, gracias smiley
4  International / Español / Re: Arduino, Mindstorms y resistencias de pull-up Arduino Mega 2560 on: March 07, 2011, 01:26:59 pm
Muy buenas smiley

Como os prometí, voy a comentaros la solución a la que he llegado. Al final no he modificado las librerías, sino que ha sido una solución "hardware". Simplemente (y tras muchas medidas, pruebas, etc) he "cortado" las pistas que unían las señales SDA y SCL con las resistencias de 10K en la plaquita. Lo he hecho mirando el mejor sitio con el esquema de PCB que está en la página de Arduino y tal. Ahora todo funciona bien smiley

Como esto contado así suena "cutre", he contado todo el proceso medidas, etc.) en este post: http://mindstormsyarduino.blogspot.com/2011/03/solucion-los-problemas-entre-arduino.html

(que es del blog que estoy llevando para el proyecto).

Espero que ha alguien más le pueda ser de ayuda. De nuevo gracias chiva, y a todos los que me habéis echado una mano con esto smiley
5  International / Español / Re: Arduino, Mindstorms y resistencias de pull-up Arduino Mega 2560 on: February 23, 2011, 10:26:09 am
Pues sip, creo que tendré que hacer eso smiley-sad De todas formas indagaré un poco más, igual retocando las librerías de Softi2c (aunque eso depende del tiempo que tenga). Ya os iré contando smiley Gracias por la ayuda!
6  International / Español / Re: Arduino, Mindstorms y resistencias de pull-up Arduino Mega 2560 on: February 23, 2011, 03:55:19 am
En el bus I2C no puedes mandar mensajes sin más como has hecho en el código, si no que tienes que decir a quien va dirigido y normalmente tienes que mandar después el registro al que lo mandas.

Code:
void requestEvent(){
  Wire.beginTransmission(NXT_ADDRESS);
  Wire.send(blablabla);
  Wire.endTransmission();
}

Mmm, una dudilla tonta... Tras volver a ver los ejemplos y algún código en el que Arduino es esclavo (como el que hay por ahí de conectar 2 Arduinos) no veo que al enviar datos del esclavo al maestro usen la función BeginTransmission. ¿Se debe usar, o con la que puse era suficiente? Lo digo porque la dirección del maestro no se especifica cuando se conecta al bus.

A ver qué hago con las resistencias, visto que no se pueden quitar... Sino intentaré usar softI2C, a ver a ver ,qué lío me estoy haciendo entre hardware y software  smiley-sleep

He dicho ya que gracias?  smiley

Edito con otra pregunta: Mirando softI2C (ya que parece que es lo que me va a quedar),  veo ejemplos de cómo usarlo con Arduino como maestro, incluso la librería se llama Softi2cMater. ¿Es posible configurar Arduino como esclavo con ella?
7  International / Español / Re: Arduino, Mindstorms y resistencias de pull-up Arduino Mega 2560 on: February 22, 2011, 04:56:21 pm
Hola Chiva,

Primero darte las gracias porque siempre estás pendiente smiley Es la segunda vez que posteo una duda, y la segunda que acudes al rescate. Muchas gracias!

La función receiveEvent realmente lo único que quería ver era si llegaba algo, tiene más cosas dentro efectivamente. Pero probé por ejemplo algo tan sencillo como hacer parpadear el led 13 al recibir un dato, sin ni siquiera entrar en si lo que recibía era correcto o no. Pero no obtenía resultados. La que he copiado/pegado está incompleta, tienes razón. En cuanto a la otra, también probé como me comentas, pero la he cambiado tantas veces (pensando que era un problema de software) que al final se ve que la he dejado mal. Estuve viendo los ejemplos, pero claro, al pensar que el fallo estaba en el código he terminado cargándomela del todo.

En cuanto a las resistencias, si quito "esa cosita del 103", ¿sólo estoy quitando las resistencias? ¿o estoy tocando algo más? Imagino que si las quito no afecta a nada, no? ¿o están en serie y por lo tanto tengo que hacer un puente donde estaban? A ver si mañana vuelvo a mirar el esquemático con más detalle.

De nuevo gracias, y mañana cuando haga pruebas comentaré por aquí los resultados. En cuanto salga seréis los primeros en saberlo smiley-grin
8  International / Español / Arduino, Mindstorms y resistencias de pull-up Arduino Mega 2560 on: February 22, 2011, 12:46:12 pm
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:
Code:
#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
9  Forum 2005-2010 (read only) / Español / Re: Arduino como maestro y esclavo usando I2C on: January 13, 2011, 06:22:45 pm
Quote
¿Que si la conozco? Si te la he nombrado en el primer post  ;D
Cuando te he dicho lo de Softi2c era por el nombre de esa librería

Vaaaaale xD No había caído  :-[ Pensaba que había varias alternativas para hacer lo mismo y... en fin, sin excusas  ;D
10  Forum 2005-2010 (read only) / Español / Re: Arduino como maestro y esclavo usando I2C on: January 13, 2011, 02:01:13 pm
He encontrado en este mismo foro una referencia a una librería llamada softi2cmaster, que ha creado un usuario para un proyecto. ¿La conoceis? Parece sencilla y fácil de usar. Por si os interesa os dejo el link smiley

http://todbot.com/blog/2010/09/25/softi2cmaster-add-i2c-to-any-arduino-pins/

Ando mirando todas las alternativas, y creo que terminaré decantándome por usar softi2c. No requiere hardware adicional, y será más fácil (creo smiley-razz) de compatibilizar con un mayor número de sensores. A ver si uso alguna librería existente, sino tocará picar más código ;D
11  Forum 2005-2010 (read only) / Español / Re: Arduino como maestro y esclavo usando I2C on: January 13, 2011, 01:31:27 am
Pues mira, eso simplifica un poquito más las cosas smiley Le echaré un ojo a ver qué tal, y como tengo que pedir cosillas a esa página, a ver si lo incluyo en el pedido  8-)
12  Forum 2005-2010 (read only) / Español / Re: Arduino como maestro y esclavo usando I2C on: January 12, 2011, 06:46:40 pm
Quote
Bueno, he dixo SPI por el tema de que lo hagas rápido, ya que el SPI no te hace de "cuello de botella" porque va a Mhz

Sip, es una buena alternativa. Mañana con las especificaciones de los sensores en mano compararé velocidades y veré en qué rango me tengo que mover. Siempre es bueno tener varias opciones, y esta desde luego es buena smiley

Quote
Sin más, ahora a investigar y probar..... smiley-wink

Pues sí, a ello me pongo  smiley-wink Ya os iré contando los avances, y qué método ha sido finalmente el elegido  smiley-grin
13  Forum 2005-2010 (read only) / Español / Re: Arduino como maestro y esclavo usando I2C on: January 12, 2011, 06:15:29 pm
Bueno, lo del SPI tampoco lo había considerado, así que le echaré un ojo mañana a ver qué tal. Aunque por lo que comentais, puede suponer un problema ya que la idea cuando el proyecto avance no es conectar un sólo tipo de sensor, sino distintos tipos, con lo cual puede complicar bastante la cosa si como decís, cada sensor actúa de una manera. Me parece que finalmente me voy a decantar por el softI2C, aunque como digo miraré todas las opciones antes de decidirme.

Quote
Por cierto,"Minimal circuit", esta explicado en el Tutorial de la propia pagina Arduino
http://arduino.cc/en/Tutorial/ArduinoToBreadboard

Gracias por el enlace smiley Está muy bien explicado, y visto así, hasta parece fácil  ;D

De neuvo gracias a todos por las ideas, me estais siendo de gran ayuda  smiley
14  Forum 2005-2010 (read only) / Español / Re: Arduino como maestro y esclavo usando I2C on: January 12, 2011, 07:02:01 am
Sip, llevas razón, estaba justo buscando algún dispositivo que tenga 2 interfaces I2C y que me valiera, pero no lo encuentro. Así que probablemente pruebe con el softI2C y a ver qué tal smiley
Gracias de nuevo por la ayuda. A ver si consigo que esto eche a andar! Ya iré comentando los progresos.
15  Forum 2005-2010 (read only) / Español / Re: Arduino como maestro y esclavo usando I2C on: January 12, 2011, 06:42:36 am
Hola,

Ante todo muchas gracias por responder tan rápido smiley Efectivamente la interfaz del lego no la puedo tocar. Lo de usar SoftI2C es una cosa que no se me había ocurrido, y me ha parecido buena idea  smiley-wink Voy a echarle un ojo y a ver si (ya que ve veo que es algo más lento) no me da problemas con los tiempos de repsuesta y tal (cosa que no creo).

Otra opción que había pensado es isar un esquema tal que así:

LEGO <--> DISPOSITIVO X
                            |
                            |
                  ARDUINO <--> SENSORES

De forma que el dispositivo X sea una especie de registro en el que Arduino va colocando periódicamente los valores que ha leído de los sensores. De la misma forma, el robot iría pidiendo estos datos al "dispositivo X" en lugar de directamente a Arduino. Así Arduino y el robot siempre serían maestros, pero no están directamente conectados. ¿piensas que es posible? ¿hay algún dispositivo que me pudiera hacer esa función de registro?

Voy a seguir explorando ambas vías smiley De neuvo, muchas gracias!
Pages: [1] 2