Question pour programmeur : NXT-G

Pour expliquer certains fonctionnements, principes et fondements.
cybermaster
Level 11
Level 11
 
Messages: 2205
Localisation: Valence
Âge: 29 ans

Messagepar cybermaster » Mar Déc 16, 2008 9:21 pm

Voila, j'ai téléchargé le logiciel NXT-G pour voir les programmes de www.nxtprograms.com , afin de comprendre un peu mieux comment fonctionnent ces mocs, que je trouve très réussis.

Mais voila, je n'ai pas pu m'empêcher de cliquer sur "nouveau programme" ...

Et j'ai fait un programme, et je ne sais pas si il est juste :whine:

Le voici (il est simple, je pense ne pas avoir à expliquer en quoi il consiste, sauf pour les deux blocs son : c'est une sirène, c'est pour ça qu'il y a une boucle) :

ici

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

Messagepar roboleo » Mer Déc 17, 2008 5:11 pm

Pas si simple. Il faut deviner ce que tu as voulu faire. D'où l'utilité du pseudo code.
Je pense que tu a voulu faire tourner un moteur, puis à l'aide d'un bouton, déclencher une sirène, en maintenant le moteur en activité.
Comment arrêter la sirène sans stopper le moteur?
Comment tout arrêter?
Voilà ma réponse.


Image

A+
Roboleo

cybermaster
Level 11
Level 11
 
Messages: 2205
Localisation: Valence
Âge: 29 ans

Messagepar cybermaster » Mer Déc 17, 2008 5:55 pm

Merci pour ta réponse ;)

Mon pseudo-code, c'est :

Deux blocs texte pour dire "bonjour"

Puis, un switch :

Ou : quand le capteur de pression est appuyé, faire tourner le moteur 3 secondes, puis afficher un texte pendant 3 secondes.

Répéter ceci tant que le capteur de pression et en position poussé.

Ou : si le capteur n'est pas poussé, faire tourner la sirène jusqu'à ce que le switch soit poussé.

Puis, bloc son "finish"

Et c'est reparti :D

Voila pour le pseudo code :D

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

Messagepar roboleo » Dim Déc 21, 2008 5:00 pm

Bon, on reprend tout:
Ton programme
Image

Tu veux tout commander à partir du capteur bouton, right?
En l'état difficile: il risque d'y avoir confusion. J'explique…
Si tu ne fais rien, c'est la sirène
Si tu maintiens le bouton appuyé, tu quittes la boucle sirène et tu change de boucle: le moteur se met à tourner.
(Ici, erreur sur la durée. Le moteur est réglé sur illimité. Il faut le régler sur 3 secondes).
Si tu lâche le bouton, le moteur continue à tourner. Tu as beau appuyer, il ne se passe rien.
Tu as prévu de sortir d'une des 2 boucles en réutilisant le bouton; il ne sait plus à qui répondre…
Il vaut mieux utiliser d'autres boutons pour éviter la confusion. On utilisera ceux du NXT.
Mais je ne dis pas que ta solution est impossible; il faut retravailler la question.

Ceci est ma proposition:

Image

Petites modifs de détail.
Sortir l'affichage des boucles.
J'ai aussi inversé les boucles. J'ai réglé le moteur sur 3 secondes (visible sur l'icône). J'ai remplacé les sorties de boucle par les flèches droite et gauche du NXT. Enfin, j'ai ajouté le bouton rouge du NXT pour sortir du programme.

Comment çà marche?
Au départ, la sirène avec le bouton appuyé.
Je maintiens le bouton, et j'appuie sur flèche droite: je quitte la sirène et top sonore. Je peux lâcher le bouton capteur. Départ moteur pendant 3 secondes puis arrêt. Affichage message pendant 3 secondes, et on recommence cette boucle.
Si maintenant j'appuie sur bouton capteur et flèche gauche, je bascule et c'est la sirène.

Enfin, après le top sonore de sortie du switch intérieur, bouton rouge pour mettre fin au programme.

Suivi?

A+
Roboleo


Retourner vers De la théorie à la pratique

Qui est en ligne ?

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