Collegare una scheda ethernet WIZ850 ad Arduino MKR
Arduino dispone di diverse shield che permettono di collegarci a una rete lan cablata come ad esempio la MKR ETH. Esistono sul mercato altri dispositivi che svolgono la stessa funzione con costi contenuti e form factor molto piccoli. Uno di questi e la scheda WIZ850io prodotta da WIZnet, dotata di chip wiznet w5500 lo stesso utilizzato per la MKR ETH.
Questa scheda ha una dimensione del pcb di 25mm X 23mm e un costo di circa 20 euro. Di seguito la pin function della scheda:
Come possiamo vedere l’alimentazione della scheda richiede una tensione di 3.3V, è quindi consigliato utilizzare schede con tensione di funzionano di 3.3v, questo per avere i livelli logici con questa tensione. Il bus di comunicazione è affidato all’interfaccia SPI. La figura seguente mostra i collegamenti tra una Arduino MKR Zero e la scheda WIZ850io:
in dettaglio i collegamenti descritti nella tabella seguente:
| Pin Arduino | Pin WIZ850io |
|---|---|
| VCC | 3.3V |
| GND | GND |
| Reset | RSTn |
| MISO (10) | MISO |
| SCK (9) | SCLK |
| MOSI (8) | MOSI |
| SS (7) | SCNn |
Per verificare se tutti i collegamenti sono stati eseguiti correttamente possiamo utilizzare il codice seguente (esempio linkstatus della libreria Arduino ethernet):
#include <SPI.h>
#include <Ethernet.h>
void setup() {
//inizializzo la wiz850io
//il pin chip select è stato collegato al pin 7
//della scheda arduino. se lo collegate in un altro pin dovete
//modificare il numero del pin all'interno del metodo init()
Ethernet.init(7);
//inizializzazione seriale
Serial.begin(9600);
}
void loop() {
//verifico se il cavo lan è collegato e se esiste un link
//con una periferica ethernet
auto link = Ethernet.linkStatus();
Serial.print("Link status: ");
switch (link) {
case Unknown:
Serial.println("Unknown");
break;
case LinkON:
Serial.println("ON");
break;
case LinkOFF:
Serial.println("OFF");
break;
}
delay(1000);
}
Questa scheda permette di implementare una interfaccia di rete cablata in tutte le schede Arduino dotate di porta SPI.