Arduino Ethernet Shield IP Almıyor
  • Arduino içindeki örnekleri de arduino uygulama kitabı içindeki örnekleri denememe rağmen ekranda hiç bir şey göremiyorum. Ethernet bağlantısının ip adresini otomatik olarakta elle girerekte yaptım.Sonuç değişmedi. Ethernert modülüde denedim belki shield da sorun vardır diye.Ama yine ekrana birşey gelmiyor.Bir yerde hata yapıyorum ama nerede?
  • shield nedir
    byte mac[] adresin shield üzerinde varmi yoksa genelde
    IPAddress ip(192,168,1,177); // bu kismi elle giriyormusun.



    Standart kod budur:


    #include
    #include

    byte mac[] = {
    0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
    IPAddress ip(192,168,1,177);

    EthernetServer server(80);

    void setup() {
    Serial.begin(9600);
    while (!Serial) {
    ; }

    Serial.println("1");// Kod nerde durduğunu anlamak için bunu bir dene

    Ethernet.begin(mac, ip);
    Serial.println("2");// Kod nerde durduğunu anlamak için bunu bir dene
    server.begin();
    Serial.print("server is at ");
    Serial.println(Ethernet.localIP());
    }





    void loop() {
    Serial.println("3");// Kod nerde durduğunu anlamak için bunu bir dene
    EthernetClient client = server.available();
    Serial.println("4");// Kod nerde durduğunu anlamak için bunu bir dene
    if (client) {
    Serial.println("5");// Kod nerde durduğunu anlamak için bunu bir dene
    Serial.println("new client");
    boolean currentLineIsBlank = true;
    while (client.connected()) {
    if (client.available()) {
    char c = client.read();
    Serial.write(c);
    // if you've gotten to the end of the line (received a newline
    // character) and the line is blank, the http request has ended,
    // so you can send a reply
    if (c == '\n' && currentLineIsBlank) {
    // send a standard http response header
    client.println("HTTP/1.1 200 OK");
    client.println("Content-Type: text/html");
    client.println("Connection: close"); // the connection will be closed after completion of the response
    client.println("Refresh: 5"); // refresh the page automatically every 5 sec
    client.println();
    client.println("<!DOCTYPE HTML>");
    client.println("");
    // output the value of each analog input pin
    for (int analogChannel = 0; analogChannel < 6; analogChannel++) {
    int sensorReading = analogRead(analogChannel);
    client.print("analog input ");
    client.print(analogChannel);
    client.print(" is ");
    client.print(sensorReading);
    client.println("
    ");
    }
    client.println("");
    break;
    }
    if (c == '\n') {
    // you're starting a new line
    currentLineIsBlank = true;
    }
    else if (c != '\r') {
    // you've gotten a character on the current line
    currentLineIsBlank = false;
    }
    }
    }
    // give the web browser time to receive the data
    delay(1);
    // close the connection:
    client.stop();
    Serial.println("client disconnected");
    }
    }
  • Bu daha kolay olurdu dhcp alırsan sorun yok shieldde ama alamazsan shield sorunludur

    #include
    #include

    // 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() {
    // Open serial communications and wait for port to open:
    Serial.begin(9600);
    // this check is only needed on the Leonardo:
    while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
    }

    // start the Ethernet connection:
    if (Ethernet.begin(mac) == 0) {
    Serial.println("Failed to configure Ethernet using DHCP");
    // no point in carrying on, so do nothing forevermore:
    for(;;)
    ;
    }
    // print your local IP address:
    Serial.print("My IP address: ");
    for (byte thisByte = 0; thisByte < 4; thisByte++) {
    // print the value of each byte of the IP address:
    Serial.print(Ethernet.localIP()[thisByte], DEC);
    Serial.print(".");
    }
    Serial.println();
    }

    void loop() {

    }
  • Arduino unodan megaya'ya geçince sorun düzeldi
  • ozaman uno nun pinlerinde problem olabilir. ethernet kartın kullandığı pinleri bir led yardımıyla kontrol etmeni tavsiye ederim.
    ethernette yardım edemedim ama programlamayla ilgili sıkıntın olursa yardımcı olabilirim.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Login with Facebook
Açık kaynak kültürü gereği, çözdüğünüz problemlerin çözümlerini paylaşmayı lütfen unutmayın.