Créer une interface utilisateur.
Répondre à la discussion
Page 1 sur 2 1 DernièreDernière
Affichage des résultats 1 à 30 sur 45

Créer une interface utilisateur.



  1. #1
    invited2dbaf38

    Créer une interface utilisateur.


    ------

    Bonjour à tous,

    j'aimerais créer une interface utilisateur sur un Pc permettant de piloter à distance à partir de ce PC, deux volets. Pour cela j'ai programmé en C mes microcontrolleurs pour l'ouverture et la fermeture d'un volet avec 3 boutons (ouverture, fermeture et arrêt) et deux capteurs de fin de course (ouverture et fermeture).

    Toutefois j'aimerais savoir comment dois-je m'y prendre pour réaliser l'interface utilisateur sur le pc, par exemple en appuyant sur ouverture, mon volet s'ouvre, mais comment créer à la fois l'interface mais également le réseau ? Car je me doute bien qu'il faut un réseau reliant le système au PC pour que le microcontrolleur reçoivent les ordres de l'interface utilisateur.

    Comment dois-je m'y prendre ? Il me semble qu'il faut utiliser Visual Basic, mais je n'en suis pas sûr...

    Merci d'avance pour toutes vos réponses

    -----

  2. #2
    invitee17aeca5

    Re : Créer une interface utilisateur.

    salut

    il n'est pas nécessaire d'utiliser "visual basic" ca c'est juste un IDE de programmation(proprietaire qui plus est ) .... ca dépends, tu connais quels langages de prog ?

    si tu sait programmer en C, tu peu utiliser soit un programme "console 16bit" (si tu compte faire tourner ca sur un vieux coucou) ou avec une interface graphique style l'api Windows, Qt, GTK+ .... (la premiere n'étant pas spécialement portable, tu t'en serai douté ^^) En basic, tu peu effectivement utiliser visual basic (ou Qbasic si c'ets pour un vieux coucou...) ...

    une fois que tu a défini tes besoins, tu peu dessinner une petite interface (ce que tu vois d'un programme en fait ...) et y greffer tes fonctions (envoi de données sérielles par exemple, via Rs232 ou parallele, qui tant à disparaitre ...)

    voilà, ++ Tix.

  3. #3
    invited2dbaf38

    Re : Créer une interface utilisateur.

    A vrai dire je débute dans ce domaine d'interface et je n'ai pas de notion dessus. Je sais un peu programmer en C, j'ai d'ailleurs fait mes programmes pour les ouvertures et fermetures des volets avec les boutons poussoir (enfin il faut que je transfère les programmes pour voir si cela marche mais c'est une autre histoire), mais sur visual basic je suis vraiment un débutant, mais je pense faire mon interface avec visual basic.

    Est-ce dur de créer cette interface de 3 boutons : ouverture, fermeture et arrêt sur visual basic ?
    une fois que tu a défini tes besoins, tu peu dessiner une petite interface (ce que tu vois d'un programme en fait ...) et y greffer tes fonctions (envoi de données sérielles par exemple, via Rs232 ou parallèle, qui tant à disparaitre ...)
    C'est ceci que je ne comprend pas, que veut tu dire par petite interface ? et par greffer tes fonctions ?
    En prenant du Rs232, comment cela marche t-il ? Je branche le rs232 sur le pc et la sortie je la met où ? car le microcontrolleur n'a pas de port rs232 sur lui. C'est surtout cette idée que je n'arrive pas à me visualiser, comment faire ce "réseau" pour y piloter à partir du Pc.

    Merci encore pour votre aide

  4. #4
    invited2dbaf38

    Re : Créer une interface utilisateur.

    En faite je viens de voir que visual basic est assez simple à prendre en main, je veux dire par là pour faire 3 boutons. Le problème c'est qu'après il faut programmer ces boutons, c'est dommage qu'on ne puisse pas le faire en C. Mais une fois programmé, par exemple : bouton ouverture => sortie 1 du µc=1 while bouton arret =0; comment faire pour le transférer sur le µc ?

    Je dis ça, mais cela ne marche peut être pas comme ça en faite ...

  5. A voir en vidéo sur Futura
  6. #5
    invitee17aeca5

    Re : Créer une interface utilisateur.

    bein, le principe d'une interface graphique logicielle, c'est que chaque actoin délivre un message que la fonction principale du programme gere.... donc, à l'appui sur le bouton x, la fonction bouttonxdown se lance ... (c'ets un exemple)

    ensuite, pour envoyer un message au pic, tu peu utiliser un protocole "sériel" (les bits sont envoyés les uns à la suite des autres...) et, parallele (chaques bit est envoyé sur uen ligne, plus facile à gerer, mais moin "puissant").

    par exemple, si tu à une centaine de volets à commander .... tu aura intéret à utiliser une liaison sérielle

    par contre, si tu n'en à qu'un avec seulement 2 ou trois commandes... tu peu bien récuperer 3 fils

    ++

  7. #6
    invited2dbaf38

    Re : Créer une interface utilisateur.

    Merci pour votre réponse, je pense que c'est assez clair dans mon esprti, toutefois une ou deux interrogations substitent sur l'aspect technique.

    1) Faut-il faire un programme "géneral" comme je l'ai fait quand j'ai créer mon programme en C. Je veux dire par là j'avais pour l'ouverture : si bouton ouverture activé....et pas bouton arret.......et après à la place du bouton ouverture dans le programme en VB, je renvoie l'action du bouton ou dois-je simplement définir l'action du bouton sans changer a programmes general que l'on a en double cliquant sur le fond de la fenetre "form".

    Enfin, si on utilise des liaisons parrallèles ou séries, comment peux on y relier au micronctrolleur ? J'entend par là que le microcontrolleur n'a pas d'entrée de fil sur lui, il faut donc passer par un circuit ou autre chose non ? peut être une table de programmation du microcontrolleur ? Mais j'en sais rien là dessus...

    En tout cas merci encore

  8. #7
    invited2dbaf38

    Re : Créer une interface utilisateur.

    Quelqu'un aurait-il une petite idée pour me permettre d'avancer dans mon problème ?

    J'avais pensé à mettre une femelle sur mon circuit pour raccorder le rs232 du pc au système, mais après comment relier les "fils de données du rs232" aux pattes du microcontrolleur ?

    Merci encore

  9. #8
    DAUDET78

    Re : Créer une interface utilisateur.

    Je ne sais pas ce que tu utilises comme µP, mais ils ont tous un interface Asynchrone (UART en Français). Tu mets sur RX TX un interface hard (MAX232 par exemple) et tu dialogues avec COM1 ou COM2 sans problème ( ou presque !)
    Ton PC est avec quel O.S. (W2000, XP?)
    Tu travailles en VB6?
    Tu as dèja fait un bout de programme en VB6? on peut le voir?
    J'aime pas le Grec

  10. #9
    f6bes

    Re : Créer une interface utilisateur.

    Citation Envoyé par lyon90 Voir le message

    Enfin, si on utilise des liaisons parrallèles ou séries, comment peux on y relier au micronctrolleur ? J'entend par là que le microcontrolleur n'a pas d'entrée de fil sur lui,
    Bsr lyon90,
    Un peu confus ta description "..microcontrolleur n'a pas d'entrée de fil sur lui, ..."
    Un micro controlleur POSSEDE des entrées et des sorties !
    Bien sur, ces entrées FAUT les relier par DES FILS , les infos n'y viendront pas toutes seules !
    Si les liaisons paralléles ou série sont au FORMAT qu'acceptent les entrées microprocesseur il n'y aura pas besoin forçément d'INTERFACE (circuit) pour ramener cela à qq chose de compréhensible pour lui.
    T
    Bonne soirée
    Dernière modification par f6bes ; 14/01/2008 à 17h50.

  11. #10
    invitee17aeca5

    Re : Créer une interface utilisateur.

    Salut tous

    Lyon, je penses que tu devrais d'abbord te renseigner sur tout ca, et glaner quelques infos.... tout résumer sur le forum ne devrais arranger personne. Pour ce qui est de l'électronique, ya LEKTRONIK qui ets un tres bon truc pour débuter du début (explications claire, simple et tout...) et Ptitrain ...

    voilà, ++ Tix.

  12. #11
    invited2dbaf38

    Re : Créer une interface utilisateur.

    bonjour,

    mon OS est windows xp, quand je voulais dire qu'il n'y a pas d'entrée de fil sur le microcontrolleur je voulais dire que les infos du port rs232 ne viendront pas sur lui par magie, qu'il faut y relier et c'est là tout le problème que j'ai, comment y relier ? comment raccorder le rs232 au microcontrolleur ?

    Concernant mon code, j'utilises visual basic 6 express edition, je n'ai pas encore tapé de code pour les 3 boutons (ouverture, fermeture, arret) car j'aimerais savoir comment m'y prendre dans la réalisation. En faite il me semble qu'il faut que j'utilise une libraire spécial dans mon code pour y envoyer sur le port série du pc non ?

    Pour le microcontrolleur, je ne sais pas encore lequel utilisé, d'ailleurs si vous en avez qui vous passent par la tête pour ce projet de pilotage par pc, j'en serias ravi

    Je ne sais pas ce que tu utilises comme µP, mais ils ont tous un interface Asynchrone (UART en Français). Tu mets sur RX TX un interface hard (MAX232 par exemple) et tu dialogues avec COM1 ou COM2 sans problème ( ou presque !)
    Par contre ça je ne vois pas trop ce que vous dîtes, je ne suis pas encore informaticien ou électronicien, c'est dans le cadre d'un projet, si vous pourriez m'en dire un peu plus celà serait intéressant.

    En faite je suis étudiant, et mes professeurs m'ont dit que celà était envisageable de piloter un système par ordinateur et par réseau, mais mon prof d'electronique est absent depuis un mois et il revient dans 15 jours, donc j'aimerais quand même avancer dans mon projet. Je pense que cela est possible, mais il me fait votre aide.

    Enfin une dernière chose, si j'utilise Visual Basic, mon code que j'enverrais au microcontroleur par le biais du rs232 sera en basic, mais apparament les microcontrolleur ne gèrent que le C, comment faire ?

    En tout cas merci infiniment pour toute l'intention que vous portez à mon problème

    Bonne soirée.

  13. #12
    DAUDET78

    Re : Créer une interface utilisateur.

    Y a du boulot !
    1/ un programme écrit en language "tartenpion" expédie des trames RS232 en code ASCII (si on désire que ce soit des caractères imprimable)
    2/ Choisi ton microprocesseur (peut importe lequel, dument que tu as les outils de developpement et de debug)
    3/ regarde l'Uart ou l'USART sur ton µP
    J'aime pas le Grec

  14. #13
    invited2dbaf38

    Re : Créer une interface utilisateur.

    Bonsoir et merci encore pour votre aide

    Que voulez-vous dire par "1/ un programme écrit en language "tartenpion" expédie des trames RS232 en code ASCII (si on désire que ce soit des caractères imprimable)" Vous savez moi je programme en C habituellement et c'est une nouvelle et interessante experience qui s'offre à moi, pouvez vous m'expliquer un peu plus en détail comment expedier des trames rs232 ? Je veux dire par là, par exemple avec Visual Basic, comment y envoyer ?

    Pour le microprocesseur, je vais bientôt en avoir un, je vous tiens au courant.

    Je regarde l'uart mais j'avoue que je ne comprend pas grand chose là-dedans...

    Bonne soirée et merci encore

  15. #14
    DAUDET78

    Re : Créer une interface utilisateur.

    Tu avais écris :
    Citation Envoyé par lyon90 Voir le message
    Enfin une dernière chose, si j'utilise Visual Basic, mon code que j'enverrais au microcontroleur par le biais du rs232 sera en basic, mais apparament les microcontrolleur ne gèrent que le C, comment faire ?
    Les trames sont des octets indépendants du langage
    Citation Envoyé par lyon90 Voir le message
    Que voulez-vous dire par "1/ un programme écrit en language "tartenpion" expédie des trames RS232 en code ASCII (si on désire que ce soit des caractères imprimable)"
    C'est ce que j'ai ré-expliqué

    Pour envoyer un octet (sur un PC comme sur un µP), il suffit d'écrire l'octet dans une case spéciale et l'UART l'expédie (en rajoutant des bits de contrôle)
    J'aime pas le Grec

  16. #15
    invited2dbaf38

    Re : Créer une interface utilisateur.

    Très bien, mais alors comment programmer ces octes puisqu'ils sont indépendants du language ?
    Je sais pas si j'ai raison, mais imaginons que j'ai du Basic (je sais pas si des microcontrolleurs supportant le basic existent...) je fais le code en Basic et les données que l'utilisateur envoie au microcontrolleur (par exemple appuie sur le bouton ouverture et bouton fermeture pas activés, ce sont des octets apparament) sont envoyés sous forme d'octet bien définit pour que le microcontrolleur les comprennes. Ensuite il gère le traitement et renvoie une valeur en sortie en fonction du programme ecrit.

    Si c'est ça, comment définir les octets ? Je pense que c'est spécifique à chaque microcontrolleur non ?

    En tout cas merci, si mon raisonnement n'est pas le bon, pourriez-vous expliquer pas à pas, je sais que cela doit être pénible quand on le pratique depuis un moment, mais j'aimerias vraiment en apprendre un peu plus sur ce sujet d'autant plus que cela pourra me servir dans un eventuel futur

    Merci de votre compréhension en tout cas

  17. #16
    DAUDET78

    Re : Créer une interface utilisateur.

    C'est toi qui définit les octets et leurs significations. Par exemple la touche ouverture du volet_1 peut envoyer les octets "O" et "1"
    Code:
    en ASCII   "O"         "1"
    en Hexa     4F         31
    en binaire 01001111 00110001
    J'aime pas le Grec

  18. #17
    DAUDET78

    Re : Créer une interface utilisateur.

    Je suis dans un bon jour et ça faisait un bout de temps que j'avais pas bricolé en VB6. Tu dezippes le fichier joint. Il y a un EXE et les sources VB6. Je ne gères pas la liaison RS232 et dans un coin, il y a les codes Hexa qui "seraient" envoyés par la RS232 en fonction des boutons actionnés

    Pour le Modo : Ce programme est copyright DAUDET78 et de ma conception géniale personnelle. J'autorise sa divulgation sur le WEB
    Fichiers attachés Fichiers attachés
    J'aime pas le Grec

  19. #18
    f6bes

    Re : Créer une interface utilisateur.

    Citation Envoyé par lyon90 Voir le message
    (je sais pas si des microcontrolleurs supportant le basic existent...) je fais le code en Basic et les données que l'utilisateur envoie au microcontrolleur (par exemple appuie sur le bouton ouverture et bouton fermeture pas activés, ce sont des octets apparament)
    Bjr Lyon 90,
    Un micro controlleur peut se programmer en n'importe quel langage (en Basic, en C, en hexa ....)
    Ca c'est une chose qui n'a rien à voir avec les ordres qu'il va recevoir.

    D'autre part ses entrées vont recevoir des "trames" de 0 et de 1.

    C'est cela que devra INTERPRETER le programme du microcontrolleur.

    Si dans son programme (basic, C, hexa..) 0011 veut dire "marche" ALORS lorsqu'il recevra 0011 sur l'entrée adéquate, il fera en sorte d'ACTIVER la fonction "Marche".
    Bonne journée

  20. #19
    invited2dbaf38

    Re : Créer une interface utilisateur.

    D'accord, je pense que c'est assez clair, en gros imaginons que la trame d'ouverture volet soit 0011, le code en C serait alors (c'est très précaire, mais c'est juste pour être sûr d'avoir tout compris )

    if 0011=1
    sortie A=1

    Peut-on par contre dire que 0011=OuvertureVolet, on aura donc:

    if OuvertureVolet=1
    sortie A=1

    Si c'est ceci, doit-on initialiser les variables au debut ? Par exemple dans les programmes sous console, on initialise toujours, par exemple pour la variable age on avait:
    long age =0 et après on écrivait le code. Là doit-on faire au début 0011=0 ? Je suis un peu perplexe sur ce point.
    Sinon pouvez-vous me donnez un exemple, dans le même style, je ne demande pas un code complet loin de là, juste savoir comment lui faire interpreter que quand il recevra 0011 sur l'entrée 1 par exemple il devra faire activer la fonction marche, donc ouvrir le port A par exemple.

    En tout cas mille merci à vous, je pense que c'est assez clair dans mon esprit, le seule petit truc qui reste un peu flou c'est de savoir faire interpreter les trames du rs232 au microcontrolleur.

    Bonne soirée

  21. #20
    DAUDET78

    Re : Créer une interface utilisateur.

    Moi, je suis incompétent sur ton µP. Tu as essayer mon programme #17 ?
    J'aime pas le Grec

  22. #21
    invited2dbaf38

    Re : Créer une interface utilisateur.

    Oui j'ai regardé votre programme, c'est une interface graphique, ça me donne une idée pour que je puisse en réaliser une avec d'autres boutons. Juste une chose comment avez vous pu déterminé les trames à envoyer ? Est-ce simplement un exemple ou c'est vraiment quelque chose que je dois envoyer ?

    Sinon pour mon bout de code en faite ca serait plutôt :

    if trame_rs282 == 0011
    pinA =1
    else
    ...

    Merci encore

  23. #22
    DAUDET78

    Re : Créer une interface utilisateur.

    C'est un exemple ....pratique. Si tu n'as pas d'idée, garde ce format. Ce qui importe pour moi, il fonctionne sur ton ordinateur ?
    J'aime pas le Grec

  24. #23
    invited2dbaf38

    Re : Créer une interface utilisateur.

    Oui il fonctionne, par contre juste pour le volet 1.

    Je voudrais juste savoir une petite chose, parceque j'en suis pas sûr.

    Par exemple si on veut donner une trame rs232 à l' ouverture volet 1 :
    1) Peut-on lui donner la valeur que l'on veut ? Soit du binaire, soit du héxa, par exemple la valeur 011001 pour l'ouverture ?
    2) Comment dans le code sous visual basic dire que l'appuie sur le bouton ouverture volet entraine l'envoie de la trame rs232 de valeur 011001 par exemple ?

    Promis, après ces deux questions, je ne vous embête plus

    Merci de votre compréhension

  25. #24
    DAUDET78

    Re : Créer une interface utilisateur.

    Tu m'embétes pas si tu apprends.
    1/ on ne peut envoyer que des octets sur la RS232
    2/ J'ai un programme qui gère le RS232 sur COM1 en 300 Bds
    3/ je ne gère qu'un volet, le deuxième, c'est ton boulot
    lire le fichier Demo_VoletAide.txt
    Pour le modo : C'est tout ma création (photo de Croatie incluse)
    Fichiers attachés Fichiers attachés
    J'aime pas le Grec

  26. #25
    invited2dbaf38

    Re : Créer une interface utilisateur.

    "On ne peux envoyer que des octets sur la RS232", mais ces octets, ce sont bien des codes hexa ou binaire, peut-on les définir nous-même ou c'est automatique ? Quand on appuie sur le bouton ouverture ça envoie tel octets à mon µC, mais ces octets peut-ils être définits par moi-même, par exemple 0011 pour l'ouverture.

    Quel est votre programme qui gère le RS232 sur COM1 ? Quel en est réellement l'utilité, je veux dire par là est-ce programme qui définit les octets à envoyer, où il dit comment dans le code sous visual basic dire que l'appuie sur le bouton ouverture entraine l'envoie de la trame rs232 de la valeur x octets.

    Par contre, je n'arrive pas à ouvrir votre premier projet sous visual basic pour lire le code, car j'ai Visual Basic Express Edition 2005, c'est la version gratuite. Il me dit qu'il faut que je mette votre fichier à jour mais trouve une erreur en plein milieu...

  27. #26
    DAUDET78

    Re : Créer une interface utilisateur.

    Citation Envoyé par lyon90 Voir le message
    Oui il fonctionne,
    Il fonctionne ou pas ?
    Il fonctionne, tant mieux
    Il ne fonctionne pas? Tu regardes mon code (pas génial, je ne suis qu'un pauvre électronicien qui a utiliser le VB6 pour échapper aux informaticiens pour faire de modestes programmes de test) et tu le converties en VB5

    1/ C'est MOI et MOI seul qui détermine le protocole de la trame que j'envoie en RS232
    2/ Un octet, c'est une suite de 8 bits de 00000000 à 11111111 donc 0011 n'est pas un octet
    Dernière modification par DAUDET78 ; 15/01/2008 à 19h07.
    J'aime pas le Grec

  28. #27
    invited2dbaf38

    Re : Créer une interface utilisateur.

    Je vais essayer de le convertir en Vb5 avec un programme pris sur le net, je vous tiendrais au courant pour voir si il y a des choses que je ne comprend pas dans votre exemple de code et pour savoir comment vous attribué automatiquement ou manuellement les octets de la RS232 correspondant aux boutons.

  29. #28
    DAUDET78

    Re : Créer une interface utilisateur.

    Le demo_Volet.EXE marche?
    J'aime pas le Grec

  30. #29
    invited2dbaf38

    Re : Créer une interface utilisateur.

    Euh non, je n'ai pas le fichier MSCOMM32.OCX...


    EDIT: j'ai recuperé le fichier, le .exe marche, je vais essayer de comprendre l'attribution des octets de la tram rs232.

  31. #30
    invited2dbaf38

    Re : Créer une interface utilisateur.

    Par contre je n'arrive pas à ouvrir le code... il me dit que je n'ai pas le fichier MSCOMCTL.OCX, je l'ai télécharge et mis dans c\windows\system32 mais rien... je n'arrive pas à ouvrir le code mais le .exe marche.


    EDIT à l'un de vos précédents message, bon apparemment c'est nous qui choisissons les octets que l'on envoie sur la trame RS232, quand je disais 0011, en faite je pensais à 00000011

    Après il faut juste dire au programme dans le microcontrolleur que quand il reçoit cette trame qu'il ouvre tel port...

Page 1 sur 2 1 DernièreDernière

Discussions similaires

  1. Créer une Ecosphere
    Par invite42f2d223 dans le forum Biologie
    Réponses: 10
    Dernier message: 21/03/2012, 20h05
  2. Créer une interface gérant le port USB.
    Par invite18ba9d7c dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 29/03/2007, 22h11
  3. Créer une fonction
    Par invite234d9cdb dans le forum Mathématiques du supérieur
    Réponses: 19
    Dernier message: 28/12/2006, 15h02
  4. construire une interface debutant
    Par invite050718f5 dans le forum Électronique
    Réponses: 3
    Dernier message: 18/07/2005, 21h09
  5. besoin d'aide pour une interface de dialogue
    Par invite21c5bba1 dans le forum Électronique
    Réponses: 1
    Dernier message: 16/01/2004, 23h34
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...