Olá Garagistas!

Ao tentar compilar um simples webserver utilizando o Ethertnet Shield 5100, aparecem os erros:

error: 'EthernetServer' does not name a type

In function 'void setup()':
 error: 'pinmode' was not declared in this scope
In function 'void loop()':
 error: 'EthernetClient' was not declared in this scope
 error: expected `;' before 'client'
 error: 'client' was not declared in this scope

Alguém já pode me ajudar?

Código do programa:

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

byte mac[] = { 0x90, 0xA2, 0xDA, 0x00, 0x9B, 0x36 };
byte ip[] = { 192, 168, 0, 101 };
EthernetServer server(8090);

int led1 = 5;
int led2 = 6;
int led3 = 7;

String readString = String(30);

String statusLed;

void setup() {

Ethernet.begin(mac, ip);
pinmode(led1, OUTPUT);
pinmode(led2, OUTPUT);
pinmode(led3, OUTPUT);
}

void loop() {

EthernetClient client = server.available();
if (client)
{
while(client.connected())
{
char c = client.read();

if(readString.length() < 30) {
readString += (c);
}
if(c == '\n')
{

if(readString.indexOf("led1") >= 0) {
digitalWrite(led1, !digitalRead(led1));
}
if(readString.indexOf("led2") >= 0) {
digitalWrite(led1, !digitalRead(led1));
}
if(readString.indexOf("led3") >= 0) {
digitalWrite(led1, !digitalRead(led1));
}

// Cabeçalho http padrão
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
client.println("<!doctype html>");
client.println("<html>");
client.println("<title>Tutorial</title>");
client.println("<meta name=\"viewport\" content=\"width=320\">");
client.println("meta name=\"viewport\" content=\"with=device-width\">");
client.println("<meta charset=\"utf-8\">");
client.println("meta name=\"viewport\" content=\"initial-scale=1.0, user-scalable=no\">");
client.println("</head>");
client.println("<body>");
client.println("<center>");

client.println("font size=\"5\" face=\"verdana\" color=\"green\">Android</font>");
client.println("font size=\"3\" face=\"verdana\" color=\"red\"> & </font>");
client.println("font size=\"5\" face=\"verdana\" color=\"blue\">Arduino</font><br />");

if(digitalRead(led1)) {
statusLed = "Ligado";
} else {
statusLed = "Desligado";
}

client.println("<form action=\"led1\" method=\"get\">");
client.println("<button type=submit style=\"width:200px;\">Led 1 - "+statusLed+" </button>");
client.println("</form> <br />");

client.println("<form action=\"led2\" method=\"get\">");
client.println("<button type=submit style=\"width:200px;\">Led 1 - "+statusLed+" </button>");
client.println("</form> <br />");

client.println("<form action=\"led3\" method=\"get\">");
client.println("<button type=submit style=\"width:200px;\">Led 1 - "+statusLed+"</button>");
client.println("</form> <br />");


client.println("</center>");
client.println("</body>");
client.println("</html>");

readString = "";
client.stop();
}
}
}
}

Exibições: 763

Responder esta

Respostas a este tópico

na minha máquina só deu os seguintes erro;

pinmode(led1, OUTPUT);
pinmode(led2, OUTPUT);
pinmode(led3, OUTPUT);

pinMode é uma palavra reservada portanto o M deve ser maiusculo assim;

pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);

os outros erros podem ser a versão do arduino ou biblioteca, esse código é de uma aula minha do youtube e lá eu utilizei a versão 1.0.6, para mim a melhor IDE do arduino que existe.

Olá Eduardo Silva, tudo bem? Excelente vídeo-aula a sua. Falei contigo na descrição do seu vídeo lá no youtube antes de vir pra cá. Você viu?

- Testei em todas versões do compilador Arduino e continuou dando erro.

- Modifiquei as bibliotecas conforme cada versão, salvas em C:\Users\NiltonFelipe\Documents\Arduino\libraries e 

mesmo assim continuou o problema.

Depois de muita peia descobri que o fato de estar abrindo o mesmo arquivo de projeto em cada uma das versões do compilador, fazia com que o programa não fosse corretamente compilado.

Agora consegui compilar o projeto e enviar para o Arduino, porém ele não pega IP. Abrirei outra discussão para debater o tema.

ps: Testei o exemplo DhcpAddressPrinter porém deu o erro Failed to configure Ethernet using DHCP

Gostaria de agradecer também ao Carlos kwiek que está em todas.

Obrigado a todos pelo apoio!

Como explicado pelo Eduardo,  aqui comigo também compilou com o único erro de nomear pinMode sem maiúscula, já que com o m não se pode usar por ser palavra reservada, como explicado pelo Eduardo também, testei na versão 1.5 e na mais recente 1.63 e em ambas funcionaram corretamente,

Sugiro também se continuar tendo problemas que use antes que nada o sketch de exemplo da própria IDE ( arquivo>exemplos>ethernet>) desta forma você vai  ter a certeza de que o sketch não tem erros e fazer testes.

Caso seu problema seja solucionado com as indicações dos colegas, não esqueça de editar seu tópico atual colocando antes do atual a palavra RESOLVIDO, desta forma ajudara a outros garagistas com a mesma FAQ.

Boa sorte.

Abs.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço