Arduino DUE + ethernet shield + nrf24l01, spi pin ocupados

Hola, estoy migrando mi proyecto de arduino mega, hacia arduino DUE.

Mi problema es que la Ardunino Mega tiene los pins (MISO, MOSI, SCK), tanto en el conector SPI, y en los pines 50,51,52… Pero la Arduino DUE solo tiene 1 set de pines SPI, y por lo tanto al conectar la ethernet shield, los pines SPI quedan inaccesibles para conectar la nRF24l01.

adjunto imagen

Se me ocurrió soldar los pines SPI en la placa ethernet, pero no creo que se hayan equivocado de este modo al diseñar la placa.

Si alguien sabe algo al respecto le agradeceré la información.

Creo que voy a coincidir contigo, no hay extensión de los pines ICSP en el DUE.

Bueno aunque tengas que soldar los cables no pasa nada el en bus spi se pueden conectar multiples dispositivos, los pins SCLK, MISO y MOSI son comunes para todos los dispositivos y el pin SS (Select) hay uno por cada dispositivo, el pin SS lo eliges tu te vale cualquier pin I/O en modo salida. Te cojes 2 pins por ejemplo el D1 y el D2 los pones en modo salida, el D1 conectado al pin SS del nrf24l01 y el D2 conectado al SS del ethernet shield (ojo aqui el shield como iba a modo "unico" no se si tiene accesible el pin SS desde el conector, si no te tocara poner un cable). Hecho esto pones D1 y D2 = 1 (desactivados los dos), ahora cuando quieras seleccionar un aparato pones su pin SS a "cero", por ejemplo D1=0 (seleccionamos nrf24l01) y comenzamos la comunicacion por spi. Terminamos pones D1 = 1 y lo desactivas, quieres hablar con el ethernet pones D2=0 y comienzas la cmunicacion spi, terminas pones D2=1

Ojo no poner nunca D1 y D2 a "cero" a la vez pues activarias los dos simultaneamente y se "pelearian" entre ellos y no funcionaria la comunicacion.

ejemplo:

http://es.wikipedia.org/wiki/Serial_Peripheral_Interface

Muchas gracias por la información. De momento hice una placa intermedia entre la DUE y la ETHERNET, donde extendí los pines SPI. Y pude hacer convivir mis periféricos. Ahora estoy configurando mi NRF24l01, para poder comunicarme con una arduino Nano 328, ya que la comunicación entre ellas es muy inestable, a pesar de utilizar las librerías RF24 actualizadas para DUE, y la estable para las placas mas viejas. Supongo que no encuentro mucho en los foros, debido a que la DUE todavía está muy verde. Si alguien ha logrado hacer funcionar bien la DUE con MEGA o NANO, será mas que agradecido el aporte. saludos

Yo tengo cosas usando DUE, MEGA con nRF24 sin problemas. uso las librerías de maniac o las de TMRh20

No tuve jamas ningún problema de estabilidad.

gracias por el dato "surbyte", lo voy a probar. saludos

"surbyte", he seguido tu consejo, y logre establecer la comunicacion entre arduino DUE y NANO.. De momento no he podido, ni siquiera complicar los ejemplos de RF24Network, para poder direccionar mas de 6 nodos. Has tenido alguna experiencia positiva al respecto?? saludos

Si. Me funcinonan perfecto. En mi caso 4 nanos en rF24Network. Me costó pero luego resulta fácil. Te paso link?

Dale, si me lo pasas te agradezco!!!, ¿tuviste que cambiar los pin's de alguna de las placas??, te pregunto esto porque los pines SPI de la arduino DUE son totalemnte diferentes que la NANO. Si me das una mano con eso te agredecría mucho.. saludos

Esta es la librería y link que uso de TMRh20 project Blog

Si tienes problemas con los ejemplos me dices

Perdona que te moleste nuevamente, no he podido hacer funcionar la libreria TMRh20 (descargué RF24 y RF24Network), en cambio si funciona la libreria RF24 compartida por maniacbug.. pero no tiene la clase RF24Network, y no es compatible con RF24 TMRh20, lo he comprobado.

Yo creo que la conexión de las placas es diferente entre estas verisones, porque las has podido hacer funcionar y yo no.. Deduzco que puede ser la conexion, porque es lo único que podemos tener diferente.

Si me puedes facilitar una ayuda, sera muy agradecida.

saludos

No es asi. Pero no puedes tener una RF24 y Network de maniac e intercambiarlas con esta que te dije. O una u otra.

Si claro,justamente te cuento que no las mezclo.. lo que te digo es que maniac si me funciona, en cambio no funciona la tmrh20. Te pedía si podrías ser tan amable de indicarme como has conectado las placas, ya que sospecho que yo no las tengo adecuadas a la librería que me has sujerido.

Saludos

las conexiones son las mismas que maniac.

/* YourDuinoStarter Example: nRF24L01 Receive Joystick values
 *
 * - WHAT IT DOES: Receives data from another transceiver with
 * 2 Analog values from a Joystick or 2 Potentiometers
 * Displays received values on Serial Monitor
 * - SEE the comments after "//" on each line below
 * - CONNECTIONS: nRF24L01 Modules See:
 * http://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo
 * 1 - GND
 * 2 - VCC 3.3V !!! NOT 5V
 * 3 - CE to Arduino pin 9
 * 4 - CSN to Arduino pin 10
 * 5 - SCK to Arduino pin 13
 * 6 - MOSI to Arduino pin 11
 * 7 - MISO to Arduino pin 12
 * 8 - UNUSED
 *
 * - V1.00 11/26/13
 * Based on examples at http://www.bajdi.com/
 * Questions: terry@yourduino.com
 */

Hola surbyte, lamento molestarte nuevamente, he intentado todo lo que está a mi alcance y no he podido lograr hacer funcionar la libraria TMRH20, con mis placas, ni siquiera se asignan de forma correcta las direcciones de las tuberias. Tanto el padre como los 5 nodos esclavos, muiestran en el status de inicio las direcciones en oxFFFF, a pesar de hacerlos de forma correcta...

si tenes algo para ayudarme realmente lo agradeceré.

saludos

Bueno deja que revise los dos códigos emisor y receptor y te los paso.

hola estoy eestableciendo una comuicacion ethernet shield con nrf24l01 es decir mi servidor ethernet y enlazarlo al os nodos nrf24l01 alguna idea?