Probleme de connexion réseau entre PC et l'Ethernet Shield

Bonjour à tous,

Je dispose d'une carte Arduino Mega 2650 et d'un Ethernet Shield + un switch, après avoir vu des vingtaines de tutos j'ai compris qu'on pouvait établir la connexion entre le PC et la carte Arduino avec le Shield de deux manières:

1- De la manière suivante:

c'est-à-dire (Carte arduino+Ethernet shield)----RJ45----(switch)----RJ45----(PC) (comme vous pouvez le voir dans l'image ci-dessus).

N.B: je sais que le switch est facultatif mais il est conseillé, je ne perds rien en l'incluant.

2-Ou bien de la manière suivante :

Dans ce cas on a un router qui assigne les adresses IP.

Le problème c'est que chez un ami la deuxième configuration a marché mais chez moi non (j'ai bien sûr changé les adresses IP du Shield selon mon réseau à moi), concernant la première configuration et c'est celle qui m’intéresse pour mon projet, car là où je vais soutenir mon mémoire il n'y pas de connexion à internet donc pas de router. S'il vous plait, s'il y a une astuce ou une configuration à faire montrez-là moi et si quelqu'un a réussi à établir une connexion directe entre la carte et le PC qu'il me montre comment.

N.B: j'ai utilisé un câble croisé directement entre la carte et le PC, et ça ne marche pas aussi. À noter aussi que pour vérifier la connexion entre la carte Arduino et le PC, j'utilise la carte Arduino comme un serveur et un logiciel sur mon PC comme un client, quand le serveur est à l'écoute je démarre le client et normalement si ça marche il y a une LED qui s'allume tout cela pour dire que ma programmation est juste car cela a fonctionné chez mon ami et le problème vient forcement de l'adressage IP.

Merci.

Bonjour,
Pas dans la bonne rubrique.

Salut
Il nous faudrait au moins la portion de code de la configuration du shield.

tahitibob35:
Salut
Il nous faudrait au moins la portion de code de la configuration du shield.

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

/* Détails technique de la connexion ethernet */
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
byte ip[] = {192,168,0,20};
byte gateway[] = {192,168,0,1};
byte masque[] = {255,255,0,0};

//byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
//byte ip[] = {105,99,66,240};
//byte gateway[] = {192,168,0,1};
//byte masque[] = {255,255,255,0};


// Attachement d'un objet "server" sur le port 8081
EthernetServer server(8081);

void setup()
{
 
 // Configuration de la ethernet shield et du server
 Ethernet.begin(mac, ip, gateway, masque);
 server.begin();

 // Mise en sortie de la broche avec notre led (par défaut éteinte)
 pinMode(9, OUTPUT);
 digitalWrite(9, HIGH);
  
  // Configuration du PORT SERIE
 Serial.begin(9600);
  while (!Serial) {
   ; // En boucle tant qu'il n'y a pas de port série
 }
 // Affichage de l'adresse IP du serveur
 Serial.print("\nServer is listening at:");
 Serial.println(Ethernet.localIP());
}

void loop()
{
 // Attente de la connexion d'un client
 EthernetClient client = server.available();
 if (client && client.connected()) {
 Serial.println("Connexion client");
 Serial.println("");
  
  // si le client nous envoie quelque chose
   if (client.available() > 0) {
   Serial.println("boucle IF ok");
 
    char c = client.read();
    Serial.println(c);
     
    switch(c){
       
    case 'C': // allumer la led
    digitalWrite(9, LOW);
    break;
     
    case 'V': // éteindre la led
    digitalWrite(9, HIGH);
    break;
       }
      }
     }
    }

PS: Je m'excuse, quelle est la bonne rubrique ?

Cordialement.

Re,
Contacte un modérateur pour changer de rubrique (Report to moderator)

A LIRE