Aventuras y Desventuras de un hobbyist

Aventuras y Desventuras de un hobbyist....

Arduino Leonardo + Ethernet Shield

Escribo este post a raíz de una pregunta formulada en el foro de Arduino en español.
http://arduino.cc/forum/index.php/topic,106474.msg903626.html#msg903626

El problema: 

Los Ethernet Shields no fucionan con la Placa Vinciduino.

El razonamiento:

Los Ethernet shields usan los pines 10,11,12,13 en el Arduino Uno/duemilanove y el pinout es el siguiente:

Pin Arudino Uno pin microcontroller
10 SS
11 MOSI
12 MISO
13 SCK

En el diseño de Viciduino o Leonardo boards para aprovechar la mayor cantidad de pines del micro(Atmega32u4) se han movido los pines del SPI al conector ISCP

Y el pin SS ha sido asignado al Rx-LED


Pruebas realizadas:


He conectado los pines del ISCP de Vinciduino con los pines de arduino de la siguiente manera:
Eth Shield Vinciduino ISCP
11 MOSI
12 MISO
13 SCK
Ahora bien para poder coger la senal del SS(PB0) del micro he desoldado la resistencia del RXLED para poder soldar un cable y conectarlo al pin 10 del Ethernet shield:

Fucsia = resistencia a quitar
Rojo = pad donde soldé el cable que iría al pin 10 del ethernet shield.

Una vez realizadas las conexiones  me encuentro con que tampoco funciona, y me doy cuenta que el ansia ha podido conmigo ya que no he revisado el código de la librería Ethernet.
##(hacia mucho que no cogía el soldador)

Luego de revisar la librería Ethernet me encuentro con que el equipo Arduino ha editado el archivo w5100.h y han  creado un SS virtual en el pin 10(PB6) de Leonardo/Vinciduino.
Finalmente conecte el pin 10 de Vinciduino al pin1 10 del Ethernet shield y ha funcionado correctamente.

Solución Final:

Simplemente conectar los pines del SCK, MISO,MOSI del  ISCP en nuestra Vinciduino a los pines del ethernet Shield y también el pin  10 de Vinciduino al pin 10 de la Ethernet Shield.
Tal que así: