|
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. 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 |
|
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: 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 |
|
C'est toujours confus dans ta tête et tu dois apprendre à poser ton problème.
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 |
|
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 |
|
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.
|
|
je regarder ton tuto roboleo sur les variable
mais sa marche pas pour enregistrer j'ai fait ce programme la: et pour lire celui la je vois pas ou est mon erreur : |
|
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 |
|
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 |
|
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. |
|
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! A+
Roboleo " Je ne cherche pas, je trouve…" P. Picasso |
|
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
Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 10 invités