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.