Ks0243 keyestudio EASY plug W5100 Ethernet Module: Difference between revisions

From Keyestudio Wiki
Jump to navigation Jump to search
No edit summary
 
(10 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[image:ks0245图.jpg|thumb|600px|right|EASY plug Joystick Module ]]
[[image:Ks0243-.png|thumb|600px|right|EASY plug W5100 Ethernet Module ]]


==Introduction==
==Introduction==
W5100 is a multi-purpose single internet interface chip, integrated 10/100 Ethernet controller inside, and applied to embedded system which is high integration, high stability, high performance and low cost. <br>
W5100 is a multi-purpose single internet interface chip, integrated 10/100 Ethernet controller inside, and applied to embedded system which is high integration, high stability, high performance and low cost. <br>
It can be connected to Internet without operating system and compatible with IEEE802.3 10BASE-T and 802.3u 100BASE-TX. <br>
It can be connected to Internet without operating system and compatible with IEEE802.3 10BASE-T and 802.3u 100BASE-TX. <br>
It contains TCP/IP protocol stack that is full-hardware and verified by market for years, Ethernet medium transport layer and physical layer.  
It contains TCP/IP protocol stack that is full-hardware and verified by market for years, Ethernet medium transport layer and physical layer.<br>
You don’t need to consider the Ethernet control, and just need simple program for ports.<br>
You don’t need to consider the Ethernet control, and just need simple program for ports.<br>
The module should be connected to the SPI communication interface on EASY plug control board with only one cable, so the wiring is rather simple.  
The module should be connected to the SPI communication interface on EASY plug control board with only one cable, so the wiring is rather simple.
<span style=color:red> '''Special Note:''' <br>
The sensor/module is equipped with the RJ11 6P6C interface, compatible with our keyestudio EASY plug Control Board with RJ11 6P6C interface. <br> If you have the control board of other brands, it is also equipped with the RJ11 6P6C interface but has different internal line sequence, can’t be used compatibly with our sensor/module. </span><br>


<br>
<br>
==Specifications==
==Specifications==
* Various interface: Direct Bus, Indirect Bus and SPI Bus
* Various interface: Direct Bus, Indirect Bus and SPI Bus
Line 24: Line 28:


==Connect It Up==
==Connect It Up==
Connect the EASY Plug Joystick module to control board using an RJ11 cable. Then connect the control board to your PC with a USB cable.
Connect the EASY Plug W5100 Ethernet module to control board using an RJ11 cable. Then connect the control board to your PC with a USB cable.
<br>[[File:KS0245.jpg|500px|frameless|thumb]]<br>
<br>[[File:Ks0243-3.png|700px|frameless|thumb]]<br>


<br>
<br>


==Upload the Code==
==Upload the Code==
Copy and paste below code to [http://wiki.keyestudio.com/index.php/How_to_Download_Arduino_IDE Arduino IDE] and upload.   
Copy and paste below code to [http://wiki.keyestudio.com/index.php/How_to_Download_Arduino_IDE Arduino IDE] and upload.  <br>
<span style=color:red> '''Note:''' before compile the code, do remember to place the necessary libraries inside the libraries directory of Arduino IDE. </span><br>
You can download the libraries from the link: https://drive.google.com/open?id=18_Ye5Ew1TrpnBsLUO4J9rvEqqoUL-DJG
 
<pre>
<pre>
int JoyStick_X = 6; //x
#include <SPI.h>
int JoyStick_Y = 7; //y
#include <Ethernet.h>
int JoyStick_Z = 2; //key
#include <Wire.h>
  void setup()  
#include <LiquidCrystal_I2C.h>
{
LiquidCrystal_I2C lcd(0x27,20,4);  
   pinMode(JoyStick_Z, INPUT);  
 
   Serial.begin(9600); // 9600 bps
// Enter a MAC address for your controller below.
// Newer Ethernet shields have a MAC address printed on a sticker on the shield
byte mac[] =
  0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x02 };
 
// Initialize the Ethernet client library
// with the IP address and port of the server
// that you want to connect to (port 80 is default for HTTP):
EthernetClient client;
void setup() {
  Serial.begin(9600);
   lcd.init();
   lcd.backlight();
}
}
void loop()  
 
{
void loop() {
  int x,y,z;
///////////////////////////////////////////////////////////// W5100
   x=analogRead(JoyStick_X);
delay(1000);
   y=analogRead(JoyStick_Y);
lcd.clear();
   z=digitalRead(JoyStick_Z);
lcd.setCursor(0,0);
  Serial.print(x ,DEC);
lcd.print("T ...");  
  Serial.print(",");
   if (Ethernet.begin(mac) == 0) 
   Serial.print(y ,DEC);
  {
   Serial.print(",");
    lcd.setCursor(0,1);
   Serial.println(z ,DEC);
    lcd.print("W5100 Error!");
   delay(100);
    Serial.println("W5100 Error!");
    while(1);
   }
  lcd.setCursor(0,1);
   for (byte thisByte = 0; thisByte < 4; thisByte++) {
  lcd.print(Ethernet.localIP()[thisByte], DEC);
  lcd.print(".");
  Serial.print(Ethernet.localIP()[thisByte], DEC);
  Serial.print(".");
   }
  lcd.setCursor(14,1);
   lcd.print("OK");
   Serial.println("OK");
   //while(1);
}
}
</pre>
</pre>


<br>
<br>
==What You Should See==
==What You Should See==
Done uploading the code, open the serial monitor and set the baud rate to 9600. If push the Joystick button towards different direction, you should get the different value.
Done uploading the test code, open the serial monitor and set the baud rate to 9600;<br>
<br>[[File:KS0245-3.png|700px|frameless|thumb]]<br>
you should be able to check the IP address that W5100 Ethernet module connected.  
<br>[[File:Ks0243-2.png|700px|frameless|thumb]]<br>


<br>
<br>


==Resources ==
==Resources ==
'''Download the PDF:'''<br>
https://drive.google.com/open?id=1eN8fs6Ew9sOMBcJxqhNgWk3qrMnSba9S


'''Download the Code:'''<br>
'''Download the Code and libraries:'''<br>
https://drive.google.com/open?id=1QTwt5lOX7qMmIkL-I0b9ANV1N-6RLYl6
 
https://fs.keyestudio.com/KS0243




Line 73: Line 106:


==Buy from ==
==Buy from ==
*'''Official Website:'''  http://www.keyestudio.com/ks0245.html
*[https://www.keyestudio.com/keyestudio-easy-plug-w5100-ethernet-network-module-for-arduino-steam-p0061-p0061.html '''Official Website''' ]


*[https://www.aliexpress.com/store/product/Keyestudio-EASY-plug-Joystick-Module-for-Arduino/1452162_32819777041.html?spm=2114.12010612.8148356.14.79054ba7Qzl9Cv Shop on aliexpress ]
*[https://www.aliexpress.com/store/product/Keyestudio-EASY-plug-W5100-Ethernet-network-Module-for-arduino/1452162_32822543545.html?spm=2114.12010612.8148356.3.14e424ea9BaqpD Shop on aliexpress ]


[[category:EASY Plug]]
[[category:EASY Plug]]

Latest revision as of 08:36, 8 January 2021

EASY plug W5100 Ethernet Module

Introduction

W5100 is a multi-purpose single internet interface chip, integrated 10/100 Ethernet controller inside, and applied to embedded system which is high integration, high stability, high performance and low cost.
It can be connected to Internet without operating system and compatible with IEEE802.3 10BASE-T and 802.3u 100BASE-TX.
It contains TCP/IP protocol stack that is full-hardware and verified by market for years, Ethernet medium transport layer and physical layer.
You don’t need to consider the Ethernet control, and just need simple program for ports.
The module should be connected to the SPI communication interface on EASY plug control board with only one cable, so the wiring is rather simple.

Special Note:
The sensor/module is equipped with the RJ11 6P6C interface, compatible with our keyestudio EASY plug Control Board with RJ11 6P6C interface.
If you have the control board of other brands, it is also equipped with the RJ11 6P6C interface but has different internal line sequence, can’t be used compatibly with our sensor/module.


Specifications

  • Various interface: Direct Bus, Indirect Bus and SPI Bus
  • Supporting TCP/IP protocol stack of hardware, also TCP, UDP, ICMP, IGMP, IPv4, ARP and PPPoE
  • Up to 4 independent ports
  • Integrating 16KBYTE transmit-receive cache
  • Supporting automatic conversion of polarity
  • Coming with Internet access


Technical Details

  • Dimensions: 61mm*30mm*18mm
  • Weight: 14.1g


Connect It Up

Connect the EASY Plug W5100 Ethernet module to control board using an RJ11 cable. Then connect the control board to your PC with a USB cable.
thumb


Upload the Code

Copy and paste below code to Arduino IDE and upload.
Note: before compile the code, do remember to place the necessary libraries inside the libraries directory of Arduino IDE.
You can download the libraries from the link: https://drive.google.com/open?id=18_Ye5Ew1TrpnBsLUO4J9rvEqqoUL-DJG

#include <SPI.h>
#include <Ethernet.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,20,4); 

// Enter a MAC address for your controller below.
// Newer Ethernet shields have a MAC address printed on a sticker on the shield
byte mac[] = {  
  0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x02 };

// Initialize the Ethernet client library
// with the IP address and port of the server 
// that you want to connect to (port 80 is default for HTTP):
EthernetClient client;
void setup() {
  Serial.begin(9600);
  lcd.init();
  lcd.backlight();
}

void loop() {
 ///////////////////////////////////////////////////////////// W5100
 delay(1000); 
 lcd.clear();
 lcd.setCursor(0,0);
 lcd.print("T ..."); 
  if (Ethernet.begin(mac) == 0)  
  {
    lcd.setCursor(0,1);
    lcd.print("W5100 Error!");
    Serial.println("W5100 Error!");
    while(1);
  }
  lcd.setCursor(0,1);
  for (byte thisByte = 0; thisByte < 4; thisByte++) {
   lcd.print(Ethernet.localIP()[thisByte], DEC);
   lcd.print(".");
   Serial.print(Ethernet.localIP()[thisByte], DEC);
   Serial.print(".");
  }
  lcd.setCursor(14,1);
  lcd.print("OK");  
  Serial.println("OK");
  //while(1);
}


What You Should See

Done uploading the test code, open the serial monitor and set the baud rate to 9600;
you should be able to check the IP address that W5100 Ethernet module connected.
thumb


Resources

Download the Code and libraries:

https://fs.keyestudio.com/KS0243



Buy from