Complete arduino newbie here but I have a starter kit (Flex) an Arduino Uno board and an wondering if I could use a WizNet550io, to ethernet enable it. My question is whether these two items can be connected directly together or whether a shield is absolutely essential. If it is possible, can anyone point me in the right direction for further info.
Thanks,
Yes It is possible. I have done exactly this. Connect as follows:
J1
1 Gnd
2 Gnd
3 MOSI Arduino pin 11
4 MISO Arduino pin 12
5 SCLK Arduino pin 13
6 SCSn Arduino pin 10
7 3V3
8 3V3
J2
1 3V3
2
3
4
5
6 Gnd
I left the remaining unconnected, Although Iâm sure I should need them connecting, but it did let me do some of the Arduino examples after Iâd updated the Ethernet library as done here:
I added the following line to w5100.h #define ARDUINO_ARCH_AVR
and uncommented the #define WIZ550io_WITH_MACADDRESS
but this shouldnât work as far as Iâve looked into it (which isnât very far at allâŠ)
Without the ARDUINO_ARCH_AVR define in w5100.h I get the following errors:
C:\Program Files\Arduino\libraries\Ethernet\utility\w5500.cpp: In member function âvoid W5500Class::init()â:
C:\Program Files\Arduino\libraries\Ethernet\utility\w5500.cpp:29: error: no matching function for call to âSPIClass::begin(int)â
C:\Program Files\Arduino\libraries\SPI/SPI.h:45: note: candidates are: static void SPIClass::begin()
C:\Program Files\Arduino\libraries\Ethernet\utility\w5500.cpp:34: error: no matching function for call to âSPIClass::setClockDivider(int, int)â
C:\Program Files\Arduino\libraries\SPI/SPI.h:50: note: candidates are: static void SPIClass::setClockDivider(uint8_t)
C:\Program Files\Arduino\libraries\Ethernet\utility\w5500.cpp:35: error: no matching function for call to âSPIClass::setDataMode(int, int)â
C:\Program Files\Arduino\libraries\SPI/SPI.h:49: note: candidates are: static void SPIClass::setDataMode(uint8_t)
C:\Program Files\Arduino\libraries\Ethernet\utility\w5500.cpp: In static member function âstatic uint8_t W5500Class::write(uint16_t, uint8_t, uint8_t)â:
C:\Program Files\Arduino\libraries\Ethernet\utility\w5500.cpp:116: error: âSPI_CONTINUEâ was not declared in this scope
C:\Program Files\Arduino\libraries\Ethernet\utility\w5500.cpp:119: error: no matching function for call to âSPIClass::transfer(int, uint8_t&)â
C:\Program Files\Arduino\libraries\SPI/SPI.h:55: note: candidates are: static byte SPIClass::transfer(byte)
C:\Program Files\Arduino\libraries\Ethernet\utility\w5500.cpp: In static member function âstatic uint16_t W5500Class::write(uint16_t, uint8_t, const uint8_t*, uint16_t)â:
C:\Program Files\Arduino\libraries\Ethernet\utility\w5500.cpp:136: error: âSPI_CONTINUEâ was not declared in this scope
C:\Program Files\Arduino\libraries\Ethernet\utility\w5500.cpp:143: error: no matching function for call to âSPIClass::transfer(int, const unsigned char&)â
C:\Program Files\Arduino\libraries\SPI/SPI.h:55: note: candidates are: static byte SPIClass::transfer(byte)
C:\Program Files\Arduino\libraries\Ethernet\utility\w5500.cpp: In static member function âstatic uint8_t W5500Class::read(uint16_t, uint8_t)â:
C:\Program Files\Arduino\libraries\Ethernet\utility\w5500.cpp:159: error: âSPI_CONTINUEâ was not declared in this scope
C:\Program Files\Arduino\libraries\Ethernet\utility\w5500.cpp:162: error: no matching function for call to âSPIClass::transfer(int, int)â
C:\Program Files\Arduino\libraries\SPI/SPI.h:55: note: candidates are: static byte SPIClass::transfer(byte)
C:\Program Files\Arduino\libraries\Ethernet\utility\w5500.cpp: In static member function âstatic uint16_t W5500Class::read(uint16_t, uint8_t, uint8_t*, uint16_t)â:
C:\Program Files\Arduino\libraries\Ethernet\utility\w5500.cpp:179: error: âSPI_CONTINUEâ was not declared in this scope
C:\Program Files\Arduino\libraries\Ethernet\utility\w5500.cpp:186: error: no matching function for call to âSPIClass::transfer(int, int)â
C:\Program Files\Arduino\libraries\SPI/SPI.h:55: note: candidates are: static byte SPIClass::transfer(byte)
Yeah, the real problem is the fact this is not in the tutorial for the Arduino, so people who havenât spent time looking through the library will not know why it isnât working.
I got this to work satisfactorily. Part of the trick seems to be, when you substitute the new Ethernet Library for Wiznet for the standard Arduino R3 library is to copy the new directory over the old one, and choose âcopy and replaceâ (Windows 7) every time that dialog box pops up. I could upload the Arduino IDE I used for others if someone would let me know where that location would be on the Wiznet site.