Pages: [1]   Go Down
Author Topic: [Solucionado] Compartir puertos ethernet shield ENC28j60, tlc5940, nRF24L01  (Read 1574 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 54
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Buenas... hace un tiempo estuve haciendo algunas pruebas con todos estos componentes / shields.
Todos por separado, siguiendo algún que otro tutorial.
Ahora estoy tratando interconectar todos estos componentes a través de un solo arduino duemilanove.

Antes de comenzar esta integración armé una hoja de cálculo donde se pueden ver los puertos del arduino (analog dig) y los puertos que consumen cada uno de estos componentes.


Como verán estos tres componentes comparten puertos digitales del 10 al 13.

No tengo mucho conocimiento de electrónica pero... creo que lo que voy a tener que hacer es multiplexar el uso de los puertos compartidos si es que no puedo reconfigurarlos (modificando las librerías).

¿Es correcta mi apreciación?
¿Alguien tuvo que lidiar con este tipo de problemas?
¿Como puedo abordar este tipo de problemas?

A la espera de opiniones y recomendaciones,

Saludos

Market
« Last Edit: November 20, 2011, 08:20:49 am by Market » Logged

Offline Offline
Edison Member
*
Karma: 23
Posts: 1375
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Tienes el ejemplo de la shield ethernet oficial, que utiliza el SPI para el Wiznet5100 y el lector de tarjetas SD
Logged

Mercadillo electrónico. Kit iniciación a Arduino, shield LCD a color y más cosas!

Offline Offline
Edison Member
*
Karma: 23
Posts: 1375
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hey, gracias por tu rápida respuesta... hoy estuve viendo esa placa...
El tema es que por un lado estoy tratando de reducir costos.

¿Como ves el tema de compartir esos pines?

Market, responde por el foro que así nos enteramos todos smiley-wink

Pues eso te decía, que la shield de ethernet comparte esos pines (que corresponden a la comunicación por SPI) para comunicarse con el controlador de ethernet y la tarjeta SD, por lo que en las librerías debería aparecer como está hecho.
Logged

Mercadillo electrónico. Kit iniciación a Arduino, shield LCD a color y más cosas!

Ciudad Real
Offline Offline
God Member
*****
Karma: 1
Posts: 751
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

con el SPI puedes conectar muchos elementos, 3 de los pines son comunes a todos, luego hay un "enable" por cada elemento que quieres conectar. si utilizas un elemento solo necesitas 4 pines, si usas 3 elementos 6 pines, 5 elementos 8 pines..


un saludo


Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 54
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Tienes el ejemplo de la shield ethernet oficial, que utiliza el SPI para el Wiznet5100 y el lector de tarjetas SD
Tenés razón... la ethernet debería estar solucionando este problema para sí misma.
http://arduino.cc/es/Main/ArduinoEthernetShield

Pero en un apartado dice:

Quote from: Arduino Ethernet Shield
usa los pines digitales 10, 11, 12, y 13 (SPI) para comunicarse con el W5100 en la ethernet shield. Estos pines no pueden ser usados para e/s genéricas.
Lo que interpreto que puede llegar a costarme compatibilidad con otros shields o componentes que usen esos puertos ¿no?

No es mala voluntad pero mirando el esquema
http://arduino.cc/es/uploads/Main/arduino-ethernet-shield-schematic.pdf
no logro entender como está resolviéndolo  smiley-red .... osea, ¿cómo está haciendo para que estos pines los comparta con la sd card?
Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 54
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

con el SPI puedes conectar muchos elementos, 3 de los pines son comunes a todos, luego hay un "enable" por cada elemento que quieres conectar. si utilizas un elemento solo necesitas 4 pines, si usas 3 elementos 6 pines, 5 elementos 8 pines..

un saludo

SrDonGato, entiendo lo del SPI... así fue como me comuniqué con el TLC5940. Puede que no me haya explicado correctamente (pido disculpas si fue así)  pero la idea es tenerlos a los 3 funcionando al mismo tiempo.

Ahora bien, ¿cómo sugieres manejar estos 3 dispositivos? ¿serviría multiplexar a través del pin "enable" de cada uno de los componentes / shields ?

Gracias !
Logged

0
Offline Offline
Edison Member
*
Karma: 16
Posts: 1579
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Está en inglés, pero es muy bueno => http://www.ermicro.com/blog/?p=1050


« Last Edit: November 08, 2011, 06:33:04 pm by Igor R » Logged


Ciudad Real
Offline Offline
God Member
*****
Karma: 1
Posts: 751
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

el pin CS o SS (el 10) es distinto para cada uno de los elementos , el MOSI, MISO y SCK son comunes para todos.

si no recuerdo mal el lector de tarjetas del shield de ethernet era el 4 ( hablo de memoria)

Logged

0
Offline Offline
Edison Member
*
Karma: 8
Posts: 1040
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Para ver los pines que usa cada shield tenemos http://shieldlist.org/
Logged

Trabajando en ...

    * Control Domotico (En montaje ...)
    http://casitadomotica.blogspot.com/
 

[url=https://bitbucket.org/fmalpartida

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 54
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Está en inglés, pero es muy bueno => http://www.ermicro.com/blog/?p=1050



Que buena info!!... lo voy a leer tranquilo, está muy bien explicado.
Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 54
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

el pin CS o SS (el 10) es distinto para cada uno de los elementos , el MOSI, MISO y SCK son comunes para todos.

si no recuerdo mal el lector de tarjetas del shield de ethernet era el 4 ( hablo de memoria)

Esclarecedor... ja, CS (chip select) debe ser único por componente... perfecto!, ahora leyendo un poco el artículo que me pasó Igor R + tu comentario empiezo a entender esto.

Creo que estás en lo correcto.. usa el D4
Quote from: Arduino Ethernet Shield v5.0
D4 is used for the SD card and can only be used for general I/O if the SD slot is not occupied.
http://shieldlist.org/arduino/ethernet-v5
Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 54
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Para ver los pines que usa cada shield tenemos http://shieldlist.org/

Muchas gracias flico! no tenía este fabuloso link.... ahora sí  smiley-lol
Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 54
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

SOLUCIÓN:

Investigando un poquito mas.... la librería que estaba utilizando para controlar el componente TLC5940 me permitió modificar los pines que originalmente estaban asociados con la comunicación SPI.
La librería está en  http://code.google.com/p/tlc5940arduino/
Acá están los pasos para modificar el uso de los pines
http://blog.derouineau.fr/2011/07/tlc5940-library-ethernet-shield-arduino-mega/

Para lo que es manejos SPI el site que compartió Igor R me fue muy útil para comprender el funcionamiento de este tipo de comunicación.
http://www.ermicro.com/blog/?p=1050

Saludos,

Market
Logged

Pages: [1]   Go Up
Jump to: