La programmation en Java et Lejos

Pour expliquer certains fonctionnements, principes et fondements.
Avatar de l’utilisateur
semtou
Level 7
Level 7
 
Messages: 525
Localisation: Toulouse
Âge: 56 ans

Messagepar semtou » Dim Fév 01, 2009 11:30 pm

J'ai réussi à coller un programme sur mon nxt avec eclipse. C'est un peu grâce à Armel qui m'a passé un lien sympa pour l'installation de LEGOS et tout le bastas. C'est vraiment chaud à paramétrer mais bon c'est fait. J'attaque le JAVA. A bientôt

PS voici le lien en anglais :
http://www.bartneck.de/2008/03/04/java-lego-nxt-eclipse-tutorial/#installEclipse
J'ai en partie traduit et fait un fichier texte en OPENOFFICE.


Edit d'Anio : ce topic est issu de celui-ci : post27643.html#p27643 à la suite d'une division de topic. :)
"Ce qui se conçoit bien s’énonce clairement et les mots pour le dire viennent aisément..." Nicolas Boileau-Despreaux
Mon blog = http://semtou.skyrock.com/
Ma galerie photos = http://www.brickshelf.com/cgi-bin/gallery.cgi?m=SEMTOU

Avatar de l’utilisateur
Alban42800
Level 11
Level 11
 
Messages: 2473
Localisation: Loire (42)
Âge: 52 ans
expertgbbexpertnxtvainqueurconcours

Messagepar Alban42800 » Lun Fév 09, 2009 12:05 am

Je m'y met seulement :jaune: et je me ramasse pour l'instant à essayer de flasher le nxt depuis un mac :fire:

Avatar de l’utilisateur
semtou
Level 7
Level 7
 
Messages: 525
Localisation: Toulouse
Âge: 56 ans

Messagepar semtou » Lun Fév 09, 2009 12:16 am

Salut Alban et bon courage, je fais juste du JAVA pur et dur en se moment : les constantes, les boucles, je teste des petits programmes sous éclipse pour comprendre le fonctionnement de la machine virtuelle, ce qui est impressionnant c'est la puissance de se langage. Ma femme m'a offert le livre (enfin le pavé) de Claude Delannoy : Programmer en JAVA et j'ai pas fini de le consulter. Bien ben dès que quelqu'un sait comment on intègre une source dans une classe qu'il le dise que je sorte de ma galère. A bientôt
"Ce qui se conçoit bien s’énonce clairement et les mots pour le dire viennent aisément..." Nicolas Boileau-Despreaux
Mon blog = http://semtou.skyrock.com/
Ma galerie photos = http://www.brickshelf.com/cgi-bin/gallery.cgi?m=SEMTOU

Thibaud
Level 6
Level 6
 
Messages: 333
Localisation: Paris
expertnxt

Messagepar Thibaud » Lun Fév 09, 2009 10:13 am

De mon côté j'ai fini par réussir à compiler un des exemples fournis.... mon PC ressemblant à celui de beaucoup de développeur ce ne fut pas evident de faire comprendre à éclipse ce que je voulais lol!!! mais force de perséverance je vais pouvoir m'atteler à mon premier programme.
Etant sous WIndows la partie flash c'est passé sans souci.
Semtou je ne comprends pas ta question : que veux tu dire par mettre des sources dans une classe? une classe est un fichier source....
Les livres de delannoy sont réputé pour être très bien!
Venez voir mes créations ;) NXTGEN
-----
La team BrickBot

Avatar de l’utilisateur
semtou
Level 7
Level 7
 
Messages: 525
Localisation: Toulouse
Âge: 56 ans

Messagepar semtou » Lun Fév 09, 2009 11:36 am

Thibaud a écrit:Semtou je ne comprends pas ta question : que veux tu dire par mettre des sources dans une classe? une classe est un fichier source....
Les livres de delannoy sont réputé pour être très bien!
Oui en théorie mais en pratique ya pas d'exemple d'utilisation d'une source. Il suffit peut être de faire un copier coller dans une classe. NE me dis pas que c'est ça... :whine: En tous les cas je suis dans une impasse et mes lectures ne m'aide plus alors si t'as 2 minutes. :gourou:
"Ce qui se conçoit bien s’énonce clairement et les mots pour le dire viennent aisément..." Nicolas Boileau-Despreaux
Mon blog = http://semtou.skyrock.com/
Ma galerie photos = http://www.brickshelf.com/cgi-bin/gallery.cgi?m=SEMTOU

Avatar de l’utilisateur
Polo
Level 12
Level 12
 
Messages: 3031
Localisation: Tours France
Âge: 39 ans
collectionneurmoceurstarwarsexpert

Messagepar Polo » Lun Fév 09, 2009 11:55 am

bah il faut faire un "import" , non?

Thibaud
Level 6
Level 6
 
Messages: 333
Localisation: Paris
expertnxt

Messagepar Thibaud » Lun Fév 09, 2009 12:11 pm

Si tu parles des packages, il faut faire des import en effet

en début de fichier :

import lejos.nxt;

et dans ta classe tu pourras faire :

Motor.A.setSpeed(720);// 2 RPM
Motor.C.setSpeed(720);
Motor.A.forward();
Motor.C.forward();
Thread.sleep (1000);
Motor.A.stop();
Motor.C.stop();
Motor.A.regulateSpeed(true);
Motor.A.rotateTo( 360);
Motor.A.rotate(-720,true);
while(Motor.A.isRotating();
int angle = Motor.A.getTachoCount(); // should be -360

voila :)
Venez voir mes créations ;) NXTGEN
-----
La team BrickBot

Avatar de l’utilisateur
semtou
Level 7
Level 7
 
Messages: 525
Localisation: Toulouse
Âge: 56 ans

Messagepar semtou » Lun Fév 09, 2009 3:32 pm

ok génial je commence à comprendre. Je peu tester le programme que tu donnes tel quel ou il faut faire autre chose ? il faut juste le mettre dans une classe. Je pense que je vais retenter le leJOS sur ma brique pour mon robot. Comment sait t'ont si une partie de code existe bien dans un packages ? a part à la compilation. Merci A +
"Ce qui se conçoit bien s’énonce clairement et les mots pour le dire viennent aisément..." Nicolas Boileau-Despreaux
Mon blog = http://semtou.skyrock.com/
Ma galerie photos = http://www.brickshelf.com/cgi-bin/gallery.cgi?m=SEMTOU

Thibaud
Level 6
Level 6
 
Messages: 333
Localisation: Paris
expertnxt

Messagepar Thibaud » Lun Fév 09, 2009 3:43 pm

en regardant dans la documentation tu sauras dans quel package se trouve se dont tu as besoin
Venez voir mes créations ;) NXTGEN
-----
La team BrickBot

Avatar de l’utilisateur
semtou
Level 7
Level 7
 
Messages: 525
Localisation: Toulouse
Âge: 56 ans

Messagepar semtou » Lun Fév 09, 2009 4:26 pm

OK j'arrive à envoyer le programme et à le lancer. J'ai un petit problème mon programme s'arrête tout seul et éteint le nxt. bizarre non ? ou c'est normal. Les piles son ok :tintin: je vous voit venir. voici mon programme :

Code: Tout sélectionner
import lejos.nxt.LCD;
public class HelloWorld2 {
   public static void main(String[] args) {
      LCD.drawString("HELLO WORLD", 2, 2);
      LCD.refresh();
      try {
         Thread.sleep(5000);
         } catch (InterruptedException e) {
         }
   }
}

C'est normal qu'il s'arrête comme ça ?
"Ce qui se conçoit bien s’énonce clairement et les mots pour le dire viennent aisément..." Nicolas Boileau-Despreaux
Mon blog = http://semtou.skyrock.com/
Ma galerie photos = http://www.brickshelf.com/cgi-bin/gallery.cgi?m=SEMTOU

Thibaud
Level 6
Level 6
 
Messages: 333
Localisation: Paris
expertnxt

Messagepar Thibaud » Lun Fév 09, 2009 4:36 pm

Il s'arrete à la fin de ton sleep au bout de 5 secondes c'est normal....
Venez voir mes créations ;) NXTGEN
-----
La team BrickBot

Oxycrest
Administrateur
Administrateur
 
Messages: 964
Localisation: Lyon

Messagepar Oxycrest » Lun Fév 09, 2009 4:46 pm

Pensez à utiliser les balises "Code" .
Code: Tout sélectionner
Elles sont là pour ça


En plus elles conservent l'indentation.

Je ne prends pas le temps de tout lire, mais ça commence à m'intéresser tout ça. En plus le mindstorm, ça prend pas beaucoup de place à côté d'une collection de Technic...

Avatar de l’utilisateur
Nico71
Level 14
Level 14
 
Messages: 9618
Âge: 36 ans
expertgbbexpertsoft3dexperttrialtruckmoceurtechnicexpertvainqueurconcours3

Messagepar Nico71 » Lun Fév 09, 2009 5:50 pm

mon frère aussi est très tenter par la NXT, surtout l'aspect programmation avec des autres langages qu'en natif. Ca pourrait bien te plaire vue tes études oxy ;)

Avatar de l’utilisateur
Polo
Level 12
Level 12
 
Messages: 3031
Localisation: Tours France
Âge: 39 ans
collectionneurmoceurstarwarsexpert

Messagepar Polo » Lun Fév 09, 2009 6:18 pm

C'est pas un "throws", à la place du "catch" ?

parce que tu essayes le sleep, et si ça marche pas, tu balances l'exception :fume:

Ou alors j'ai oublié des trucs en java :think:

Thibaud
Level 6
Level 6
 
Messages: 333
Localisation: Paris
expertnxt

Messagepar Thibaud » Lun Fév 09, 2009 6:26 pm

Il est dans le main, il vaut mieu qu'il attrape l'exception plutôt que de la lancer au niveau supérieur. Ici le try catch va intercepter toute erreurs produite durant le sleep. Si il voulait mettre un throw il faudrait qu'il l'ajoute dans le bloc de traitement du catch.
Venez voir mes créations ;) NXTGEN
-----
La team BrickBot


Retourner vers De la théorie à la pratique

Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité