Imprimante NXT

Présentez-nous vos créations...
Avatar de l’utilisateur
Donovan-88
Level 6
Level 6
 
Messages: 362
Localisation: Saint-dié des Vosges (88) France
Âge: 31 ans

Messagepar Donovan-88 » Sam Juin 19, 2010 10:58 am

:salut: D'abord, ne faites pas attention au nom de mon imprimante :lol: (j'ai trouvé que ça).

C'est un projet que j'ai commencé puis laissé à l'abandon depuis longtemps (je ne pourrais pas vous dire depuis quand :muh?: ).
L'idée de faire une imprimante avec mon NXT, vient des nombreuses vidéos sur YouTube que j'ai pu voir.

Voici la mécanique :
Image

Le grand chariot (ensemble des 3 moteurs):
Image

Détails du petit chariot (ensemble des 2 moteurs qui se déplacent sur le grand chariot):
Image

Le point de départ :
Image

Mais j'ai déjà quelques problèmes de programmation :
Je m'explique, j'ai créé un programme pour que l'imprimante fasse une "petite impression" en forme de "L" à l'envers et qu'après elle retourne automatiquement au Point de Départ.
Voila un schéma :
Image
En rouge, c'est la pointe du stylo. Lorsqu'il y a des pointillés, le stylo est levé. Lorsqu'il y a du trait fort, le stylo est baissé.
Le 920 Degrés et le 1660 Degrés, c'est le rayon d'action des chariots.
En faite, j'ai dit aux moteurs de faire le "trajet" là (en rouge). Pendant ce temps, un bloc de rotation enregistrait en degrés le déplacement de chaque moteurs dans des variables.
A la fin du programme, je ressors les variables pour qu'elles disent aux moteurs comment faire pour retourner au point de départ.
Mais c'est à partir de la que j'ai mon problème :
- soit les chariots ne bougent pas
- soit les chariots retournent au point de départ mais les moteurs continuent à tourner pendant une à deux secondes.

Un des programmes :
Image
Voila, peut être que j'utilise mal les variables.
Comment faire?
A+

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

Messagepar Nico71 » Sam Juin 19, 2010 12:04 pm

Je ne sais pas si tu l'as fait mais en mode debug et mise au point c'est souvent pratique de mettre des conditions sur les étapes, genre un appui sur le capteur de contact pour passer d'étape en étape, comme ça tu vérifies bien si le bloc correspond bien avec l'action que le robot fait. Tu peux aussi afficher les valeurs des angles des moteurs ou des variables sur l'écran du NXT pour voir s'il n'y a pas d'abération.

(à Freebot, Alban et Thibault avaient un prog pour lire la valeur de luminosité sur le nxt, c'était bien pratique pour comprendre pourquoi ça ne marchait pas)

Avatar de l’utilisateur
Donovan-88
Level 6
Level 6
 
Messages: 362
Localisation: Saint-dié des Vosges (88) France
Âge: 31 ans

Messagepar Donovan-88 » Sam Juin 19, 2010 1:45 pm

Merci , j'ai réussi en affichant les valeurs pour voir si elles convenaient. Enfaite, j'avais mis le capteur de rotation au tout début donc il prenait la valeur avant que le moteur ne bouge. La valeur était donc de 0. Donc je l'ai mis a la fin et ça marche! :D
Image
A+

Avatar de l’utilisateur
Donovan-88
Level 6
Level 6
 
Messages: 362
Localisation: Saint-dié des Vosges (88) France
Âge: 31 ans

Messagepar Donovan-88 » Mar Juin 22, 2010 12:51 pm

Je suis actuellement en train de faire un programme me permettant de choisir les lettres que le robot doit écrire.
Savez-vous comment faire pour pouvoir sélectionner (avec les boutons de la brick) les lettres puis les assigner à une action (mouvements des moteurs pour écrire cette/ces lettre(s) ) ?

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

Messagepar Alban42800 » Mar Juin 22, 2010 1:53 pm

Regarde dans les leçons de roboléo il y a surement quelque chose dans la section boutons.
Il faut que tu incrémente/décrémente une valeur de 1 à 26 et que tu affiche la lettre correspondante quand on appuie sur les touches flèches et que tu mémorise la valeur quand on appuie sur orange.
Ensuite tu peux commencer par faire un bloc monblock pour chaque lettre.

Un conseil : Commence avec A B et C seulement ;)

Avatar de l’utilisateur
Donovan-88
Level 6
Level 6
 
Messages: 362
Localisation: Saint-dié des Vosges (88) France
Âge: 31 ans

Messagepar Donovan-88 » Mar Juin 22, 2010 3:36 pm

Je te remercie, j'avais été voir son tuto sur l'affichage mais pas celui sur les boutons.

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

Messagepar roboleo » Mer Juin 23, 2010 2:02 pm

Ton problème est complexe.
Il faut un programme principal et un ou des 'Monblocs'.
Commence par créer un bloc 'Monbloc' qui se contentera d'afficher une lettre en utilisant une variable 'texte' et une variable compteur 'numérique' associée.
Chaque fois que tu appuieras sur une touche du NXT le programme ira chercher ce bloc et affichera la lettre correspondante.

Le programme principal contient un dispositif 'multiple décisions' .
Limite toi pour commencer aux voyelles, soit 6 au total. Le choix multiple comportera 6 options (voir guide page 87).
Chaque fois que tu appuieras sur un bouton 'flèche droite' tu passeras à la lettre suivante (boucle compteur). Dans le cas 'flèche gauche' tu reviendras en arrière. Quand une lettre te conviendra, tu appuieras sur le bouton rouge pour valider. Cette validation te permettra de stocker dans une variable la lettre choisie.
Pense à remettre la boucle à la lettre A (choix 1 = 'A'; choix 2 = 'E'; …, choix 6 = 'Y') quand le compteur dépasse la valeur 6.
Ensuite, tu prendras cette valeur de la variable pour l'affichage ('Monbloc').

Un exemple de 'compteur':

Image

NOTA: il s'agit pour l'instant d'afficher sur l'écran du NXT une lettre.
Pour tracer sur un support le dessin d'une lettre à l'aide de moteurs, c'est une autre histoire. On est dans le cas d'une 'commande numérique' avec un dispositif de tracage en coordonnées X,Y. La lettre est définie par une fonction algébrique paramétrée.
On pourrait imaginer un traçage par points au lieu d'un traçage continu, ce qui faciliterait l'approche.
Cela implique un stockage permanent de données pour chaque lettre (dans le NXT), dans un bloc particulier 'accès aux fichiers' (voir page 154) avec un programme adéquate pour récupération, puis tracage. ;)
A+
Roboleo
" Je ne cherche pas, je trouve…" P. Picasso

Avatar de l’utilisateur
Donovan-88
Level 6
Level 6
 
Messages: 362
Localisation: Saint-dié des Vosges (88) France
Âge: 31 ans

Messagepar Donovan-88 » Mer Juin 23, 2010 3:51 pm

Ok, je vais essayer de faire comme ça et je te redis des nouvelles. J'ai également téléchargé ton tuto pour tout avoir sous la main.
A+

Avatar de l’utilisateur
Donovan-88
Level 6
Level 6
 
Messages: 362
Localisation: Saint-dié des Vosges (88) France
Âge: 31 ans

Messagepar Donovan-88 » Jeu Juin 24, 2010 3:03 pm

Salut, donc j'ai essayer de faire le programme pour choisir les lettres que l'on veut écrire mais je bloque sur la 3ème lettre :
J'arrive a choisir soit le "A" soit le "B" mais le "C", je n'y arrive pas.
Peut-tu jeter un petit coup d'œil sur mon programme pour me dire où intégrer le "C" :
Imprimante.rbt
Merci.
A+

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

Messagepar roboleo » Dim Juin 27, 2010 3:18 pm

@ Donovan,
Ton travail me paraît un peu touffu. J'ai préféré tout reprendre à partir de l'exemple cité.
Voici à quoi ressemble le programme.

Image

Je l'ai écrit intégralement sans faire appel aux Monblocs afin que l'on puisse tout avoir sous les yeux.
Bien entendu, il est possible de le simplifier compte tenu des répétitions qu'il contient.
Je vous propose donc de faire ce travail en guise d'exercice en créant les Monblocs correspondants. J'attire votre attention sur les blocs 'commutateur' à choix multiples à examiner avec soin.

Pour le télécharger:
http://files.me.com/roboleo/wq3q5c ;)
A+
Roboleo
" Je ne cherche pas, je trouve…" P. Picasso

Avatar de l’utilisateur
Donovan-88
Level 6
Level 6
 
Messages: 362
Localisation: Saint-dié des Vosges (88) France
Âge: 31 ans

Messagepar Donovan-88 » Lun Juin 28, 2010 10:08 am

Après avoir faire mon programme touffu :D , j'ai recommencé et je suis parvenu à réaliser un programme similaire au tien sur lequel je peux choisir toute les lettres de l'alphabet ainsi qu'un espace.
Le programme demande ensuite si on veut choisir une seconde lettre. Si la réponse est Oui, on choisit alors la deuxième lettre. Et à la fin, le robot affiche les lettres choisies.
Maintenant, il ne me reste plus qu'à programmer les moteurs pour pouvoir faire chaque lettre.
Voici le lien de téléchargement de mon nouveau programme :
Imprimante2.rbt + un bloc MonBloc pour l'alphabet
A+

NeuroMimetis
Level 10
Level 10
 
Messages: 1574
collectionneur

Messagepar NeuroMimetis » Lun Juin 28, 2010 10:26 am

[HS]Décidemment, le NXT-G n'est vraiment pas lisible. Roboleo, rien à voir avec ta "façon de programmer" :D c'est le langage lui même qui pose problème. En l'absence de commentaires, il est presque impossible de décoder.
[/HS]

Donovan, je te souhaite donc bien du plaisir pour la représentation vectorielle des caractères et le pilotage correspondant des moteurs, le tout en NXT-G, bien sûr :/

neuro

Avatar de l’utilisateur
Donovan-88
Level 6
Level 6
 
Messages: 362
Localisation: Saint-dié des Vosges (88) France
Âge: 31 ans

Messagepar Donovan-88 » Lun Juin 28, 2010 10:33 am

NeuroMimetis a écrit:Donovan, je te souhaite donc bien du plaisir pour la représentation vectorielle des caractères et le pilotage correspondant des moteurs, le tout en NXT-G, bien sûr :/

neuro


Je vais m'amuser la :lol: . Mais je pense faire des lettres carrées, c'est plus simple.

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

Messagepar roboleo » Lun Juin 28, 2010 12:02 pm

Tout à fait d'accord pour les lettres "carrée"…
Au fait Donovan, quelle version NXT-G utilises-tu? Vers 1.1 ou Vers 2.0?
Je vais examiner ton programme. ;)
A+
Roboleo
" Je ne cherche pas, je trouve…" P. Picasso

Avatar de l’utilisateur
Maxime
Level 5
Level 5
 
Messages: 198
Localisation: Rimouski,Québec,Canada
Âge: 31 ans

Messagepar Maxime » Lun Juin 28, 2010 5:56 pm

Dessiner des lettres avec un nxt et un crayon qui bouge en x,y,z c'est très faisable la preuve je l'ai fait pour un concours de robotique. Je l'ai programmé en nxt-g 1.1 et sa ses passé très bien. Voici ma feuille de calcul (les chiffres sont des dégrée) http://picasaweb.google.ca/bazmati/Zone ... 6283334050 (ps: je met un lien car la photos est en 1600x1200 et c'est pas moi qui la prise) et ici deux petit vidéo http://picasaweb.google.ca/bazmati/Zone ... 9429214498 et http://picasaweb.google.ca/bazmati/Zone ... 2023194002


Retourner vers Vos MOCs Technic

Qui est en ligne ?

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