Arduino Ethernet Role Kontrol
  • Merhabalar;

    Arduino uno, ethernet shield ve 4lü role kart ile ethernet üzerinden role kontrol etmek istiyorum. Aşağıdaki kodu derleyip attım ama browser üzerinden erişemiyorum. Bi hata varmıdır ben fark edemedim bilgisi olan yardımcı olabilecek yada başka kod önerisi olan varmıdır acaba?

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

    EthernetServer server(7412);// Server port


    const byte mainlightPin = 5;// Select pin for Main Light
    const byte chandelierPin = 6;// Select pin for Chandelier Light
    const byte fanPin = 7;// Select pin for Fan
    const byte auxPin = 8;// Select pin for Auxillary Power Light
    byte mac[] = { 0x00, 0x08, 0xDC, 0xAB, 0xCD, 0xEF };// Physical MAC address86933711

    byte ip[] = { 192, 168, 2, 52 };// Fixed IP address
    byte gateway[] = { 192, 168, 2, 1 };// Router Gateway Internet access
    byte subnet[] = { 255, 255, 255, 0 };// Subnet mask
    String readString;

    void setup()
    {
    delay(300);// Delay for Ethernet shield initialization (Arduino has 65mS Power Up delay and W5100 reset logic has 280mS)
    pinMode(mainlightPin, OUTPUT);// Define pin for Main Light as Output
    pinMode(chandelierPin, OUTPUT);// Define pin for Chandelier as Output
    pinMode(fanPin, OUTPUT);// Define pin for Fan as Output
    pinMode(auxPin, OUTPUT);// Define pin for Auxillary Power as Output
    Serial.begin(9600);// Initialize serial communications at 9600 bps
    Serial.println(F("Arduino UNO R3 with Ethernet Shiled W5100 - VU3GAO"));// Display Arduino title
    Ethernet.begin(mac, ip, gateway, subnet);// Start Ethernet
    server.begin();
    Serial.print(F("Ethernet Shield initialized. Local IP address is:"));
    Serial.println(Ethernet.localIP());// Print Server IP address
    }

    void loop()
    {
    EthernetClient client = server.available();// Create a client connection
    if (client = true)
    {
    while (client.connected())
    {
    if (client.available())
    {
    char c = client.read();// Read char by char HTTP request
    if (readString.length() < 100)
    {
    readString = readString + c;// Store characters to string
    }
    if (c == '\n')
    {
    Serial.println(readString);
    client.println(F("http/1.1 200 ok"));// Send standard http headers
    client.println(F("content-type: text/html"));
    client.println();
    client.println(F("<!doctype html>"));
    client.println(F(""));
    client.println(F("
    Home Web Control"));
    client.println(F("

    Next Level Smart Home Control(v1)

    "));
    client.println(F("

    Onur SENSOZ

    "));
    client.println(F("

    Click the Buttons to turn On and OFF


    "));
    client.print(F(""));
    client.println(F("

    "));
    client.print(F(""));
    client.println(F("

    "));
    client.print(F(""));
    client.println(F("

    "));
    client.print(F(""));
    client.println(F("

    "));
    client.println(F(""));
    delay(1);// Page loading delay
    client.stop();// Stopping client
    if(readString.indexOf("/?ML_on") > 0) digitalWrite(mainlightPin, HIGH);// Switch on Main Light
    if(readString.indexOf("/?ML_off") > 0) digitalWrite(mainlightPin, LOW);// Switch off Main Light
    if(readString.indexOf("/?Ch_on") > 0) digitalWrite(chandelierPin, HIGH);// Switch on Chandelier Light
    if(readString.indexOf("/?Ch_off") > 0) digitalWrite(chandelierPin, LOW);// Switch off Chandelier Light
    if(readString.indexOf("/?FN_on") > 0) digitalWrite(fanPin, HIGH);// Switch on Fan
    if(readString.indexOf("/?FN_off") > 0) digitalWrite(fanPin, LOW);// Switch off Fan
    if(readString.indexOf("/?AP_on") > 0) digitalWrite(auxPin, HIGH);// Switch on Auxillary Power
    if(readString.indexOf("/?AP_off") > 0) digitalWrite(auxPin, LOW);// Switch off Auxillary Power
    readString = "";// Clearing string for next read
    }// End of line reached
    }// End of client available
    }// End of client connected
    }// End of client connection
    }// End of loop
  • öncelikle modemden ip aldınızmı arduino için. modem arayuzune girip bakın lan listesinde arduino kaydının olması lazım. ip almak için ayrı bir porgram gereklidir.
  • tamamdır şuanda arayüz problemini çözdüm ancak rolede problem yaşıyorum. bağlıyorum role kartı ile arayüzden komutları veriyorum role kart üzerindeki ledler yanıp sönüyor yani sinyali alıyor ama roleler çalışmıyor neden olabilir? buarada 12v roleler, rolelere 12v ile ayrı beslememi yapayım yoksa arduinoyamı 12v adaptör bağlayayım?
  • 12V'luk röleyi arduino çıkışı ile süremezsiniz. Arduino çıkışı 5V'tur. Röleyi sürdüğünüz transistörü 12V ile beslerseniz o zaman sürebilirsiniz. Transistör Arduino dan gelen 5V ile tetiklenerek röleye 12V'u iletecektir.

    Arduino ya 12V adaptör bağlamanın bir anlamı olmayacaktır. Zira Arduino regüle ederek yine 5V'a düşürecektir.
  • teşekkürler bu şekilde problem çözülüyor ama sanırım 5v role kullanmak daha sağlıklı olacaktır.

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.