PC <-> Arduinio <-> ethernetShield <-> robot

Bonjour,

J’utilise actuellement un robot qui "parle" via RS232 grace à un soft en VB6 et le port COM.

J'ai en ma possession :

  • aduino duemilanove
  • ethernetShield
  • PC

Comment réaliser un pont pour communiquer avec mon robot via le réseau ?
Je souhaite donc :

  • brancher mon robot sur arduino (com RS232 via SoftwareSerial library ),
  • ajouter l'ethernet shield,
  • brancher l'ethernetShield sur le réseau,
  • envoyer des trames à partir du PC sur le robot,
  • lire les trames, sur mon PC, envoyées sur le port RS232 par le robots.

est ce que je dois utiliser "Server class" "Client class" "EthernetUDP class" de Ethernet library ?
un tutoriel ?

Merci par avance

Bonjour,

picassoTease:

  • brancher mon robot sur arduino (com RS232 via SoftwareSerial library ),

Attention RS232 : -12v / +12v, arduino : 0v / 5v
Pour brancher une carte arduino sur un port RS232 il faut un CI type MAX232 sinon il y aura de gros problèmes :wink:

picassoTease:
est ce que je dois utiliser "Server class" "Client class" "EthernetUDP class" de Ethernet library ?
un tutoriel ?

Server class, c'est le plus adapté.
J'ai fait un tutoriel avec un relay mais le principe est presque le même.

Merci, c'est déjà une bonne aide. Merci
Ce qui me pose plus problème maintenant, c'est le rafraichissement.

Je m'explique :

  • le robot va parler au PC (en passant par arduino+ethernet)
  • le PC va parler au robot (en passant par arduino+ethernet)

de mon coté, c'est simple, je fais "send(MaParole)" et Arduino se charge de transmettre la chaine de caractères.

comment savoir que le robot essaie de me parler ? une boucle infinie de Read(MonEsclave)?

Merci par avance

Salut,

il me semble qu'utiliser SoftwareSerial library t'oblige à écouter en permanence ton robot sinon tu perds des trames (pas de buffer Rx)

Il est plus souhaitable d'utiliser la liaison série dans ton cas.

Gromain

Gromain59:
il me semble qu'utiliser SoftwareSerial library t'oblige à écouter en permanence ton robot sinon tu perds des trames (pas de buffer Rx)

Il est plus souhaitable d'utiliser la liaison série dans ton cas.

C'est valable pour l'ancienne version de SoftwareSerial, depuis NewSoftwareSerial qui est intégré dans arduino 1.0 il y a un buffer intégré donc pas de probléme :wink:

picassoTease:
comment savoir que le robot essaie de me parler ? une boucle infinie de Read(MonEsclave)?

Tes fonctions Send() et Read() c'est en quel langage de programmation ? (Processing ?)
Si tu as une fonction qui retourne le nombre d'octets reçu il te suffit de faire une boucle dessus.
Je sait pas en quoi tu prog coté pc donc c'est assez dure de t'aider ^^

C'est valable pour l'ancienne version de SoftwareSerial, depuis NewSoftwareSerial qui est intégré dans arduino 1.0 il y a un buffer intégré donc pas de probléme

promis, un jour je passerai à la version 1.0 XD

en effet , je pense utiliser Processing pour commencer.

J'essaie de faire qqch et je reviens si besoin.
Merci à tous

Gromain59:
promis, un jour je passerai à la version 1.0 XD

Sinon 0023 :grin:

picassoTease:
en effet , je pense utiliser Processing pour commencer.

J'essaie de faire qqch et je reviens si besoin.

Ok :slight_smile: