А ок, если в последнем коде будут ошибки, пишите, подправлю. UPD. Явных ошибок, в Вашем коде нет. И делайте отступы, гляньте на код который я кидал, его читать удобнее и меньше вероятности ошибиться. Код вставляется, кнопка перед кнопкой '' при такой вставке сохраняются отступы, проще понимать.
Ваш последний включает оба выхода но предлогает загрузить файл"дефолт" и вешается. щас путем исключения пытаюсь разобратся. Это как беззубому семечки лузать
А так? Код (Text): #include "etherShield.h" #include "ETHER_28J60.h" int anotherOutputPin = 7; int outputPin = 6; static uint8_t mac[6] = {0x54, 0x55, 0x58, 0x10, 0x00, 0x24}; // this just needs to be unique for your network, // so unless you have more than one of these boards // connected, you should be fine with this value. static uint8_t ip[4] = {192, 168, 0, 150}; // the IP address for your board. Check your home hub // to find an IP address not in use and pick that // this or 10.0.0.15 are likely formats for an address // that will work. static uint16_t port = 80; // Use port 80 - the standard for HTTP ETHER_28J60 e; void setup() { e.setup(mac, ip, port); pinMode(anotherOutputPin, OUTPUT); pinMode(outputPin, OUTPUT); } void loop() { e.print("<H1>Управление</H1>"); char* params; if (params = e.serviceRequest()) { if (strcmp(params, "?cmdf=on") == 0) { if (!digitalRead(outputPin)) { digitalWrite(outputPin, HIGH); } } else if (strcmp(params, "?cmds=on") == 0) { if (!digitalRead(anotherOutputPin)) { digitalWrite(anotherOutputPin, HIGH); } } else if (strcmp(params, "?cmdf=off") == 0)// Modified -- 2011 12 15 # Ben Schueler { if (digitalRead(outputPin)) { digitalWrite(outputPin, LOW); } } else if (strcmp(params, "?cmds=off") == 0) // Modified -- 2011 12 15 # Ben Schueler { if (digitalRead(anotherOutputPin)) { digitalWrite(anotherOutputPin, LOW); } } } if (digitalRead(outputPin)) { // Если вкл. подставляем кнопку вык. e.print("<a href='/?cmdf=off'><input type='button' value='Led1 вык.' /></a><br/>"); } else { // Если вык. подставляем кнопку вк. e.print("<a href='/?cmdf=on'><input type='button' value='Led1 вк.' /></a><br/>"); } if (digitalRead(anotherOutputPin)) { // Если вкл. подставляем кнопку вык. e.print("<a href='/?cmds=off'><input type='button' value='Led2 вык.' /></a><br/>"); } else { // Если вык. подставляем кнопку вк. e.print("<a href='/?cmds=on'><input type='button' value='Led2 вк.' /></a><br/>"); } e.respond(); }
Вот почему он файл, предлагает загрузить. Это вопрос, если не пройдет, скиньте код HTML страницы, просто сохранив ее
сори за назойливость вот до чего домучал, только кнопки не все отображаются, через строку управляется только #include "etherShield.h" #include "ETHER_28J60.h" int outputPin = 6; int anotherOutputPin = 7; static uint8_t mac[6] = {0x54, 0x55, 0x58, 0x10, 0x00, 0x24}; // this just needs to be unique for your network, static uint8_t ip[4] = {192, 168, 0, 150}; // IP address for the webserver static uint16_t port = 80; // Use port 80 - the standard for HTTP ETHER_28J60 e; void setup() { e.setup(mac, ip, port); pinMode(anotherOutputPin, OUTPUT); pinMode(outputPin, OUTPUT); } void loop() { e.print("<H1>jks</H1>"); char* params; if (params = e.serviceRequest()) { if (strcmp(params, "?led1=on") == 0) { if (!digitalRead(outputPin)) { digitalWrite(outputPin, HIGH); } } else if (strcmp(params, "?led2=on") == 0) { if (!digitalRead(anotherOutputPin)) { digitalWrite(anotherOutputPin, HIGH); } } else if (strcmp(params, "?led1=off") == 0)// Modified -- 2011 12 15 # Ben Schueler { if (digitalRead(outputPin)) { digitalWrite(outputPin, LOW); } } else if (strcmp(params, "?led2=off") == 0) // Modified -- 2011 12 15 # Ben Schueler { if (digitalRead(anotherOutputPin)) { digitalWrite(anotherOutputPin, LOW); } } } if (digitalRead(outputPin)) { { digitalWrite(outputPin, HIGH); e.print("<a href='?led1=off'><button style='border: 1px solid #ff0000; border-left: 10px solid #ff0000' type='button'>LED IS ON</button></a>"); } { digitalWrite(outputPin, LOW); e.print("<a href='?led1=on'><button style='border: 1px solid #000; border-left: 10px solid #000' type='button'>LED IS OFF</button></a>"); } digitalWrite(outputPin, HIGH); e.print("<a href='?led2=off'><button style='border: 1px solid #ff0000; border-left: 10px solid #ff0000' type='button'>LED IS ON</button></a>"); } else if (strcmp(params, "?led2=off") == 0) { digitalWrite(outputPin, LOW); e.print("<a href='?led2=on'><button style='border: 1px solid #000; border-left: 10px solid #000' type='button'>LED IS OFF</button></a>"); e.respond(); } }
Уже радует, насколько понимаю, проблема только с кнопками. Их не видно. Само включение работает. Значит проблема у нас в e.print, ок, гляну.
Стоп, что это за код, он не будет даже компилироватся. Нет, норм, не возможно нормально помогать, пока Вы вставляете без отступов. Каждый раз надо выставлять, вручную. Отступы и вставка кода, через кнопку код.
Отступы не надо вручную ставить, Arduino IDE умеет по Ctrl+T это делать. А в сети есть куча сервисов для форматирования и раскраски кода, тот же http://prettyprinter.de/, http://pastebin.ru/...
Вроде так Код (Text): #include "etherShield.h" #include "ETHER_28J60.h" int outputPin = 6; int anotherOutputPin = 7; static uint8_t mac[6] = {0x54, 0x55, 0x58, 0x10, 0x00, 0x24}; // this just needs to be unique for your network, static uint8_t ip[4] = {192, 168, 0, 150}; // IP address for the webserver static uint16_t port = 80; // Use port 80 - the standard for HTTP ETHER_28J60 e; void setup() { e.setup(mac, ip, port); pinMode(anotherOutputPin, OUTPUT); pinMode(outputPin, OUTPUT); } void loop() { e.print("<H1>jks</H1>"); char* params; if (params = e.serviceRequest()) { if (strcmp(params, "?led1=on") == 0) { if (!digitalRead(outputPin)) { digitalWrite(outputPin, HIGH); } } else if (strcmp(params, "?led2=on") == 0) { if (!digitalRead(anotherOutputPin)) { digitalWrite(anotherOutputPin, HIGH); } } else if (strcmp(params, "?led1=off") == 0)// Modified -- 2011 12 15 # Ben Schueler { if (digitalRead(outputPin)) { digitalWrite(outputPin, LOW); } } else if (strcmp(params, "?led2=off") == 0) // Modified -- 2011 12 15 # Ben Schueler { if (digitalRead(anotherOutputPin)) { digitalWrite(anotherOutputPin, LOW); } } } if (digitalRead(outputPin)) { e.print("<a href='?led1=off'><button style='border: 1px solid #ff0000; border-left: 10px solid #ff0000' type='button'>LED 1 IS ON</button></a>"); } else { e.print("<a href='?led1=on'><button style='border: 1px solid #000; border-left: 10px solid #000' type='button'>LED 1 IS OFF</button></a>"); } if (digitalRead(anotherOutputPin)) { e.print("<a href='?led2=off'><button style='border: 1px solid #ff0000; border-left: 10px solid #ff0000' type='button'>LED 2 IS ON</button></a>"); } else { e.print("<a href='?led2=on'><button style='border: 1px solid #000; border-left: 10px solid #000' type='button'>LED 2 IS OFF</button></a>"); } e.respond(); delay(50); } Да, просто, возможно они и есть. Но вставляется как цитата. Надо найти, может где-то есть вставка кода, как это делать.
Когда нужно вставить код, пожалуйста, пользуйтесь кнопкой вставки кода, она вверху, 5 кнопка с права. Или 2 после дискеты. Это в редакторе, в котором Вы печатаете сообщения. UPD. Получилось? И если нет, какие симптомы?
Это просто удобнее и проще помогающему. Удалось, запустить? Какая-то мелочь, а найти не можем. Но главное не сдаваться , и все получится!
Уже поздно, давайте сделаем по другому. Завтра буду доступен часов после 3 по Москве. Обменяемся скайпом. и сделаем вместе. Тут какая-то мелочь, которую не можем словить. UPD. Если победим, опубликуете тут.
До завтра, попробуйте еще этот кусок Код (Text): int outputPin = 6; int anotherOutputPin = 7; static uint8_t mac[6] = {0x54, 0x55, 0x58, 0x10, 0x00, 0x24}; // this just needs to be unique for your network, static uint8_t ip[4] = {192, 168, 0, 150}; // IP address for the webserver static uint16_t port = 80; // Use port 80 - the standard for HTTP ETHER_28J60 e; void setup() { e.setup(mac, ip, port); pinMode(anotherOutputPin, OUTPUT); pinMode(outputPin, OUTPUT); } void loop() { char* params; if (params = e.serviceRequest()) { e.print("<H1>jks</H1>"); if (strcmp(params, "?led1=on") == 0) { if (!digitalRead(outputPin)) { digitalWrite(outputPin, HIGH); } } else if (strcmp(params, "?led2=on") == 0) { if (!digitalRead(anotherOutputPin)) { digitalWrite(anotherOutputPin, HIGH); } } else if (strcmp(params, "?led1=off") == 0)// Modified -- 2011 12 15 # Ben Schueler { if (digitalRead(outputPin)) { digitalWrite(outputPin, LOW); } } else if (strcmp(params, "?led2=off") == 0) // Modified -- 2011 12 15 # Ben Schueler { if (digitalRead(anotherOutputPin)) { digitalWrite(anotherOutputPin, LOW); } } if (digitalRead(outputPin)) { e.print("<a href='?led1=off'><button style='border: 1px solid #ff0000; border-left: 10px solid #ff0000' type='button'>LED 1 IS ON</button></a>"); } else { e.print("<a href='?led1=on'><button style='border: 1px solid #000; border-left: 10px solid #000' type='button'>LED 1 IS OFF</button></a>"); } if (digitalRead(anotherOutputPin)) { e.print("<a href='?led2=off'><button style='border: 1px solid #ff0000; border-left: 10px solid #ff0000' type='button'>LED 2 IS ON</button></a>"); } else { e.print("<a href='?led2=on'><button style='border: 1px solid #000; border-left: 10px solid #000' type='button'>LED 2 IS OFF</button></a>"); } e.respond(); } }
Код (Text): #include <ETHER_28J60.h> #include <enc28j60.h> #include <etherShield.h> #include <ip_arp_udp_tcp.h> #include <net.h> int outputPinA = 4; int outputPinB = 5; int outputPinC = 6; int anotherOutputPinD = 7; int outputPinI = 8; static uint8_t mac[6] = {0x54, 0x55, 0x58, 0x10, 0x00, 0x24}; // this just needs to be unique for your network, static uint8_t ip[4] = {10, 0, 0, 100}; // IP address for the webserver static uint16_t port = 80; // Use port 80 - the standard for HTTP ETHER_28J60 e; void setup() { e.setup(mac, ip, port); pinMode(anotherOutputPinD, OUTPUT); pinMode(outputPinC, OUTPUT); pinMode(outputPinI, OUTPUT); pinMode(outputPinB, OUTPUT); pinMode(outputPinA, OUTPUT); } void loop() { char* params; if (params = e.serviceRequest()) { e.print("<H1>JKS home remote</H1>"); if (strcmp(params, "?led1=on") == 0) { if (!digitalRead(outputPinC)) { digitalWrite(outputPinC, HIGH); } } else if (strcmp(params, "?led3=on") == 0) { if (!digitalRead(outputPinI)) { digitalWrite(outputPinI, HIGH); } } else if (strcmp(params, "?led4=on") == 0) { if (!digitalRead(outputPinA)) { digitalWrite(outputPinA, HIGH); } } else if (strcmp(params, "?led5=on") == 0) { if (!digitalRead(outputPinB)) { digitalWrite(outputPinB, HIGH); } } else if (strcmp(params, "?led2=on") == 0) { if (!digitalRead(anotherOutputPinD)) { digitalWrite(anotherOutputPinD, HIGH); } } else if (strcmp(params, "?led1=off") == 0)// Modified -- 2011 12 15 # Ben Schueler { if (digitalRead(outputPinC)) { digitalWrite(outputPinC, LOW); } } else if (strcmp(params, "?led3=off") == 0)// Modified -- 2011 12 15 # Ben Schueler { if (digitalRead(outputPinI)) { digitalWrite(outputPinI, LOW); } } else if (strcmp(params, "?led4=off") == 0)// Modified -- 2011 12 15 # Ben Schueler { if (digitalRead(outputPinA)) { digitalWrite(outputPinA, LOW); } } else if (strcmp(params, "?led5=off") == 0)// Modified -- 2011 12 15 # Ben Schueler { if (digitalRead(outputPinB)) { digitalWrite(outputPinB, LOW); } } else if (strcmp(params, "?led2=off") == 0) // Modified -- 2011 12 15 # Ben Schueler { if (digitalRead(anotherOutputPinD)) { digitalWrite(anotherOutputPinD, LOW); } } if (digitalRead(outputPinC)) { e.print("<a href='?led1=off'><button style='border: 1px solid #ff0000; border-left: 10px solid #ff0000' type='button'>LED IS ON</button></a>"); } else { e.print("<a href='?led1=on'><button style='border: 1px solid #000; border-left: 10px solid #000' type='button'>LED IS OFF</button></a>"); } if (digitalRead(outputPinI)) { e.print("<a href='?led3=off'><button style='border: 1px solid #ff0000; border-left: 10px solid #ff0000' type='button'>LED IS ON</button></a>"); } else { e.print("<a href='?led3=on'><button style='border: 1px solid #000; border-left: 10px solid #000' type='button'>LED IS OFF</button></a>"); } if (digitalRead(outputPinA)) { e.print("<a href='?led4=off'><button style='border: 1px solid #ff0000; border-left: 10px solid #ff0000' type='button'>LED IS ON</button></a>"); } else { e.print("<a href='?led4=on'><button style='border: 1px solid #000; border-left: 10px solid #000' type='button'>LED IS OFF</button></a>"); } if (digitalRead(outputPinB)) { e.print("<a href='?led5=off'><button style='border: 1px solid #ff0000; border-left: 10px solid #ff0000' type='button'>LED IS ON</button></a>"); } else { e.print("<a href='?led5=on'><button style='border: 1px solid #000; border-left: 10px solid #000' type='button'>LED IS OFF</button></a>"); } if (digitalRead(anotherOutputPinD)) { e.print("<a href='?led2=off'><button style='border: 1px solid #ff0000; border-left: 10px solid #ff0000' type='button'>LED IS ON</button></a>"); } else { e.print("<a href='?led2=on'><button style='border: 1px solid #000; border-left: 10px solid #000' type='button'>LED IS OFF</button></a>"); } e.respond(); } }