Je craque avec le shield ethernet V1.1 de Hobbyking (résolu)

Quelle version de librairies ?
Quelles exemples qui fonctionne avec quel IDE arduino ?

A l’aide !

Ah du ENC28J60 Quelle idée .... Moi j'ai du W5100

Enfin, le site Hobbyking donne un lien vers http://winkleink.blogspot.co.uk/2012/08/arduino-ethernet-ethercard-xamp-web.html Tu as essayé ?

Sinon cherches ENC28J60 sur le forum, tu devrais trouver des pistes

Alors je vais séparer mes questions

1) quel IDE prendre : 1.0. 1?

2) quelle librairie ?

3) quel code pour tester ?

Pour l'instant j'ai des codes d'erreur partout sauf pour un cas où le port série ne dit 0.0.0.0 alors que j'ai demandé 192.168.0.17

Salut,

avec un shield embarquant un ENC28J60, oublies tous les exemples fournis avec l'IDE arduino qui utilise une puce Wiznet.

Une version assez récente de la bibliothèque, développée initialement par TuxGraphics et adaptée à l'environnement arduino, se trouve sur ce dépot. Le zip sur ce lien. Tu y trouveras des exemples utilisables souvent avec une version 022 de l'IDE, mais adaptable pour la version 1.0.1 ;)

L'ENC28J60 est très bien pour faire de l'UDP et de petites applications webserver Mais il faut bien avoir en tête qu'à l'heure actuelle que la pile TCP/IP ne supporte pas (encore ?) le fractionnement de paquet (donc max la taille de ton buffer, en général 500 octets) :(

C'est moins userfriendly qu'avec un Wiznet, mais c'est plus instructif ;)

Bon amusement,

Gromain

Un grand merci pour ces liens et explications.

Je vais tester

Un petit serveur web qui permet de lire la température et humidité http://www.ebay.com/itm/New-DHT11-single-bus-digital-temperature-and-humidity-sensor-module-Board-Shield-/281012719630?pt=LH_DefaultDomain_0&hash=item416da9d00e et de faire bouger un servo de modélisme, c'est un rêve trop ambitieux pour ce shield ?

non, c'est largement à sa portée. Tout ce que tu as à faire, c'est te limiter à une page html qui soit de taille raisonnable. 500ko c'est déjà bien.

Aïe !

J'ai chargé l'exemple webserver, modifié l'adresse ip en 192.168.0.25 (mon réseau local est en 192.168.0.) sur un arduino méga http://www.hobbyking.com/hobbyking/store/__25085__Arduino_Mega_2560_Microcontroller_Board.html Arduino IDE 1.0.1 Compilé : ok Uploadé : ok Mon shield sur ma freebox : pas mal de collisions Interrogé le 192.168.0.25 sur firefox : rien

Exploré le réseau avec netscan http://www.download3k.com/Install-SoftPerfect-Network-Scanner.html : pas d'ordi sur le 25

On pourrait pas ajouter un bout de code pour récupérer sur la console un info sur l'adresse ip, mac et le port qui fonctionnent ? (l'autre jour, j'ai utilisé une librairie pour ENC28J60 avec un programme qui faisait cela,je lui demandais d'être sur le 192.X.XX.X, et sur la console il me donnait 0.0.0.0)

Comme je suis débutant avec arduino,je voudrais partir d'une base qui tourne et pas à pas la modifier jusqu'à obtenir ce que je veux. Mes expériences avec capteurs, servo fonctionnent, reste l'ethernet.

newbit en arduino + english = surcharge cognitive

Tu y trouveras des exemples utilisables souvent avec une version 022 de l'IDE, mais adaptable pour la version 1.0.1

Est-ce pas mon problème, je n'ai rien adapté....

Avec IDE 22 pareil :-(

Le problème vient peut-être du couple Mega+shield: sont-ils compatibles entre eux ? Est-ce qu'il n'y a pas quelque chose à adapter ? je pense notamment au numéro de la pin SS (slave selection du bus SPI) ?

Le sketch en PJ, il fonctionne parfaitement chez moi avec un équivalent Uno.

Par contre, avec ma version de shield + Mega ça ne marche pas car la communication SPI se fait via les broches 11, 12 et 13, le SS/CS sur 10. Or sur une Mega les broches SPI ne sont pas aux mêmes emplacements.

Il faut donc que tu vérifies comment communique ta version de shield avec l’arduino:
via les broches 11, 12 et 13 (comme le mien), ou directement via le port SPI (carré de 2x3 broches)
Et quel est la broche utilisée pour le SS/CS.

En fonction de ce que tu trouves, il faudra adapter le fichier “enc28j60.h” pour lui indiquer les bonnes pins.

Pour ça, le mieux c’est d’avoir les schémas de ton shield.

Gromain

ethershield_webserver.zip (18.5 KB)

Bonsoir,

Un grand merci à Gromain !

Résumé de la situation : J'ai trouvé :http://trollmaker.com/article11/arduino-1-0-with-enc28j60-ethernet-shield-v1-1 J'ai installé Arduino IDE 1.0 J'y ai viré la librairie ethernet d'origine (c'est peut-être pas utile ?) installé les librairies de http://trollmaker.com/data/documents/ethershield_v1.1_for_arduino_v1.0.zip Ouvert l'exemple helloword et pas de résultat avec l'arduino mega

Puis j'ai lu Gromain... Et j'ai tout uploadé sur un vieil arduino NG atmega168

Et çà marche !

Me reste une question :

Il faut donc que tu vérifies comment communique ta version de shield avec l'arduino: via les broches 11, 12 et 13 (comme le mien), ou directement via le port SPI (carré de 2x3 broches) Et quel est la broche utilisée pour le SS/CS.

En fonction de ce que tu trouves, il faudra adapter le fichier "enc28j60.h" pour lui indiquer les bonnes pins.

Y a des pistes qui vont à 2, 10, 11, 12, 13 sur le shield. C'est quoi le SS/CS ? Que faut-il modifier si je prends l'arduino mega ?

Dernière question : mon NG est-il suffisant pour un servo et mon capteur avec ce shield ethernet ?

fr,

Tu trouveras sans doute ton bonheur ici ;) SS (Slave Selection) ou CS, c'est selon, est le signal qui permet d'indiquer à l'ENC28J60 que les données sur le bus SPI lui sont adressés et qu'il peut émettre. Sur un bus SPI tu peux avoir plusieurs esclaves. Typiquement une carte SD.

Gromain

Je ne sais pas pour la lib EtherShield mais si comme la lib Ethernet standard (W5100) elle utilise le bus SPI hardware de l'ATmega, ca ne peut pas se résumer à changer des définitions dans un fichier H car le bus SPI hardware est à un endroit différent sur UNO/NG/2009 et sur Mega.

En plus du connecteur 2x3 de l'ICSP qui est le bon connecteur à utiliser pour un shield qui veut être compatible UNO et MEGA, le bus SPI se trouve : - SS/CS : Uno = D10 - Mega=D53 - MOSI : Uno=D11 - Mega=D51 - MISO : Uno=D12 - Mega=D50 - SCLK : Uno=D13 - Mega=D52

Dont si le shield ENJ ne prend pas le bus SPI sur le connecteur ICSP, il va falloir couper des pistes et tirer des fils.

Ok, merci à tous les deux. C'est très clair.

Dont si le shield ENJ ne prend pas le bus SPI sur le connecteur ICSP, il va falloir couper des pistes et tirer des fils.

barbudor,

c'est ce que propose le lien que j'ai filé dans mon précédent post, à savoir http://mcukits.com/2009/04/06/arduino-ethernet-shield-mega-hack/ ;)

gromain