regarde l'exemple UDPSendReceiveString.ino, et tu verras que:
// start the Ethernet and UDP:
Ethernet.begin(mac,192, 168, 1, 40);
est foireux.
Il faut donc quelque chose comme:
IPAddress monIP(192, 168, 1, 40); // ip de l'arduino
Ethernet.begin(mac,monIP);
Ensuite:
Udp.beginPacket(Udp.remoteIP(), Udp.remotePort());
n'a pas de sens, puisque dans l'exemple c'est l'information d'IP et port du message reçu. Or tu n'en as pas dans ton cas.
Il faut donc quelque chose comme:
IPAddress remoteIP(192, 168, 1, 177); // ip du serveur
Udp.beginPacket(remoteIP, 9999);
pour lui indiquer quel est l'IP et le port de la cible (ton serveur)
Gromain