Le NXT, astuces conseils, venez en parler

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

Messagepar semtou » Mer Sep 30, 2009 8:40 am

Salut tutur
te revoilà toujours égal à toi même : direct, léger en explication, mais curieux et c'est là que ça deviens intéressant.
Alors ton idée est en fait de garder une valeur de variable dans le NXT même si celui ci est éteint et rallumer plusieurs fois ?
Dans l'ancienne version du RCX il y avais un espace mémoire (data) réserver à la mémorisation de variable dans une mémoire Rom (qui reste graver même si l'appareil est arrêté) Dans la mesure ou l'on peu enregistrer des programmes dans le NXT c'est qu'il y a une place pour de la mémoire fixe. :help: peu être roboléo qui connais mieux le NXT que moi pourra t'en dire plus. Mon avis est qu'il faut créer un fichier avec le NXT dans lequel tu mets les variables que tu veux mémorisées et les lires pas la suite.
Je jetterai un coup d'œil à cette fonction dès mon retour.
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

Avatar de l’utilisateur
roboleo
Level 8
Level 8
 
Messages: 955
Localisation: Hauts de Seine
expertnxt

Messagepar roboleo » Mer Sep 30, 2009 12:30 pm

Salut Tutur, te revoilà…!

pour éclairer un peu plus ta lanterne, et prendre la suite de semtou:
D'abord prends l'habitude de poser une question par post (çà facilite les réponses).

STOCKAGE PERMANENT DE DONNEES dans la mémoire du NXT.
Dans la palette entière "avancé" du logiciel NXT-G, il existe un bloc intitulé "accès aux fichiers".

Ce bloc permet d'enregistrer les données du robot dans des fichiers sur ton NXT. Après avoir écrit des données dans un fichier, tu dois utiliser un autre bloc Accès aux fichiers pour fermer le fichier avant de pouvoir le lire ou le supprimer (à l'aide d'un troisième bloc Accès aux fichiers).
Par exemple, pour écrire dans un fichier puis lire des données à partir de celui-ci, le fichier doit être fermé entre les deux actions. Cette tâche exigerait trois blocs Accès aux fichiers : le premier (pour lequel l'option « Écrire » est activée dans le panneau de configuration) écrit des données dans un fichier ; le deuxième, placé plus loin dans le programme, doit être configuré pour fermer ce fichier ; enfin, le troisième (pour lequel l'option « Lire » est activée dans le panneau de configuration) lit le fichier. Ces trois blocs peuvent être placés côte à côte ou être disposés à différents endroits du programme.
Enfin l'écriture dans un fichier existant ajoute les données à la fin du fichier, au lieu d'effacer les données existantes. Pour écraser un fichier, tu doit tout d'abord utiliser un bloc Accès aux fichiers qui supprime le fichier, puis en employer un second qui écrit un nouveau fichier en lui donnant le même nom.
Voici à quoi pourrait ressembler un programme:

Image

ECRIRE-FERMER-LIRE-AFFICHER.
Le fichier étant stocké sous un nom, tu pourras retrouver les données plus tard, éventuellement dans un autre programme (à condition de ne l'avoir pas supprimé).
Tu trouveras des renseignements complémentaires dans le menu "Aide" du logiciel. ;)
A+
Roboleo
" Je ne cherche pas, je trouve…" P. Picasso

Avatar de l’utilisateur
Tutur1994
Level 6
Level 6
 
Messages: 435
Localisation: troyes (aube 10)
Âge: 29 ans

Messagepar Tutur1994 » Mer Sep 30, 2009 2:11 pm

merci et pour les calculs personne a d'idée parce que la moi je sais pas

Avatar de l’utilisateur
roboleo
Level 8
Level 8
 
Messages: 955
Localisation: Hauts de Seine
expertnxt

Messagepar roboleo » Mer Sep 30, 2009 5:10 pm

C'est toujours confus dans ta tête et tu dois apprendre à poser ton problème. :think:
Quand c'est compliqué, tu décomposes en éléments simples.

Il y a d'abord une petite difficulté: Si le capteur est en permanence dans une ambiance éclairée, il ne pourra pas compter utilement le nombre de variations. Il faut donc admettre une période de temps correspondant à un cycle (une boucle).
Donc, tu compteras les variations pendant une certaine durée, puis tu recommenceras la boucle jusqu'à l'arrêt par le bouton tactile.
Tu as besoin d'un compteur (pb déjà abordé) et d'une variable V1 pour stocker le résultat.
pseudo code:
Boucle contrôlée par le bouton tactile:
lire la valeur du capteur US tous les x secondes.
comparer cette valeur à 50 (résultat logique)
Si résultat vrai, on ajoute 1 au compteur (dans la variable V1).
Si on valide avec le bouton tactile, on sort de la boucle

Calcul (multiplication):
valeur V1 x par le nombre N.
Enregistrement du résultat:
Stocker directement le résultat de l'opération dans un fichier après l'avoir nommé(Ecrire-fermer-lire). ;)
A+
Roboleo
" Je ne cherche pas, je trouve…" P. Picasso

Avatar de l’utilisateur
Tutur1994
Level 6
Level 6
 
Messages: 435
Localisation: troyes (aube 10)
Âge: 29 ans

Messagepar Tutur1994 » Sam Oct 03, 2009 4:24 pm

merci merci maintenant il reste juste un problème comment renvoyé l'information enregistrer vers la variable

Avatar de l’utilisateur
roboleo
Level 8
Level 8
 
Messages: 955
Localisation: Hauts de Seine
expertnxt

Messagepar roboleo » Dim Oct 04, 2009 2:01 pm

Tutur1994 a écrit:merci merci maintenant il reste juste un problème comment renvoyé l'information enregistrer vers la variable

Après avoir créé et enregistré une valeur dans MONFICHIER.

suite ou nouveau programme:
Bloc "ACCES AU FICHIER" - choisir MONFICHIER - LIRE
Bloc variable V1 - Ecrire valeur dans V1 (avec fil de données)
puis,
Affichage avec Bloc AFFICHER et autres selon besoins.
Comme tu peux le constater, c'est très simple.
Fais quand même un effort!!! :/
A+
Roboleo
" Je ne cherche pas, je trouve…" P. Picasso

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

Messagepar Nico71 » Dim Oct 04, 2009 9:20 pm

Et un effort aussi sur orthographe, tu as 15 zut, tu es censé savoir écrire. Et je remarque que sur 3 posts, 3 fois c'est roboleo qui te donne la réponse. Dans la vie ça sera pas toujours comme ça mais heureusement des gens très bien font des tuto, donc lit les tuto de roboléo, cherche et après pause ta question.

Avatar de l’utilisateur
Tutur1994
Level 6
Level 6
 
Messages: 435
Localisation: troyes (aube 10)
Âge: 29 ans

Messagepar Tutur1994 » Dim Oct 04, 2009 9:26 pm

je regarder ton tuto roboleo sur les variable
mais sa marche pas :(
pour enregistrer j'ai fait ce programme la:
Image
et pour lire celui la
Image
je vois pas ou est mon erreur : :whine:

Avatar de l’utilisateur
roboleo
Level 8
Level 8
 
Messages: 955
Localisation: Hauts de Seine
expertnxt

Messagepar roboleo » Lun Oct 05, 2009 11:39 am

Qu'est-ce qui ne marche pas? Ta conclusion est floue et trop facile.
Je ne suis pas un devin, que cherches-tu à montrer?
Où est l'affichage des valeurs? il n'y a aucune visualisation des valeurs avant enregistrement (pb de la correction si nécessaire).
On enregistre dans le fichier à la fin du comptage, pas après chaque incrémentation.
Comment sont organisées les boucles?
Montre moi le morceau de programme relatif au compteur, et celui de l'affichage. Ces morceaux feraient d'excellents "Mon Bloc".
N'oublie pas qu'il est possible d'écrire des commentaires sur l'espace de travail pour préciser le rôle des blocs, et surtout expliquer la démarche.

Encore une fois,
Tu n'as pas écrit d'une manière détaillée le pseudo-code avant de programmer.

Fais un tour dans la leçon n°13, j'ai ajouté un paragraphe sur les fichiers.
Recommence ta copie… :/
A+
Roboleo
" Je ne cherche pas, je trouve…" P. Picasso

Avatar de l’utilisateur
Tutur1994
Level 6
Level 6
 
Messages: 435
Localisation: troyes (aube 10)
Âge: 29 ans

Messagepar Tutur1994 » Ven Oct 09, 2009 10:32 pm

bon après plusieurs essai je n'y arrive toujours pas
je vous donne le lien de mon programme
http://www.mediafire.com/download.php?zjrmtgn505g

Avatar de l’utilisateur
Anio
Administrateur
Administrateur
 
Messages: 19497
Âge: 37 ans
revieweurmoceurstarwarsexpertambassadeur

Messagepar Anio » Ven Oct 09, 2009 11:02 pm

:oo

Et ce serait bien que :
- tu cherches un peu plus ; je sais pas si ca vient de moi, mais j'ai l'impression qu'à chaque fois que tu te pointes sur le forum, c'est pour que quelqu'un te donne la solution tout cuit.
- tu fasses des posts (très) complets, voire carrément de nouveaux topic dans "Vos MOCs" où tu dis clairement quel est ton projet.

D'avance merci.
Think outside the box.

Tout plein de liens utiles dans mon profil ! :P

Avatar de l’utilisateur
roboleo
Level 8
Level 8
 
Messages: 955
Localisation: Hauts de Seine
expertnxt

Messagepar roboleo » Sam Oct 10, 2009 3:04 pm

Tutur1994 a écrit:bon après plusieurs essai je n'y arrive toujours pas
je vous donne le lien de mon programme
http://www.mediafire.com/download.php?zjrmtgn505g

J'ai examiné ton programme et franchement, je n'y comprends rien.
Aucune documentation, aucune précision permet de savoir ce que tu cherches à faire.
Tu vas reprendre ce programme et le compléter par des commentaires sur chacune des parties et sur les boucles. Il faut expliquer ce que chaque groupe de blocs est sensé faire, préciser ce que l'on veut afficher.
Le logiciel permet d'écrire du texte là où il faut; tu dois t'en servir.
Personne ne peut deviner ce que tu as en tête quand tu programmes.
Si tu envisages un métier technique, tu n'arriveras à rien sans rigueur et précision. Tu dois TOUT expliquer pour que les autres puissent comprendre.

On ne joue pas aux devinettes, alors tu recommences! :grr:
A+
Roboleo
" Je ne cherche pas, je trouve…" P. Picasso

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

Messagepar Nico71 » Lun Oct 12, 2009 7:24 am

Je suis pas informaticien et pourtant je connais le premier principe : d'abord les algorithmes, ensuite le code. On peut rien faire si on passe pas par le langage algorithmique d'abord.

A oui et puis écrire des commentaires, si les logiciels le permettent, pourquoi ne pas le faire ;)

Avatar de l’utilisateur
roboleo
Level 8
Level 8
 
Messages: 955
Localisation: Hauts de Seine
expertnxt

Messagepar roboleo » Lun Oct 12, 2009 1:45 pm

Nico71 a écrit:Je suis pas informaticien et pourtant je connais le premier principe : d'abord les algorithmes, ensuite le code. On peut rien faire si on passe pas par le langage algorithmique d'abord.

A oui et puis écrire des commentaires, si les logiciels le permettent, pourquoi ne pas le faire ;)

Et pour compléter, j'ajoute:
une bonne application comprends 3 parties sensiblement de même importance:
un programme bien structuré ( pour favoriser les évolutions)
une documentation complète (en vue des modifications ultérieures)
des tests de vérification (pour s'assurer des objectifs fixés)

PS: moi non plus, je ne suis pas informaticien! (à suivre…) ;)
A+
Roboleo
" Je ne cherche pas, je trouve…" P. Picasso


Retourner vers De la théorie à la pratique

Qui est en ligne ?

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