Presentacion y duda sobre modo sleep

Buenas. Soy Suriken y es la primera vez que ando con un microcontrolador de este estilo de forma seria. Antes habia utilizado un picaxe pero para cosas como un seguidor de lineas y poco mas…

Estoy intentando hacer un sistema para conectar tres o mas arduinos mediante xbee y que puedan pasarse de uno a otro informacion de unos sensores que tendran.

Me interesa que el primero de ellos comience la cadena leyendo sus sensores y se lo pase al segundo y este a su vez lea los suyos y le pase al tercero la informacion de ambos.

La parte de leer de sensores lo tengo controlado, puedo leerlos y meterlos en un struct para almacenar cada uno por separado.

No he probado los xbee todavia pero no me preocupa demasiado por el momento, ya buscare informacion.

Lo que se me ha ocurrido es el tema del sleep que no sabia que existia. Me interesaba que consumiesen poco ya que van a ser autonomos y no quiero que se queden sin bateria demasiado rapido. Pero me surge la duda de que si un arduino esta en sleep, otro no podra mandarle datos, no? ¿Se pueden activar los arduinos mediante alguna señal de otro arduino por xbee?

Asi podria leer los datos del primero, activar al segundo y que leyese sus datos, activando a su vez al tercero y mandarle todo para mostrarlo en una pantalla… Y si algun dia tengo 10 o 12 pues que se activasen entre ellos.

¿Alguna idea?

Otra solucion que se me habia ocurrido es autoactivarlos a determinada hora y mandar el paquete un poco mas tarde para asegurarme que estan activos… Pero me gusta mas la primera idea, asi puedo mandar paquetes cuando quiera sabiendo que se reciben todos. Porque con la segunda idea, si tengo pocos arduinos lo haran bien pero si tengo 50 es posible que lleguen donde uno que no se haya activado o se haya desactivado y tal.

Bueno, muchas gracias de antemano y espero estar por aqui mucho tiempo colaborando en lo que pueda que de momento es poco…

Hola, Arduino puede estar en modo sleep, y xbee puede estar en modo sleep. Mira la documentanción de atmel y la de xbee. Es posible que sea difícil sincronizar los dos modos. Yo probaría usando solo el sleep de Arduino, y controlando la alimentación de xbee con una salida digital.

Bueno, no me importa poner en sleep solo una parte, era por reducir consumos.

Si pongo el arduino en modo sleep, ¿podre despertarlo desde otro arduino mediante xbee?

Voy a buscar la documentacion a ver si veo algo.

Despues de mirarlo un poco mas, he visto que hay varios modos de sleep. Dependiendo de todo lo que añadas al sleep pierdes mas o menos funciones.

En esta pagina: http://rubenlaguna.com/wp/2008/10/15/arduino-sleep-mode-waking-up-when-receiving-data-on-the-usart/ hay un ejemplo para poder despertar al arduino por medio de la usart.

¿Puedo llamar a la usart mandando un mensaje al modulo xbee de un arduino dormido? Asi lo unico que tendria que hacer es programar el primer modulo para que se autodespierte y ya vaya despertando al resto...