Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| robotique et Panoramic | |
|
+5Jicehel Yannick Mumu Klaus mindstorm 9 participants | |
Auteur | Message |
---|
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: robotique et Panoramic Mer 20 Mar 2013 - 0:48 | |
| Mindstorm, je t'ais fait rapidement un version remaniée de ton programme. Ca donne ça: - Code:
-
' Simulation de sortie com parallele ' par Mindstorm et Jicehel ' version 1.0 du 20/03/2013
' Déclarations dim s%(8), OUT888%, tmp% : OUT888%=0 label sortie, convbinaire
' Préparation des objets for tmp% = 1 to 8 picture tmp% : left tmp%,40*tmp%-25 : top tmp%,170 button 10+tmp% : left 10 +tmp%,40*tmp%-30 : top 10 + tmp%,100 height 10+tmp%,30 : width 10+tmp%,30 : caption 10 + tmp%, chr$(64+tmp%) on_click 10+tmp%,sortie s%(tmp%) = 0 : file_load tmp%,"off.bmp" print_locate 40*tmp%-20,70 : print s%(tmp%) next tmp%
button 100 : top 100,300 : left 100,50 : caption 100,DONC : on_click 100,convbinaire print_locate 200,20 : print "Allume les lampes que tu souhaite" print_locate 200,280 : print "click pour voir le code" end
' Sous programme permettant de basculer l'état de la sortie sur laquelle on a cliqué sortie: if number_click > 9 and number_click < 19 tmp% = number_click - 10 : s%(tmp%) = odd(s%(tmp%)+1) print_locate 40*tmp%-20,70 : print s%(tmp%) if s%(tmp%)=1 then file_load tmp%,"on.bmp" : else: file_load tmp%,"off.bmp" end_if return
' Convertion en valeur décimale de l'état des 8 sorties convbinaire: out888% = 0 for tmp% = 1 to 8 : out888% = out888% + s%(tmp%)*power(2,tmp%-1) : next tmp% print_locate 150,300 : print "la commande sera: PARALLEL_OUT 888,"+str$( out888% )+" " return L'affichage n'est pas encore parfait et je l'ais laissé exprès pour voir si tu as compris afin de remplacer les locate et les print par des ALPHA que tu peux paramétrer comme des pictures (LEFT, TOP, ...) Tu verras c'est plus pratique et le résultat est plus propre. | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: robotique et Panoramic Mer 20 Mar 2013 - 12:01 | |
| Salut tout le monde. @Mindstorm et Jicehel J’ai testé le code et c’est bien. Voici mes sempiternels mais : 1) Les boutons ( BUTTON) cliquables ont des numéros qui vont de 11 à 18. Ils sont définis à partir de : ' Préparation des objets. Alors pourquoi, dans le sous-programmes sortie,cette ligne : - Code:
-
if number_click > 9 and number_click < 19 et le end_if qui va avec ? Ne sont-ils pas nécessairement dans cette plage ? Donc ces 2 lignes sont superflues et peuvent être omises sans regret. 2) Pour l’affichage du code. Si j’allume la lampe A, le code est 1 Si j’allume la lampe H, le code est 128 Je vois que dans A B C D E F G H, tu considères A comme bit de poids faible (Least Significant Bit LSB) et H comme bit de poids fort (Most Significant Bit MSB).Or ce point de vue n’est pas correct (à mon avis) et c’est plutôt l’inverse qu’il faut considérer. Mais ce n’est que mon point de vue et je ne l’impose pas ! Donc, dans le sous-programme ConvBinaire :, modifier comme ceci : - Code:
-
for tmp% = 1 to 8: out888% = out888% + s%(9-tmp%)*power(2,tmp%-1) : next tmp% A+ | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: robotique et Panoramic Mer 20 Mar 2013 - 13:26 | |
| @Papydall Tu vois clair, comme d'habitude... @tous intéressant ce petit programme, il faudrait que je me trouve un vieux PC pour m'amuser à gérer des Leds. A+ | |
| | | mindstorm
Nombre de messages : 685 Age : 55 Localisation : charente Date d'inscription : 13/02/2013
| Sujet: Re: robotique et Panoramic Mer 20 Mar 2013 - 13:58 | |
| Bonjour a tous je n ai pas asse de memoire vive pour vous suivre a se rythme cela dit j apprecis beaucoup vos remarques. Heureusement j ai encore quelques idees et se soir je vous fait une nouvelle vertion mindstorm | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| | | | mindstorm
Nombre de messages : 685 Age : 55 Localisation : charente Date d'inscription : 13/02/2013
| Sujet: Re: robotique et Panoramic Mer 20 Mar 2013 - 21:18 | |
| merci a tous je trouve particulierement utile le chr$ et les automatisations de creation de picture, button etc je vais tenté de l'utilisé il reste que l'on perds en lisibilité pour les debutants @ papydall attention les 0 et 1 ne sont pas là par hazard il faut donc inverser les lettres des buttons, toujour pour la lisibilité je tente la chose a bientôt a tous | |
| | | mindstorm
Nombre de messages : 685 Age : 55 Localisation : charente Date d'inscription : 13/02/2013
| Sujet: Re: robotique et Panoramic Jeu 21 Mar 2013 - 19:40 | |
| bonsoir a tous voici la dernière version malheureusement sans alpha et surement avec quelques lourdeurs pour me faire pardonner j'ai rajouté un affichage - Code:
-
' Simulation de sortie com parallele ' par Mindstorm , Jicehel et papydall ' version 1.1 du 21/03/2013
' Déclarations dim s%(8), OUT888%, tmp% ,aff% label sortie, convbinaire,raz
' Préparation des objets for tmp% = 1 to 8 picture tmp% : left tmp%,40*tmp%+85 : top tmp%,100 :file_load tmp%,"off.bmp" on_click tmp%,sortie s%(tmp%) = 0 print_locate 40*tmp%+90,70 : print s%(tmp%) next tmp%
picture 11 :width 11,30 :height 11,5 :top 11,250 :left 11,350 picture 12 :width 12,5 :height 12,30 :top 12,220 :left 12,380 picture 13 :width 13,5 :height 13,30 :top 13,185 :left 13,380 picture 14 :width 14,30 :height 14,5 :top 14,215 :left 14,350 picture 15 :width 15,5 :height 15,30 :top 15,185 :left 15,345 picture 16 :width 16,5 :height 16,30 :top 16,220 :left 16,345 picture 17 :width 17,30 :height 17,5 :top 17,180 :left 17,350 file_load 11,"hOFF.bmp" file_load 12,"VOFF.bmp" file_load 13,"VOFF.bmp" file_load 14,"hOFF.bmp" file_load 15,"VOFF.bmp" file_load 16,"VOFF.bmp" file_load 17,"hOFF.bmp" print_locate 50,200 : print "exemple d'application"
button 100 : top 100,300 : left 100,50 : caption 100,DONC : on_click 100,convbinaire print_locate 60,20 : print "Click sur les lampes dont tu souhaite changer l'etat" print_locate 200,280 : print "click pour voir le code"
button 101 : top 101,350 : left 101,50 :caption 101,RAZ: on_click 101,raz end
' Sous programme permettant de basculer l'état de la sortie sur laquelle on a cliqué sortie:
tmp% = number_click : s%(tmp%) = odd(s%(tmp%)+1) print_locate 40*tmp%+90,70 : print s%(tmp%) if s%(tmp%)=1 then file_load tmp%,"on.bmp" : else: file_load tmp%,"off.bmp"
aff%= number_click +10 if aff%=11 then file_load 11,"h.bmp" if aff%=12 then file_load 12,"V.bmp" if aff%=13 then file_load 13,"V.bmp" if aff%=14 then file_load 14,"h.bmp" if aff%=15 then file_load 15,"V.bmp" if aff%=16 then file_load 16,"V.bmp" if aff%=17 then file_load 17,"h.bmp"
return
' Convertion en valeur décimale de l'état des 8 sorties convbinaire:
out888% = 0 for tmp% = 1 to 8: out888% = out888% + s%(9-tmp%)*power(2,tmp%-1) : next tmp% print_locate 150,300 : print "la commande sera: PARALLEL_OUT 888,"+str$( out888% )
return
' remise a zero general raz: file_load 11,"hOFF.bmp" file_load 12,"VOFF.bmp" file_load 13,"VOFF.bmp" file_load 14,"hOFF.bmp" file_load 15,"VOFF.bmp" file_load 16,"VOFF.bmp" file_load 17,"hOFF.bmp" for tmp% = 1 to 8 file_load tmp%,"off.bmp" s%(tmp%) = 0 print_locate 40*tmp%+90,70 : print s%(tmp%) next tmp% print_locate 150,300 : print "la commande sera: PARALLEL_OUT 888,0 "
return
maintenant les images: bonsoir a tous Mindstrorm | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: robotique et Panoramic Jeu 21 Mar 2013 - 20:36 | |
| Je suis allé voir sur ton webdev et j'ai lancé l'exécutable, çà me rappelle les premières calculatrices. Ce qui serait bien, ce serait que tu déposes les images et les sources.bas (le tout dans un dossier) sur ton webdev, pour que l'on puisse faire des test avec l'éditeur Panoramic. Je vois que tu as été voir le sujet créate-object , je pense que tu ne devrais pas trop t'y attarder. Ne t'inquiète pas, je ne t'interdit rien. Simplement la création assistée d'objets a ses avantages, mais elle a aussi ses inconvénient. Je m'explique: pour quelqu'un qui découvre comme toi Panoramic (et tu promets) il est, à mon avis, préférable de créer tes objets avec les mots-clé Panoramic (ce que tu fais actuellement) pour que tu te familiarises bien avec le langage. Bien sur c'est bien de tester les codes des autres, c'est là qu'on découvre des bonnes combines. Mais là j'arrête, je suis pas dans ton sujet. A+ | |
| | | mindstorm
Nombre de messages : 685 Age : 55 Localisation : charente Date d'inscription : 13/02/2013
| Sujet: Re: robotique et Panoramic Jeu 21 Mar 2013 - 21:26 | |
| bonsoir jean claude merci pour ton conseil, je croyais que le code dans le message etait exploitable. je viens de mettre a jour mon webdav avec un fichier .ZIP pour la presentation URSS il est vrai qu'en robotique l'efficacité du robot prime sur l'interface.Il faudra que je regarde se que vous faite ! encore merci mindstorm | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: robotique et Panoramic Jeu 21 Mar 2013 - 22:49 | |
| Mindstorm, j'avais des petits problèmes d'affichage et quelques fautes. Je te mets une version de ton programme modifié (Les segments s'allument et s'éteignent, la valeur à envoyer s'affiche correctement, ...) - Code:
-
' Simulation de sortie com parallele ' par Mindstorm , Jicehel et papydall ' version 1.1 du 21/03/2013
' Déclarations dim s%(8), OUT888%, tmp% ,aff% label sortie, convbinaire,raz caption 0,"Simulation de sortie com parallele - version 1.2 par Mindstorm"
' Préparation des objets for tmp% = 1 to 8 picture tmp% : left tmp%,40*tmp%+85 : top tmp%,100 :file_load tmp%,"off.bmp" if tmp% < 8 picture 10+tmp% if tmp%=1 or tmp%=4 or tmp%=7 width 10+tmp%,30 :height 10+tmp%,5 : left 10+tmp%,350 top 10+tmp%, 250-int(tmp%/3)*35 : file_load 10+tmp%,"hOFF.bmp" else width 10+tmp%,5 : height 10+tmp%,30 : file_load 10+tmp%,"VOFF.bmp" if tmp% = 2 then top 12,220 :left 12,380 if tmp% = 3 then top 13,185 :left 13,380 if tmp% = 5 then top 15,185 :left 15,345 if tmp% = 6 then top 16,220 :left 16,345 end_if end_if on_click tmp%,sortie s%(tmp%) = 0 print_locate 40*tmp%+90,70 : print s%(tmp%) next tmp%
button 100 : top 100,300 : left 100,50 : caption 100,DONC : on_click 100,convbinaire print_locate 60,30 : print "Cliques sur les lampes dont tu souhaites changer l'état" print_locate 150,280 : print "Cliques pour voir le code à envoyer sur le port parallèle"
button 101 : top 101,350 : left 101,50 :caption 101,RAZ: on_click 101,raz end
' Sous programme permettant de basculer l'état de la sortie sur laquelle on a cliqué sortie:
tmp% = number_click : s%(tmp%) = odd(s%(tmp%)+1) print_locate 40*tmp%+90,70 : print s%(tmp%) if s%(tmp%)=1 then file_load tmp%,"on.bmp" : else: file_load tmp%,"off.bmp"
if tmp% < 8 aff%= tmp% +10 if (aff%=11 or aff%=14 or aff%=17) if s%(tmp%) = 1 then file_load aff%,"h.bmp":else:file_load aff%,"hOFF.bmp" else if s%(tmp%) = 1 then file_load aff%,"V.bmp":else:file_load aff%,"vOFF.bmp" end_if end_if return
' Convertion en valeur décimale de l'état des 8 sorties convbinaire:
out888% = 0 for tmp% = 1 to 8: out888% = out888% + s%(9-tmp%)*power(2,tmp%-1) : next tmp% print_locate 150,300 : print "La commande sera: PARALLEL_OUT 888,"+str$( out888% )+" "
return
' remise a zero general raz: file_load 11,"hOFF.bmp" file_load 12,"VOFF.bmp" file_load 13,"VOFF.bmp" file_load 14,"hOFF.bmp" file_load 15,"VOFF.bmp" file_load 16,"VOFF.bmp" file_load 17,"hOFF.bmp" for tmp% = 1 to 8 file_load tmp%,"off.bmp" s%(tmp%) = 0 print_locate 40*tmp%+90,70 : print s%(tmp%) next tmp% print_locate 150,300 : print "la commande sera: PARALLEL_OUT 888,0 "
return | |
| | | mindstorm
Nombre de messages : 685 Age : 55 Localisation : charente Date d'inscription : 13/02/2013
| Sujet: Re: robotique et Panoramic Jeu 21 Mar 2013 - 23:21 | |
| bonsoir jicehel chapeau je ne pensais pas pouvoir compacter a se point, j'ai perdu beaucoup de temps sur la RAZ avec un resultat moyen moyen. je me suis permis d'appliquer la methode papydall et j'ai suprimer un if end_if a ta modif. je profite de ces ligne pour demander si quelqu un comprend pourquoi il y a une zone vers 0,0 ou tout s'efface au lancement du programme (c'est pour cela que j'ai tout decalé vers la droite) encore merci mindstorm | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: robotique et Panoramic Jeu 21 Mar 2013 - 23:33 | |
| oui, c'est là que ce créaient les objets Comme tu utilise des print, le contenu est effacé. Le print est éphémère contrairement aux alphas. Bon je ne t'ai pas mis les alpha dans le source pour que tu apprennes à t'en servir, mais c'est super simple, tu verras | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: robotique et Panoramic Jeu 21 Mar 2013 - 23:34 | |
| Sans rentrer dans le détail de ton programme, je peux cependant t'expliquer ceci: Tu fais des PRINT dans la FORM 0, pour afficher des informations. A priori, cela semble le plus simple, et quand on vient d'un Basic classique, cela paraît évidemment la technque à utiliser. Mais c'est différent avec Panoramic ! Les commandes PRINT, PRINT_LOCATE etc sont déconseillées sur la form 0. Pourquoi ? Parce que le résultat n'est pas "persistant" ! Essaie de placer par exemple un bloc-notes, ou un explorateur internet, par-dessus ta form 0, puis fais disparaître ce programme à nouveau. Resultat: absolument tout ce que tu as affiché par PRINT sur la form 0, a disparu ! Pour afficher des informations sur la form 0, il faut utiliser les objets de Panoramic: ALPHA, EDIT, MEMO etc. Tu peux aussi placer un PICTURE sur la form 0, faire PRINT_TARGET_IS avec le numéro du picture, et placer tes PRINT ainsi dans le picture. Là, c'est persistant ! Plus de problème d'effacement, même en position (0,0) si tu places le picture à cet endroit. Fais simplement - Code:
-
PICTURE 123 FULL_SPACE 123 PRINT_TARGET_IS 123 en début de ton programme, et le problème sera résolu. Encore un petit mot sur l'effacement partiel en (0,0): chaque objet que tu crées, se crée automatiquement en (0,0) et efface ainsi automatiquement ce que tu as imprimé à cet endroit. Ensuite, tu choisis TOP et LEFT de cet objet ce qui le déplace, mais le mal est déjà fait... Lis les tutos sur Panoramic et le guide d'utilisateur. Il y a plein d'infos utiles. | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: robotique et Panoramic Ven 22 Mar 2013 - 1:09 | |
| Salut Mindstorm Bon, moi aussi, j’apporte mon grain de sel. J’ai ajouté un bouton QUITTER et le sous-programme qui va avec. Aussi pour le texte du caption, je préfère mettre le texte entre guillemets bien qu’il n’y ait pas d’erreur si on l’écrit sans guillemets. Simple question d’habitude mais aussi de logique puisqu’il s’agit bel et bien d’une chaîne de caractères. Enfin, l’instruction RETURN du sous-programme QUIT n’est pas indispensable et peut être omise puisque le programme n’arrive jamais à cette instruction : TERMINATE l’en empêche. Mais moi, je la code toujours pour respecter la syntaxe d’un sous-programme. - Code:
-
' Simulation de sortie com parallele ' par Mindstorm , Jicehel et papydall ' version 1.1 du 21/03/2013
' Déclarations dim s%(8), OUT888%, tmp% ,aff% label sortie, convbinaire,raz ,quit caption 0,"Simulation de sortie com parallele - version 1.2 par Mindstorm"
' Préparation des objets for tmp% = 1 to 8 picture tmp% : left tmp%,40*tmp%+85 : top tmp%,100 : file_load tmp%,"off.bmp" if tmp% < 8 picture 10+tmp% if tmp%=1 or tmp%=4 or tmp%=7 width 10+tmp%,30 :height 10+tmp%,5 : left 10+tmp%,350 top 10+tmp%, 250-int(tmp%/3)*35 : file_load 10+tmp%,"hOFF.bmp" else width 10+tmp%,5 : height 10+tmp%,30 : file_load 10+tmp%,"VOFF.bmp" if tmp% = 2 then top 12,220 :left 12,380 if tmp% = 3 then top 13,185 :left 13,380 if tmp% = 5 then top 15,185 :left 15,345 if tmp% = 6 then top 16,220 :left 16,345 end_if end_if on_click tmp%,sortie s%(tmp%) = 0 print_locate 40*tmp%+90,70 : print s%(tmp%) next tmp%
button 100 : top 100,300 : left 100,50 : caption 100,"DONC" : on_click 100,convbinaire print_locate 60,30 : print "Cliques sur les lampes dont tu souhaites changer l'état" print_locate 150,280 : print "Cliques pour voir le code à envoyer sur le port parallèle"
button 101 : top 101,350 : left 101,50 :caption 101,"RAZ": on_click 101,raz button 102 : top 102,400 : left 102,50 : caption 102,"QUITTER" : on_click 102,quit end ' ============================================================================== ' Sous programme permettant de basculer l'état de la sortie sur laquelle on a cliqué sortie:
tmp% = number_click : s%(tmp%) = odd(s%(tmp%)+1) print_locate 40*tmp%+90,70 : print s%(tmp%) if s%(tmp%)=1 then file_load tmp%,"on.bmp" : else: file_load tmp%,"off.bmp"
if tmp% < 8 aff%= tmp% +10 if (aff%=11 or aff%=14 or aff%=17) if s%(tmp%) = 1 then file_load aff%,"h.bmp":else:file_load aff%,"hOFF.bmp" else if s%(tmp%) = 1 then file_load aff%,"V.bmp":else:file_load aff%,"vOFF.bmp" end_if end_if return ' ============================================================================== ' Convertion en valeur décimale de l'état des 8 sorties convbinaire:
out888% = 0 for tmp% = 1 to 8: out888% = out888% + s%(9-tmp%)*power(2,tmp%-1) : next tmp% print_locate 150,300 : print "La commande sera: PARALLEL_OUT 888,"+str$( out888% )+" "
return ' ============================================================================== ' remise à zéro général raz: file_load 11,"hOFF.bmp" file_load 12,"VOFF.bmp" file_load 13,"VOFF.bmp" file_load 14,"hOFF.bmp" file_load 15,"VOFF.bmp" file_load 16,"VOFF.bmp" file_load 17,"hOFF.bmp" for tmp% = 1 to 8 file_load tmp%,"off.bmp" s%(tmp%) = 0 print_locate 40*tmp%+90,70 : print s%(tmp%) next tmp% print_locate 150,300 : print "la commande sera: PARALLEL_OUT 888,0 "
return ' ============================================================================== quit: terminate return : ' Cette instruction peut être omise car le programme n'y arrive jamais ! ' ==============================================================================
| |
| | | mindstorm
Nombre de messages : 685 Age : 55 Localisation : charente Date d'inscription : 13/02/2013
| Sujet: Re: robotique et Panoramic Ven 22 Mar 2013 - 21:56 | |
| bonsoir a tous veuillez m'excuser pour les prints , j'avais mis la prioritée sur l'afficheur et la remise a zero. maintenant que le mini programme marche je vais le mettre au propre. a se sujet, il y a une action si l'on click sur un digit et je séche depuis deux jours.A la lecture du programme, il me semble que c'est impossible tmp%<10 et picture >10 bizard je vous dit! | |
| | | mindstorm
Nombre de messages : 685 Age : 55 Localisation : charente Date d'inscription : 13/02/2013
| Sujet: Re: robotique et Panoramic Mer 27 Mar 2013 - 22:11 | |
| bonjour a tous je pense avoir compris la notion de programme orienté objet grace aux ALPHA (merci jicehel) je remercie egalement papydall, klaus,jean claude et tout ceux de qui je me suis inspiré nous allons , maintenant, tenter de faire bouger automatiquement un robot dans un air de jeu | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: robotique et Panoramic Mer 27 Mar 2013 - 22:24 | |
| La programmation objet c'est autre chose encore. Désolé. La programmation objet peut être implémentée en Panoramic, mais pas simplement contrairement à la programmation évènementielle pour laquelle Panoramic est parfaitement adapté (comme le Visual Basic), mais je laisse de théoriciens expliquer mieux les choses avec de belles définitions | |
| | | jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: robotique et Panoramic Jeu 28 Mar 2013 - 9:07 | |
| - Jicehel a écrit:
- La programmation objet peut être implémentée en Panoramic
Peux-tu nous expliquer comment ? Parce que sans définitions de types, sans vraies procédures et fonctions, je ne vois pas ... Peut-être que ce sera possible lorsque Panoramic sera intégré à FreeBASIC, mais pour le moment ... ??? | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: robotique et Panoramic Jeu 28 Mar 2013 - 9:25 | |
| Exactement Jean Debord, c'est ce que j'ai essayé de dire : pas simplement. Il faut tout définir à la main. Il faut utiliser des procédures liées aux objets, se faire des évènements, etc ... je n'étais pas rentré dans le détail pour ne pas compliquer ma remarque qui était surtout pour signaler à mindstorm que ce n'était pas de la programmation objet. Il ne faut pas confondre programmer en utilisant des objets et de la programmation évènementielle avec la programmation objet qui je pense ne serait réellement réalisable que par l'appel de DLL en réalité d'où mon "réalisable mais pas simplement" qui est je te l'accorde peut être un peu trop vague, mais c'est surtout par ce que je n'ai pas réellement réfléchi à la possibilité de le faire qui me parait de toute façon trop complexe. Pour le moment, clairement, une personne qui a l'intention de faire de la programmation objet à intérêt à choisir un autre langage. Ce n'est pas, je pense un objectif pour Panoramic (et on peut se passer de programmation objet pour énormément d'applications, c'est une méthode de travail qui demande une gymnastique intellectuelle particulière) | |
| | | jean_debord
Nombre de messages : 1266 Age : 70 Localisation : Limoges Date d'inscription : 21/09/2008
| Sujet: Re: robotique et Panoramic Jeu 28 Mar 2013 - 9:59 | |
| Merci pour ta réponse Jicehel. - Jicehel a écrit:
- Ce n'est pas, je pense un objectif pour Panoramic (et on peut se passer de programmation objet pour énormément d'applications, c'est une méthode de travail qui demande une gymnastique intellectuelle particulière)
Je suis entièrement d'acord avec toi. Il vaut mieux que Panoramic reste un langage simple. L'intégration avec FreeBASIC, prévue dans le cadre du nouveau compilateur, donnerait accès à la programmation objet, mais on peut s'en dispenser. De toute manière c'est à Jack d'en décider. | |
| | | mindstorm
Nombre de messages : 685 Age : 55 Localisation : charente Date d'inscription : 13/02/2013
| Sujet: ENFIN UN ROBOT (PRESQUE) Mar 2 Avr 2013 - 19:23 | |
| Bonsoir a tous je viens de poster l'ebauche de mon robot merci a JMIX78 pour ces fichiers 3DS. j'aurais besoin d'un axe de travaille pour l'architecture de mon programme qui vas devenir trop gros pour ma methode (simple is perfect). pour l'instant il n'est pas du tout robotisé, mais je souhaite faire des modules a juxtaposer pour obtenir un mini programme de robot et a terme plusieurs robots simultanés. rien de sorcier mais il me faudrai un peut de methode. si vous voulez le faire bouger ,j'ai repris les commande d'une vrai pelle. bon pour ceux qui ne savent pas : enter pour marche tygh pour l'avancement (je vous laisse decouvrir qu'il s'agit de trains de chaines) qd,es,km,ol pour le bras le balancier le godet et la tourelle haut bas pour la lame sur le clavier c'est tres simple merci d'avance pour les conseils mindstorm | |
| | | mindstorm
Nombre de messages : 685 Age : 55 Localisation : charente Date d'inscription : 13/02/2013
| Sujet: Re: robotique et Panoramic Mar 2 Avr 2013 - 23:24 | |
| bonsoir a tous je progresse mais cela ne vas pas - Code:
-
dim touche_d,touche_e,touche_g,touche_h,touche_k,touche_l,touche_m,touche_o,touche_q,touche_s,touche_t,touche_y, dim touche_echap,touche_retour,touche_enter,touche_espace,touche_haut,touche_bas dim x2,x6,z2,z6,yr6 dim moteur, son2 ,son7 ,ok
label manuel , vue ,auto,affiche,quit,raz,prog label bibliotheque_touche_1 , bibliotheque_touche_2
moteur=0 : ok=0
form 200 caption 200,"poste de commande" command_target_is 200 button 100 : top 100,50 : left 100,10 : caption 100,"mode manuel" : on_click 100,affiche button 101 : top 101,5 : left 101,10 :caption 101,"mode programmation": on_click 101,prog button 102 : top 102,100 : left 102,10 : caption 102,"QUITTER" : on_click 102,quit
command_target_is 0
end
affiche: on_key_down 0,bibliotheque_touche_1 on_key_up 0,bibliotheque_touche_2
scene3d 99 full_space 0 : full_space 99 : border_hide 0 color 99,0,0,200
3D_SKYBOX 3 3D_LOAD_TEXTURE_TOP 3,"skybox_top.jpg" 3D_LOAD_TEXTURE_LEFT 3,"bskybox_left.jpg" 3D_LOAD_TEXTURE_BACK 3,"bskybox_back.jpg" 3D_LOAD_TEXTURE_FRONT 3,"bskybox_front.jpg" 3D_LOAD_TEXTURE_RIGHT 3,"bskybox_right.jpg"
fog_on fog_distance_min 5 fog_distance_max 700 fog_color 219,243,165
3d_plane 4 3d_scale 4,50,50,50 3d_x_rotate 4,90 3d_y_position 4,0 3d_load_texture 4,"herbe2.JPG" 3d_u_tile 4,400 3d_v_tile 4,400
3d_plane 14 3d_scale 14,5,5,1 3d_x_rotate 14,90 3d_y_position 14,0.02 3d_load_texture 14,"herbe1.JPG"
3d_mesh 5 3d_load_object 5,"chaine.3ds" 3d_color 5,133,107,34
3d_mesh 6 3d_load_object 6,"chassi.3ds" 3d_chain 6,5 3d_color 6,250,150,0
3d_mesh 7 3d_load_object 7,"vitre.3ds" 3d_chain 7,6 3d_color 7,76,98,112
3d_mesh 8 3d_load_object 8,"bras1.3ds" 3d_chain 8,7 3d_color 8,250,150,0 3d_position 8,0,1.2,1.3
3d_mesh 9 3d_load_object 9,"bras2.3ds" 3d_chain 9,8 3d_color 9,250,150,0 3d_position 9,0,1.7,2
3d_mesh 10 3d_load_object 10,"godet.3ds" 3d_chain 10,9 3d_color 10,86,76,47 3d_position 10,0,-1.1,0.9
3d_mesh 11 3d_load_object 11,"lame.3ds" 3d_chain 11,5 3d_color 11,86,76,47 3d_position 11,0,0.5,1
3d_position 5,0,0,3 3d_y_rotate 5,140
3d_cube 1,1:3d_position 1,35,6,0 3d_cube 2,2 :3d_position 2,-20,0,0
light_position -99,90,130 gosub vue
sound 2 : file_load 2,"moteur.wav" sound 7 : file_load 7,"klaxon.wav"
timer 1 : timer_interval 1,1 : on_timer 1,manuel
return
manuel: if touche_enter = 1 if ok = 0 if moteur=0 moteur=1 else moteur=0 delete 2 sound 2 : file_load 2,"moteur.wav" end_if end_if ok=1 else ok=0 end_if
if moteur=1 play 2 if touche_t+ touche_y=2 then 3d_move 5,0.03 if touche_g=1 and touche_h=1 then 3d_move 5,(-0.03) if touche_t=1 then 3d_y_rotate 5,o3d_y_rotate(5)-0.4 if touche_h=1 then 3d_y_rotate 5,o3d_y_rotate(5)-0.4 if touche_y=1 then 3d_y_rotate 5,o3d_y_rotate(5)+0.4 if touche_g=1 then 3d_y_rotate 5,o3d_y_rotate(5)+0.4 if touche_q = 1 then 3d_y_rotate 6,o3d_y_rotate(6)+0.5 if touche_d = 1 then 3d_y_rotate 6,o3d_y_rotate(6)-0.5 if touche_e = 1 and o3d_x_rotate(9) < 80 then 3d_x_rotate 9,o3d_x_rotate(9)+0.7 if touche_s = 1 and o3d_x_rotate(9) > -35 then 3d_x_rotate 9,o3d_x_rotate(9)-0.7 if touche_l = 1 and o3d_x_rotate(8) > -70 then 3d_x_rotate 8,o3d_x_rotate(8)-0.3 if touche_o = 1 and o3d_x_rotate(8) < 32 then 3d_x_rotate 8,o3d_x_rotate(8)+0.3 if touche_k = 1 and o3d_x_rotate(10) > -120 then 3d_x_rotate 10,o3d_x_rotate(10)-0.7 if touche_m = 1 and o3d_x_rotate(10) < 80 then 3d_x_rotate 10,o3d_x_rotate(10)+0.7 if touche_bas = 1 and o3d_x_rotate(11) > -5 then 3d_x_rotate 11,o3d_x_rotate(11)-0.13 if touche_haut = 1 and o3d_x_rotate(11) < 8 then 3d_x_rotate 11,o3d_x_rotate(11)+0.13 end_if
if touche_espace = 1 play 7 end_if touche_espace = 0
if touche_echap = 1 TIMER_OFF_ALL delete 2 delete 7 3d_chain_break 6,5 3d_chain_break 7,6 3d_chain_break 8,7 3d_chain_break 9,8 3d_chain_break 10,9 3d_chain_break 11,5 terminate end_if
gosub vue return
auto:
return
vue: cam_position o3d_x_position(1),o3d_y_position(1),o3d_z_position(1) point_position o3d_x_position(2),o3d_y_position(2),o3d_z_position(2) return
bibliotheque_touche_1: if key_down_code = 68 then touche_d=1 if key_down_code = 69 then touche_e=1 if key_down_code = 71 then touche_g=1 if key_down_code = 72 then touche_h=1 if key_down_code = 75 then touche_k=1 if key_down_code = 76 then touche_l=1 if key_down_code = 77 then touche_m=1 if key_down_code = 79 then touche_o=1 if key_down_code = 81 then touche_q=1 if key_down_code = 83 then touche_s=1 if key_down_code = 84 then touche_t=1 if key_down_code = 89 then touche_y=1 if key_down_code = 27 then touche_echap=1 if key_down_code = 8 then touche_retour=1 if key_down_code = 13 then touche_enter=1 if key_down_code = 32 then touche_espace=1 if key_down_code = 38 then touche_haut=1 if key_down_code = 40 then touche_bas=1 return
bibliotheque_touche_2: if key_up_code = 68 then touche_d=0 if key_up_code = 69 then touche_e=0 if key_up_code = 71 then touche_g=0 if key_up_code = 72 then touche_h=0 if key_up_code = 75 then touche_k=0 if key_up_code = 76 then touche_l=0 if key_up_code = 77 then touche_m=0 if key_up_code = 79 then touche_o=0 if key_up_code = 81 then touche_q=0 if key_up_code = 83 then touche_s=0 if key_up_code = 84 then touche_t=0 if key_up_code = 89 then touche_y=0 if key_up_code = 27 then touche_echap=0 if key_up_code = 8 then touche_retour=0 if key_up_code = 13 then touche_enter=0 if key_up_code = 38 then touche_haut=0 if key_up_code = 40 then touche_bas=0 return
quit: terminate return
raz: return prog: return
c'est en forgeant que l'on devient forgerons mindstorm | |
| | | Invité Invité
| Sujet: Re: robotique et Panoramic Mar 2 Avr 2013 - 23:48 | |
| - Citation :
- je viens de poster l'ebauche de mon robot merci a JMIX78 pour ces fichiers 3DS.
j'aurais besoin d'un axe de travaille pour l'architecture de mon programme qui vas devenir trop gros pour ma methode (simple is perfect). Ca veux dire quoi. Pouvoir découper ton programme, en quelque chose de plus lisible? Ou c'est sur la conception du code? |
| | | mindstorm
Nombre de messages : 685 Age : 55 Localisation : charente Date d'inscription : 13/02/2013
| Sujet: Re: robotique et Panoramic Mer 3 Avr 2013 - 12:20 | |
| Bonjour a tous merci cosmos 70 C est la conception du code qui m inquiete surtout pour l evolutivitee deja j ai un soucis de timer qui marche en manuel mais en auto il vas falloir surement faire mieux, peut etre for i=1 to... Je n arrive pas encore a refaire apparaitre la fenetre de depar... C est comme cela qu on apprends mindstorm | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mer 3 Avr 2013 - 12:57 | |
| Si ton programme est long, très long, voir très très long.... je te suggère de te servir du mode include et de découper ton programme en modules.
1 Main 2 Initialisations 3 Interface 4 Menus ( Menu clic, Menu double clic, Menu Change ) 5, 6, 7,....Les différentes fonctions
Maintenant à toi de voir, tu peux regarder un de mes programmes (que j'ai mis en stand-by pour l'instant ) sur mon webdav "Sources\Chevaux\Gerstion Planing Ecurie"
| |
| | | Contenu sponsorisé
| Sujet: Re: robotique et Panoramic | |
| |
| | | | robotique et Panoramic | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |