Proximidad entre dos arduinos

Hola Comunidad Arduino:
Con un deseo de buena fortuna para todos ustedes, les invito a que lean mi problema: He formulado en un proyecto de interfaz análoga la posibilidad de comunicar dos arduinos espacialmente -por ahora-, es decir, quiero que se pueda identificar cuan cerca esta una placa de la otra. La pregunta es: ¿Que sensor se ajustaría a estos requerimientos? ¿O que estrategia seria la mas adecuada?.

Hay que tener en cuenta:
las placas no van a estar frente a frente -en el proyecto ni si quiera se piensa en un frente, solo hay un radio mínimo de contacto que establece si se tocan-.
Las placas estarán en movimiento, con recorridos no lineales de 3 ejes (X,Y,Z).
La posición de una sola placa con respecto al espacio ya esta solucionado; como lo dije antes el problema surge cuando se relaciona con su par idéntico.

De antemano les agradezco la lectura y las ayudas que puedan surgir a este problema, José Sánchez.

Bueno, no tenía ni idea, hasta que leí esto que dices...

La posición de una sola placa con respecto al espacio ya esta solucionado;

Entonces se me ocurre, que tomes esa ubicación de ambas y luego hagas cálculos.

Si:

Placa A está en: X=150 // Y=325 // Z=230

y

Placa B está en: X=355 // Y=175 // Z=180

Y bueno, ahí lo "difícil" ver que fórmulas aplicar para decir "Están a xx cm o metros lineales una de la otra"

Si esa solución le vale es sencillo. Una búsqueda en google por ejemplo da esto

Hola, les estoy agradecido por su ayuda, pero:
Hay un error en mi redacción, el problema no es tan sencillo y corrijo: /la ubicación espacial no esta resuelta y no lo creo necesario para este proyecto/*, lo que si está solucionado es la acción de arrastrar la placa en el espacio -un vector de aceleración-.
Se me ocurre que tal vez: produciendo una frecuencia y midiendo su intensidad se pudiese encontrar dicha distancia.

Saludos!

Entonces, las placas están sueltas, no se mueven por ejes, sino que son 2 placas que pueden estar libremente ubicadas en cualquier espacio entre una y otra?

Se me ocurre lo mismo que dices si, pero no se que tan preciso podría ser. Algo similar a lo que es un "Ping" en las PC en que uno manda algo y se mide cuanto tiempo tardan desde el otro lado en responder. Pero claro, no se si aplica a esto o no...

American2020:
Entonces, las placas están sueltas, no se mueven por ejes, sino que son 2 placas que pueden estar libremente ubicadas en cualquier espacio entre una y otra?

Se me ocurre lo mismo que dices si, pero no se que tan preciso podría ser. Algo similar a lo que es un "Ping" en las PC en que uno manda algo y se mide cuanto tiempo tardan desde el otro lado en responder. Pero claro, no se si aplica a esto o no...

Exacto, la cuestión ahora es: Que estrategia, modelo, técnica y tecnología -obviamente con soporte para arduino- me ayudaría a resolver esté problema. Gracias por su ayuda.

Si sólo son dos placas podría ser algo tipo un emisor de ultrasonidos y un receptor independientes en cada placa. La una emite un pulso, cuando le llega a la otra replica el pulso. Por el tiempo entre la emisión y recepción se calcula la distancia (habrá que restar el tiempo de proceso que se calculará empíricamente). Después se puede enviar el dato de la distancia a la otra placa si es necesario mediante cualquier sistema inalámbrico.
No sé si esto puede funcionar. Dependerá de si hay más objetos cercanos sobre los que reboten los ultrasonidos y que distorsionarían la señal de la réplica.

Yo creo que cualquier transmisor RF o lo que sea que mande una señal de un Arduino a otro. Y claro, en este caso, lo ideal sería encontrar una que soporte buenas distancias, y que a mas lejos más tarde :slight_smile:

Entonces mandas una señal, y dejas este primer Arduino a la espera de una respuesta, entonces guardas en que "millis" salió la información. Y cuando recibes una respuesta desde el otro arduino, te fijas en que "millis" estás.

Pero claro, todo esto realmente toma sentido, si es que realmente hay un delay importante entre enviar y recibir, y que este delay se haga más grande a más lejos estén los 2 Arduinos. (Esos detalles realmente desconozco)

La "Teoría" parece sencilla, como siempre lo difícil es ver si se puede llevar a la práctica algo así.

Veré y si llego a encontrar algo más sobre el tema te aviso.

:astonished: hombre no esperes poder detectar con un arduino el tiempo de ida y vuelta de una onda electromagnética. En un microsegundo recorre 300 metros.

Ahh perfecto. Si, por eso que no estaba seguro si ese método serviría o no. Pensé que eran algo más lentos, lo cuál en este caso hubiera sido ideal.

Sip. Creo que nos faltan herzios para medir con onda electromagnética, aunque el funcionamiento del gps está basado en algo similar :). ¿Sería posible por sonido o ultrasonido? Un arduino emite un tono A, el otro lo detecta y responde con un tono B, calculamos tiempo...
Una tercera opción sería medir la atenuación de una onda, pero habrá aberraciones por la direccionalidad de esas ondas...
¡¡¡Que pase el siguiente!!! :zipper_mouth_face: