Arduino DUE und Ethernet Shield 2

Servus,
so mein Traum von einer Wetterstation geht weiter. Sensoren laufen, Uhr geht, Display geht…

Nun wollte ich mein Due mit meinem Ethernet Shield 2 verbinden und denn Webserversketch der auf meinem Leonardo geht damit Testen.

/*

 created 31 July 2010
 by Tom Igoe
 */

#include <Ethernet2.h>
#include <SPI.h>
#include <Wire.h>
//EInbinden der Biblioteken


byte mac[] = {
  0x90, 0xA2, 0xDA, 0x10, 0x22, 0xEE
};
//Einsetllung MAC adresse
IPAddress ip(172, 17, 17, 210);
IPAddress gateway(172, 17, 17, 1);
IPAddress subnet(255, 255, 255, 0);
// IP Einsellungen

EthernetServer server(80);
//HTTP Portfreigabe

#define Addr 0x27
//Sensor Adresse Setzen


long lastReadingTime = 0;
float humidity =0;
float cTemp =0;

void setup() {
  
SPI.begin(); 
Wire.begin(); //Starte I2C
  Serial.begin(9600);
  // give the sensor and Ethernet shield time to set up:
delay(1000);
  
  Ethernet.begin(mac, ip);
  server.begin();
//Starte Ethernet und denn Server
  // initalize the  data ready and chip select pins:
  


}

void loop() {
  
  // check for a reading no more than once a second.
  if (millis() - lastReadingTime > 3000) 
  {
tmp_lesen ();
lastReadingTime = millis();
    }
    listenForEthernetClients();
  }


void tmp_lesen () 
{
 unsigned int data[4];
  Wire.beginTransmission(Addr);   //Start I²C
   Wire.write(0x00);  //Datenregister 0x00
    Wire.endTransmission();  //Beende Übertragung
     Wire.requestFrom(Addr, 4);  // Request 4 bytes of data
if (Wire.available() == 4)// Read 4 bytes of data
  {  // humidity msb, humidity lsb, temp msb, temp lsb
    data[0] = Wire.read();
    data[1] = Wire.read();
    data[2] = Wire.read();
    data[3] = Wire.read();
  }

  // Convert the data to 14-bits
   humidity = ((((data[0] & 0x3F) * 256) + data[1]) * 100.0) / 16383.0;
  int temp = ((data[2] * 256) + (data[3] & 0xFC)) / 4;
 cTemp = (temp / 16384.0) * 165.0 - 40.0;  //Umrechen in grad C

}


  void listenForEthernetClients() {
  // listen for incoming clients
  EthernetClient client = server.available();
  if (client) {
  
    boolean currentLineIsBlank = true;
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        // if you've gotten to the end of the line (received a newline
        // character) and the line is blank, the http request has ended,
        // so you can send a reply
        if (c == '\n' && currentLineIsBlank) {
          // send a standard http response header
        
          client.print("Temperatur: ");
          client.print(cTemp);
          client.print(" degrees C");
          client.println("");
          client.print("Feuchtigkeit: ");
          client.print(humidity);
          client.print(" %RH ");
          
          break;
        }
        if (c == '\n') {
          // you're starting a new line
          currentLineIsBlank = true;
        }
        else if (c != '\r') {
          // you've gotten a character on the current line
          currentLineIsBlank = false;
        }
      }
    }
    // give the web browser time to receive the data
    delay(1);
    // close the connection:
    client.stop();
  }
}

Da der Due ja ein 3V3 Board ist und das shield ein 5V Board ist hab ich dazwischen (MISO,MOSI, SCK und SS auf Pin 10) diese Pegelwandel IC: Link hängen. 5V und GND vom ISP Header gehen so durch Reset lass ich weg.

Die Status LEDs auf meinem shield leuchten zwar, jedoch hab ich keinen Kontakt zu der Vergebenen IP-Adresse.

Wenn ich den Code: SPI.beginn(); zu SPI.beginn(10); wie beschrieben ändere(Arduino - DueExtendedSPI )gehen meine LEDs aus.

Hat jemand ne Idee warums nicht gehen könnte?

Und mit welcher Spannung betreibst du das Board ?
Wie hast du es verkabelt?

Denn du per USB und dann das shiel per ISP HEader und noch Vin zu Vin Verbunden