Ethernet y Serial (conflicto)(SOLUCIONADO =D)

Buenas

Tengo un Arduino MEGA 2560 y he comprado el modulo ethernet que trae integrado la lectora de tarjeta SD(no se si SD, Mini SD o Micro SD).
Al tener puesta la tarjeta no me deja cargar los programas por medio de USB (compila, pero nunca termina de cargar), al quitarsela he intentar de nuevo carga bien el programa. Lo apago y le pongo el ethernet, este funciona bien, pero al meterle el ejemplo que biene en el software de "chat", que se ve en la pagina de internet y serial, no me agarra ni uno ni el otro...creo yo que hay conflicto al tener las 2 comunicaciones trabajando..... alguien tendra un ejemplo que me pueda pasar "mas sencillo" o me podra aconsejar como hacerle para poder enviar y recibir datos al arduino, como en pagina poner un boton u opcion para que el arduino prenda un led y lo apague por medio de la pagina y que me de el status tambien en la pagina.

GRACIAS DE ANTEMANO =D

en el playground tienes un ejemplo hecho con ethershield, no es la oficial pero te puede dar una idea del código html que tienes que usar.

si no te deja programar con la shield puesta es por falta de energía, programarlo sin nada puesto y luego pones la shield una vez programado.

explica un poco mejor lo que quieres hacer para poder ayudarte

un saludo

Lo que intento es aprender a utilizar los modulos, soy totalmente nuevo con esta tecnologia.

Lo que quiero intentar hacer, es por medio de la pagina html, es hacer que prenda unos leds, asi como ponerle botones, para leer su estado, nadamas como practica para ver como funciona :smiley:

y por que no te has mirado lo que te he dicho ?

da mas informacion , que placa tienes .. que arduino ... etc ..

Arudino ATMEGA 2560, Ethernet Shield W5100

ya encontre un ejemplo y lo he modificado y funciona de maravilla esta en el siguiente post

http://arduino.cc/forum/index.php/topic,89234.0.html

asi quedo listo para funcionar

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

//mac, IP
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192,168,0, 177 };    

Server server(80);

String inString = String(35);

//Pins dels actuadors:
const int act1 = 2;
const int act2 = 3;
const int act3 = 4;
const int act4 = 5;
const int act5 = 6;
const int act6 = 7;
const int act7 = 8;
const int act8 = 9;




//Pines de sensores analogicos:
int sensor1 = A0;
int sensor2 = A1;
int sensor3 = A2;
int sensor4 = A3;
int sensor5 = A4;
int sensor6 = A5;


//codigos varios HTML:
const char act1_ON[] = "        <input type=checkbox name=act1 value=ON CHECKED> Actuador 1";
const char act1_OFF[] = "        <input type=checkbox name=act1 value=ON> Actuador 1";

const char act2_ON[] = "        <input type=checkbox name=act2 value=ON CHECKED> Actuador 2";
const char act2_OFF[] = "        <input type=checkbox name=act2 value=ON> Actuador 2";

const char act3_ON[] = "        <input type=checkbox name=act3 value=ON CHECKED> Actuador 3";
const char act3_OFF[] = "        <input type=checkbox name=act3 value=ON> Actuador 3";

const char act4_ON[] = "        <input type=checkbox name=act4 value=ON CHECKED> Actuador 4";
const char act4_OFF[] = "        <input type=checkbox name=act4 value=ON> Actuador 4";

const char act5_ON[] = "        <input type=checkbox name=act5 value=ON CHECKED> Actuador 5";
const char act5_OFF[] = "        <input type=checkbox name=act5 value=ON> Actuador 5";

const char act6_ON[] = "        <input type=checkbox name=act6 value=ON CHECKED> Actuador 6";
const char act6_OFF[] = "        <input type=checkbox name=act6 value=ON> Actuador 6";

const char act7_ON[] = "        <input type=checkbox name=act7 value=ON CHECKED> Actuador 7";
const char act7_OFF[] = "        <input type=checkbox name=act7 value=ON> Actuador 7";

const char act8_ON[] = "        <input type=checkbox name=act8 value=ON CHECKED> Actuador 8";
const char act8_OFF[] = "        <input type=checkbox name=act8 value=ON> Actuador 8";

const char inicio_html[] = 
"<head>"
"<title>Prueba de sensores y actuadores</title>"
"</head>"
"<body>"
"<H1> Control de sensores y actuadores</H1>"
"<form method=get name=CONTROL>"
;

const char final_html[]=
"


<input type=submit value=Envia>"
"</form>"
"</body>"
"</html>";

void setup()
{
  //iniciar conexion
  Ethernet.begin(mac, ip);
  server.begin();
  
  //Pines de los actuadores:
  pinMode(act1,OUTPUT);
  pinMode(act2,OUTPUT);
  pinMode(act3,OUTPUT);
  pinMode(act4,OUTPUT);
  pinMode(act5,OUTPUT);
  pinMode(act6,OUTPUT);
  pinMode(act7,OUTPUT);
  pinMode(act8,OUTPUT);

  
  //Los ponemos a cero:
  digitalWrite(act1,LOW);
  digitalWrite(act2,LOW);
  digitalWrite(act3,LOW);
  digitalWrite(act4,LOW);
  digitalWrite(act5,LOW);
  digitalWrite(act6,LOW);
  digitalWrite(act7,LOW);
  digitalWrite(act8,LOW);


}
void loop()
{

  Client client = server.available();
  
  if (client)
  {
    boolean currentLineIsBlank = true;
    
    while (client.connected())
    {
      if (client.available())
      { 
        char c = client.read();
        
        if (inString.length() < 100) inString += c;
 
        if (c == '\n' && currentLineIsBlank)
        {
          //Escribimos el codigo HTML
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println();
          
          client.print(inicio_html);
          
          //antes de seguir imprimiendo, gestionamos los cambios que nos haya indicado el usuario
          gestiona_actuadores();
          
          //Hecha la comprobación, seguimos escribiendo, intercalando las lecturas de las entradas analogicas:
          client.print("<pre>");
          if(digitalRead(act1)==1) client.print(act1_ON);
          else client.print(act1_OFF);
          
          client.print("                                                        Sensor de entrada 1: ");
          client.print(analogRead(sensor1));
          client.print("</pre>");
          
          client.print("<pre>");          
          if(digitalRead(act2)==1) client.print(act2_ON);
          else client.print(act2_OFF);
          
          client.print("                                                        Sensor de entrada 2: ");
          client.print(analogRead(sensor2));
          client.print("</pre>");
          
          client.print("<pre>");
          if(digitalRead(act3)==1) client.print(act3_ON);
          else client.print(act3_OFF);
          
          client.print("                                                        Sensor de entrada 3: ");
          client.print(analogRead(sensor3));
          client.print("</pre>");
          
          client.print("<pre>");
          if(digitalRead(act4)==1) client.print(act4_ON);
          else client.print(act4_OFF);
          
          client.print("                                                        Sensor de entrada 4: ");
          client.print(analogRead(sensor4));
          client.print("</pre>");
       
          client.print("<pre>");
          if(digitalRead(act5)==1) client.print(act5_ON);
          else client.print(act5_OFF);
          
          client.print("                                                        Sensor de entrada 5: ");
          client.print(analogRead(sensor5));
          client.print("</pre>");
          //client.print("
");
          
          client.print("<pre>");
          if(digitalRead(act6)==1) client.print(act6_ON);
          else client.print(act6_OFF);

          client.print("                                                        Sensor de entrada 6: ");
          client.print(analogRead(sensor6));
          client.print("</pre>");
/*
          client.print("<pre>");
          if(digitalRead(act7)==1) client.print(act7_ON);
          else client.print(act7_OFF);
          client.print("</pre>");
          
          client.print("<pre>");
          if(digitalRead(act8)==1) client.print(act8_ON);
          else client.print(act8_OFF);
          client.print("</pre>");
          client.print("
");
        
*/
          client.print(final_html);
          
          break;
        }
        
        // you're starting a new line
        if (c == '\n') currentLineIsBlank = true;

        // you've gotten a character on the current line
        else if (c != '\r')currentLineIsBlank = false;

      }
  }
    // give the web browser time to receive the data
    delay(10);
    //Clearing the String:
    inString="";
    // close the connection:
    client.stop();
}
}

void gestiona_actuadores()
{
          if(inString.indexOf("act1") >0) digitalWrite(act1 , HIGH);
          else digitalWrite(act1 , LOW);
          
          if(inString.indexOf("act2") >0) digitalWrite(act2 , HIGH);
          else digitalWrite(act2 , LOW);
          
          if(inString.indexOf("act3") >0) digitalWrite(act3 , HIGH);
          else digitalWrite(act3 , LOW);
          
          if(inString.indexOf("act4") >0) digitalWrite(act4 , HIGH);
          else digitalWrite(act4 , LOW);
          
          if(inString.indexOf("act5") >0) digitalWrite(act5 , HIGH);
          else digitalWrite(act5 , LOW);
          
          if(inString.indexOf("act6") >0) digitalWrite(act6 , HIGH);
          else digitalWrite(act6 , LOW);
          
          if(inString.indexOf("act7") >0) digitalWrite(act7 , HIGH);
          else digitalWrite(act7 , LOW);
          
          if(inString.indexOf("act8") >0) digitalWrite(act8 , HIGH);
          else digitalWrite(act8 , LOW);
}

Gracias por su apoyo =D