شماتیک پایه ها واسه Mega 2560
mosi <-> 51
miso <-> 50
sck <-> 52
ss <-> 15
rst <-> reset
int <->
CLK <->
Vcc <-> 5v
gnd <-> gnd
چند تا توضیح واسه راحت تر کار کردن اونم اینکه
1- در خط 6 ثابتی به نام STATIC وجود داره که مقدار نوشته شده جلوش 1 هست یعنی اینکه نیاز به تنظیم آی پی نداره و DHCP زحمت آی پی دادنشو میکشه اگر نمیخواین این طور باشه و میخواین خودتون بهش آی پی بدین اون عدد رو به 0 تبدیل کنید و بعد آی پی تونو داخل آرایه myip بنویسین
2- در خط 14 در بین پارمترهای تابع عدد 15 وجود داره که تعیین کننده ی پایه ss ماژول هست که وصل کردین به پین 15 و خیلی خیلی مهم هست اگر هر برنامه نمونه ای از کتابخون رو باز کنید این کد رو حتما حتما باید اضافه کنید در غیر این صورت مشکل میخورید هر جا این کد نبود یک (کاما) , بزارید و عدد 15 رو بنویسید
(در ضمن اگر ss رو به پین 53 مگا وصل کنید نیازی به این کد نیست ولی من خودم نتیجه نگرفتم و خیلی الافم کرد بهتره از 15 استفاده کنید
![Wink](images/smilies/wink.png)
)
کد:
// Present a "Will be back soon web page", as stand-in webserver.
// 2011-01-30 <jc@wippler.nl> http://opensource.org/licenses/mit-license.php
#include <EtherCard.h>
#define STATIC 1 // set to 1 to disable DHCP (adjust myip/gwip values below)
#if STATIC
// ethernet interface ip address
static byte myip[] = { 192,168,1,200 };
// gateway ip address
static byte gwip[] = { 192,168,1,1 };
#endif
// ethernet mac address - must be unique on your network
static byte mymac[] = { 0x74,0x69,0x69,0x2D,0x30,0x31 };
byte Ethernet::buffer[500]; // tcp/ip send and receive buffer
char page[] PROGMEM =
"HTTP/1.0 503 Service Unavailable\r\n"
"Content-Type: text/html\r\n"
"Retry-After: 600\r\n"
"\r\n"
"<html>"
"<head><title>"
"Service Temporarily Unavailable"
"</title></head>"
"<body>"
"<h3>This service is currently unavailable</h3>"
"<p><em>"
"The main server is currently off-line.<br />"
"Please try again later."
"</em></p>"
"</body>"
"</html>"
;
void setup(){
Serial.begin(57600);
Serial.println("\n[backSoon]");
if (ether.begin(sizeof Ethernet::buffer, mymac,15) == 0)
Serial.println( "Failed to access Ethernet controller");
#if STATIC
ether.staticSetup(myip, gwip);
#else
if (!ether.dhcpSetup())
Serial.println("DHCP failed");
#endif
ether.printIp("IP: ", ether.myip);
ether.printIp("GW: ", ether.gwip);
ether.printIp("DNS: ", ether.dnsip);
}
void loop(){
// wait for an incoming TCP packet, but ignore its contents
if (ether.packetLoop(ether.packetReceive())) {
memcpy_P(ether.tcpOffset(), page, sizeof page);
ether.httpServerReply(sizeof page - 1);
}
}
شب همگی خوش هر چند که باید گفت صبح بخیر