Arduino + NXT

Bonjour,

est ce qu’il y a des personnes qui aurait un tutoriel pour debuter avec une carte Arduino + NXT Shield - M

Merci d’avance

http://blog.tkjelectronics.dk/2011/10/nxt-shield-ver2/ http://blog.tkjelectronics.dk/2011/06/nxt-motor-shield/

Merci beaucoup

Sais tu si il y a des différence de librairies entre les different NXT shield ?

aucune idée : il s'agit simplement de lien que j'ai trouvé en tapant "arduino NXT" sous google.

En lisant les liens précédant, il semblerait qu'il y ai de petites différences.

Nous avons un probléme de ce type en utilisant la doc fournis ici :

http://www.generationrobots.com/site/PDF/NXShield-User-Guide.pdf

NXTServo.cpp:31:1: error: unterminated #if
In file included from C:\Users\Martin\Downloads\arduino-1.0-windows\arduino-1.0\libraries\NXTI2CDevice/WProgram.h:7,
from C:\Users\Martin\Downloads\arduino-1.0-windows\arduino-1.0\libraries\NXTI2CDevice/BaseNXTI2CDevice.h:30,
from C:\Users\Martin\Downloads\arduino-1.0-windows\arduino-1.0\libraries\NXTI2CDevice/NXTI2CDevice.h:28,
from NXTServo.cpp:35:
C:\Users\Martin\Downloads\arduino-1.0-windows\arduino-1.0\libraries\NXTI2CDevice/wiring.h:98: error: declaration of C function 'long unsigned int pulseIn(uint8_t, uint8_t)' conflicts with
C:\Users\Martin\Downloads\arduino-1.0-windows\arduino-1.0\hardware\arduino\cores\arduino/Arduino.h:199: error: previous declaration 'long unsigned int pulseIn(uint8_t, uint8_t, long unsigned int)' here

Quelqu un peut il nous eclairer ???

Merci d'avance

Apres essais sur un ordinateur Windows XP, le programme marche ...

Vous avez connu des problème de comptabilité avec Seven ?

est-ce que sous seven et XP tu as la même version de l'environnement arduino ?

Meme logiciel, meme environnement puisque j ai passé les fichier de l un a l autre

oui, j'avais pas les yeux en face des trous, c'est marqué version 1.0.

Donc, ce qu'il te dit, c'est que tu as deux fois la fonction "pulseIn" définie (une fois dans la lib ardu, une fois dans la lib wiring) et qu'il ne sait pas laquelle choisir.

Par contre, tu entends quoi quand tu dit "j ai passé les fichier de l un a l autre" ? Les fichiers d'install de l'environnement et les libs, ton fichier projet ? (désolé, je suis lent au démarrage ;) )

Oui tout a fait j ai pris tous les fichiers (complet) qui été sur Seven, et j ai transféré sur XP et ca a marché.

De plus on voit que le logiciel est bcp plus lent sur seven que sur XP

fais une install clean de l'environnement sur chacun des deux systemes. Le coup de "je prends l'ensemble du rep Ardu et je le copie sur un autre systeme, qui plus est, est antérieur au systeme sur lequel j'ai fait la première install", ça te semble pas un peu louche comme façon de procéder :( ? Même si l'environnement ardu est d'origine livré en fichier zip...

De plus, sur les liens que je t'ai donné, il me semble qu'il est fait mention de la version 0022 ou 0023 de l'environnement. Cette info est reprise dans ta propre doc.

Il ya des différences sensibles entre la version 0023 et la 1.0.

Réinstall la version 0023 et testes

As-tu lu(et mis en application) le readme de ton fichier NXShield dispo là : http://sourceforge.net/projects/nxshield/files/AVR/ (en bas de page ?)

Edit : tes versions XP et Seven sont bien en 32 bits toutes les deux ?

Yop yop,

taddot a surement raison sur l'origine du problème du aux versions différente du core arduino.

In file included from C:\Users\Martin\Downloads\arduino-1.0-windows\arduino-1.0\libraries\NXTI2CDevice/WProgram.h:7,

Arduino 0.23 -> WProgram.h Arduino 1.0 -> Arduino.h

C:\Users\Martin\Downloads\arduino-1.0-windows\arduino-1.0\libraries\NXTI2CDevice/wiring.h:98: error: declaration of C function 'long unsigned int pulseIn(uint8_t, uint8_t)' conflicts with
C:\Users\Martin\Downloads\arduino-1.0-windows\arduino-1.0\hardware\arduino\cores\arduino/Arduino.h:199: error: previous declaration 'long unsigned int pulseIn(uint8_t, uint8_t, long unsigned int)' here

Copié coller (écrasé) du dossier Arduino version 1.0 sur 0.23 ou l'inverse ??? :fearful:

taddot: Le coup de "je prends l'ensemble du rep Ardu et je le copie sur un autre systeme, qui plus est, est antérieur au systeme sur lequel j'ai fait la première install", ça te semble pas un peu louche comme façon de procéder :( ? Même si l'environnement ardu est d'origine livré en fichier zip...

En fait le probleme c est qu on a fait le test sur 3 PC différent 2 seven 1 XP.

Nous arrivions pas a faire tourner le programme sur nos 2 PC seven, du coups je me suis dit que j allais tester sur mon PC qui est sous XP.

J ai donc copier les fichiers d’un PC, le fichier d’install arduino et les librairies a mettre en place dans le dossier arduino.

Déjà a l ouverture de arduino sa va beaucoup plus vite, et de 2 le programme fonctionne etant donne que j arrive a faire bouger mes moteurs.

L’extrait que vous avez viens du 3 éme PC ce qui peut expliquer les différences de versions, vu que je sais pas comment il a telecharger le fichier.

Ton pc XP serait pas en 32bit et tes Seven en 64b ?

Commence par : - désinstaller proprement tes environnements arduino sur tes pc 7 - faire un petit nettoyage du disque, etc ( - réinstaller un environnement PROPRE sur ton PC de dev (seven)

Je n'ai pas compris ta dernière phrase : "vu que je sais pas comment il a telecharger le fichier." Qui ça "il" ? Quel fichier ? Est-ce qu'il y a déjà eu d'autre version de l'environnement arduino d'installé sur ces PCs ? Ta méthode d'installation me laisse (un peu) perplexe ou alors c'est que je comprends mal. Il faut installé chaque environnement de dev dans un répertoire séparé (surtout entre 002x et 1.0) . Et utiliser les librairies "conformes" à ton environnement. C'est pareil en python (les versions 2.7 et les versions 3.x par exemple).

PS : tu utilises quoi comme carte arduino ? tes paramètres de config entre les installs sur 7 et XP sont-ils les mêmes ?

Est-ce que le shield est indispensable pour connecter le moteur et les capteurs NXT? Est-ce qu'il est possible de connecter ces composants directement?

Non il possible de brancher directement, tu as l'i2c pour ca, par contre faut voir pour gerer la puissance ce que fait tres bien le shield