UNO+Ethernet Shield can't connect to DHCP, can't connect to website

Hi, I’m a newbie, please help me this problem.
I try to connect my ethernet shield to network, but I see in the DHCP list in my network, my ethernet shield is not be here( It means my ethernet shield is not connected to network?), and I can’t connect to website.
+I use Arduino 1.6.7
+I don’t know the Ethernet’s Mac address, so I get the Mac at DHCPAdressPrinter
+This is my code:
"

#include <SPI.h>
#include <Ethernet.h>

// Local Network Settings
byte mac = { 0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x02 }; // Must be unique on local network

// ThingSpeak Settings
//char thingSpeakAddress = “api.thingspeak.com”;
char thingSpeakAddress = “http://thingspeak.com/channels/80443”;
String writeAPIKey = “QXWOE66W2S6PF0XR”;
//String channelID = “80443”; // ThingSpeak Channel
const int updateThingSpeakInterval = 16 * 1000; // Time interval in milliseconds to update ThingSpeak (number of seconds * 1000 = interval)
// Variable Setup
long lastConnectionTime = 0;
boolean lastConnected = false;
int failedCounter = 0;

// Initialize Arduino Ethernet Client
EthernetClient client;

void setup()
{
// Start Serial for debugging on the Serial Monitor
Serial.begin(9600);

// Start Ethernet on Arduino
startEthernet();
}

void loop()
{
// Read value from Analog Input Pin 0
String analogValue0 = String(analogRead(A0), DEC);

// Print Update Response to Serial Monitor
if (client.available())
{
char c = client.read();
Serial.print(c);
}

// Disconnect from ThingSpeak
if (!client.connected() && lastConnected)
{
Serial.println("…disconnected");
Serial.println();

client.stop();
}

// Update ThingSpeak
if(!client.connected() && (millis() - lastConnectionTime > updateThingSpeakInterval))
{
updateThingSpeak(“field1=”+analogValue0);
}

// Check if Arduino Ethernet needs to be restarted
if (failedCounter > 3 ) startEthernet();

lastConnected = client.connected();
}

void updateThingSpeak(String tsData)
{
if (client.connect(thingSpeakAddress, 80))
{

if (client.connect(thingSpeakAddress,80 ))
{
String postStr = “”+writeAPIKey;
postStr +="&field1=1";
postStr += “\r\n\r\n”;
client.print(“POST /update HTTP/1.1\n”);
client.print(“Host: api.thingspeak.com\n”);
client.print(“Connection: close\n”);
client.print(“X-THINGSPEAKAPIKEY: QXWOE66W2S6PF0XR\n”);
client.print(“Content-Type: application/x-www-form-urlencoded\n”);
client.print(“Content-Length: “);
client.print(tsData.length());
client.print(”\n\n”);

client.print(tsData);

lastConnectionTime = millis();

if (client.connected())
{
Serial.println(“Connecting to ThingSpeak…”);
Serial.println();
delay(1000);
failedCounter = 0;
}
else
{
failedCounter++;

Serial.println(“Connection to ThingSpeak failed ABCD (”+String(failedCounter, DEC)+")");
Serial.println();
}
}
}
else
{
failedCounter++;

Serial.println(“Connection to ThingSpeak Failed (”+String(failedCounter, DEC)+")");
Serial.println();

lastConnectionTime = millis();
}
}

void startEthernet()
{

client.stop();

Serial.println(“Connecting Arduino to network…”);
Serial.println();

delay(1000);

// Connect to network amd obtain an IP address using DHCP
if (Ethernet.begin(mac) == 0)
{
Serial.println(“DHCP Failed, reset Arduino to try again”);
Serial.println();
}
else
{
Serial.println(“Arduino connected to network using DHCP”);
Serial.println();
}

delay(1000);
}"
Thank you.

Try using the universally popular MAC address that's in an unsigned range.

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };

Once you get working, you may want to try the ThingSpeak Communication Library here.