problemi ethernet enc28j60

Salve ragazzi ho un problema con questa scheda praticamente nn risponde al ping.
i collegamenti sono i seguenti
ENC28j60-mega 2560
CS 48
SI 51
SO 50
SCK 52
GND gnd
VCC vcc
il codice e stato preso da questa guida http://www.lucadentella.it/2012/02/12/enc28j60-e-arduino-1/
La risposta al ping è host di destinazione non raggiungibile.
L'arduino e collegato dietro ad un modem tp-link sulla porta 2 e il pc si trova sulla porta 1.
Dove sbaglio???

Quale scheda ? Non essendo una ufficiale, non c'e' una scheda standard. Alcune poi vendute su ebay sono solo a 3,3V (non solo alimentazione ma anche come segnali)
Quale IDE ? Quale libreria (c'e' ne sono 3): Tweaking4All.com - Web-Enable your Arduino with an Arduino ENC28J60 Ethernet shield ...
Come hai settato ip e resto configurazione scheda, ip fisso o tramite dhcp ?

EDIT: da datasheet del chip, signal 5V tolerant.

ecco la scheda presa su ebay http://www.ebay.it/itm/Modulo-Ethernet-ENC28J60-LAN-Arduino-PIC-shield-module-/111294145444?pt=Componenti_elettronici_attivi&hash=item19e9a5e3a4

ecco il codice.

#include <EtherCard.h>
static byte mymac[] = {0xDD,0xDD,0xDD,0x00,0x00,0x01};
static byte myip[] = {192,168,1,10};
byte Ethernet::buffer[700];
 
void setup () {
 
  Serial.begin(57600);
  Serial.println("PING Demo");
 
  if (ether.begin(sizeof Ethernet::buffer, mymac, 10) == 0) 
    Serial.println( "Failed to access Ethernet controller");
 
  if (!ether.staticSetup(myip))
    Serial.println("Failed to set IP address");
}
 
void loop() {
 
  ether.packetLoop(ether.packetReceive());  
}

Se fai static setup, ti consiglio di passare tutti i paremtri, soprattutto gateway (indirizzo del router) e dns

static byte mymac[] = {0xDD,0xDD,0xDD,0x00,0x00,0x01};
static byte myip[]  = {192,168,1,10};
static byte mydns[] = {8,8,8,8};    // ip google dns
static byte mygtw[] = {192,168,1,1};    // ip router
static byte mymsk[] = {255,255,255,0};  // mask, non usato
...
if (!ether.staticSetup(myip,mygtw,mydns)) Serial.println("Failed to set IP address");

mmm nn sono molto pratico di questo stavo seguendo la guida citata all’inizio da dove ho preso quel codice,ora questo pezzo di codice dove devo inserirlo??? =S

Sul monitor seriale mi dice Failed to access Ethernet controller cosa potrebbe essere??

dannos95:
i collegamenti sono i seguenti
ENC28j60-mega 2560
CS 48

Se il CS o SS è su 48 questa la devi cambiare, non 10 ma 48:

if (ether.begin(sizeof Ethernet::buffer, mymac, 10) == 0) 
    Serial.println( "Failed to access Ethernet controller");

Per il resto del codice che ti ho scritto prima, devi aggiungere le static byte che mancano (mettendo ip del ruo router)
e cambiando la staticSetup(myip) -> staticSetup(myip,mygtw,mydns)

Grazie per tutte le tue risposte ho aggiustato il pin e cambiato la parte di codice chi mi hai detto in questo modo:

#include <EtherCard.h>



byte Ethernet::buffer[700];

static byte mymac[] = {0xDD,0xDD,0xDD,0x00,0x00,0x01};
static byte myip[]  = {192,168,1,10};
static byte mydns[] = {8,8,8,8};    // ip google dns
static byte mygtw[] = {192,168,0,1};    // ip router
static byte mymsk[] = {255,255,255,0};  // mask, non usato

void setup () {
 
  Serial.begin(57600);
  Serial.println("PING Demo");
 
  if (ether.begin(sizeof Ethernet::buffer, mymac, 10) == 0) 
    Serial.println( "Failed to access Ethernet controller");
 
  if (!ether.staticSetup(myip,mygtw,mydns))
    Serial.println("Failed to set IP address");

  
}
 
void loop() {
 
  ether.packetLoop(ether.packetReceive());  
}

Ora sul monitor seriale non mi da nessun errore pero quando faccio il ping a 192.168.1.10 mi dice Host di destinazione nn raggiungibile??Forse qualche problema con il mio modem ???
Grazia ancora per la cortese attenzione.

Dal tuo codice vedo che la ether.begin() è ancora su pin 10
Poi mi pare strano che nella tua rete usi ip fisso 192.168.1.10 mentre il gateway (ovvero router) abbia indirizzo 192.168.0.1
I primi tre numeri devono essere uguali.

Se usi windows, per verificare quale ip ha il tuo pc, puoi andare nel prompt dei comandi (terminale oppure esegui -> cmd) e da linea di comando scrivi ipconfig e poi invio
Ti dice ip del tuo pc e anche ip del router/gateway (almeno sul mio xp)

Anche questo netscaner può essere utile (è free):


Sopra nel range dai da 0 a 255 con i primi tre numeri quelli della tua rete. Ti trova tutti i pc

é andato,finalmente.
ho cambiato l’indirizzo di arduino con 192.168.0.20 e ora ha risposto al ping.
grazie mille.

A volte i router hanno il dhcp attivo che di solito è impostato per dare IP dinamico ai tuoi pc con indirizzo da 10 a 19, quindi dal 20 è libero. Ma dipende dai router.