Fonctionnement logiciel d'une IHM (µC + clavier + LCD)
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

Fonctionnement logiciel d'une IHM (µC + clavier + LCD)



  1. #1
    invite414f05fd

    Question Fonctionnement logiciel d'une IHM (µC + clavier + LCD)


    ------

    Bonjour,

    je souhaiterai réaliser une IHM pour régler divers paramètres de configuration d'un système embarqué quelconque (µC + clavier + LCD). Je veux donc afficher un menu sur un LCD (graphique ou non, peu importe), me balader dans ce menu (haut/bas et pourquoi pas droite/gauche aussi) et éditer des valeurs.
    J'ai aucun problème avec la partie hard, mais la gestion soft de cette IHM n'est pas bien claire pour moi. J'imagine qu'il faut au moins une variable globale pour savoir où on se trouve dans l'IHM et passer par un truc de ce style:

    Code:
    switch(mavariable)
    {
        case valeur1:
            traitement_menu1(info_touche);
            break;
        case valeur2:
            etc...
    }
    A chaque appui sur une touche je traite l'info et je passe par le "switch" qui va transmettre cette info (annuler, valider, modifier, entrer un chiffre, etc...) dans le menu où je me trouve.

    C'est comme ça que ça se passe ou y'a plus simple/mieux?

    -----

  2. #2
    invitea613d208

    Re : Fonctionnement logiciel d'une IHM (µC + clavier + LCD)

    Salut,

    La question est un peu plus complexe que cela je pense.

    Tu dois gerer l'endroit ou tu te trouve dans le menu, mais également le rafraichissement de l'écran par exemple.

    Pour commencer, il faut effectivement avoir une boucle, mais qui deviendra vite complexe.

    Il faut de plus connaître plus d'informations sur la partie Hardware pour savoir exactement ce que doit gerer la partie Software. Heureusement ce n'est pas non plus insurmontable.

    Quel niveau as tu en programmation ?

    Bye

  3. #3
    invite414f05fd

    Re : Fonctionnement logiciel d'une IHM (µC + clavier + LCD)

    Bonjour zhal,

    le rafraîchissement de l'écran est géré par "traitement_menux" j'imagine. Il n'y a pas grand chose à faire, juste déplacer un curseur ou afficher une donnée saisie au bon endroit. Si je dois me déplacer d'une ligne à une autre j'enlève le sur-lignage sur la ligne où se trouve la donnée en cours d'édition, je modifie "mavariable" pour que ça prenne en compte le changement de ligne au prochain passage dans le code de traitement de l'IHM et ne valide pas la fin de traitement de l'IHM, comme ça dès que ça repart dans le while(1) du main ça va retourner automatiquement dans la gestion de l'IHM, sur-ligner la ligne suivante ou précédente (suivant la touche sur laquelle j'ai appuyé: UP/DOWN) et là je valide la fin de traitement.
    C'est peut-être un peu bricolé tout ça...

    La complexité de la boucle ne m'effraie pas.

    Pour ce qui est du hardware, considérons que c'est une EEPROM I²C, mais ça peut être n'importe quoi, comme des variables stockées dans la RAM du µC, c'est le soft qui s'occupe de lire et écrire où il faut.

    En ce qui concerne mon niveau de programmation, disons que je n'ai pas fait d'études en programmation, c'est une passion. J'apprends sur le tas et ça se passe plutôt bien jusqu'ici.

  4. #4
    invitea613d208

    Re : Fonctionnement logiciel d'une IHM (µC + clavier + LCD)

    je conclu donc que tu as de bonnes connaissances

    Premiere question pour elaborer les boucles, le clavier.
    Le clavier que tu utilise est entierement à gerer par le µC ?

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

    Re : Fonctionnement logiciel d'une IHM (µC + clavier + LCD)

    Bonjour...

    Je pense que ton idée de "switch / case " est pas mal...
    Je fais régulièrement quelques petits systèmes avec ce genre de fonctions: affichage de tension, gestion de fonctionnement, menu de configuration,... Et tout cela sous la forme de "switch /case".

    Au départ, je ne connaissais pas grand chose en programmation, et au fil du temps, et grâce à l'aide de certains sur ce forum, j'arrive à m'en sortir

    Voici un sujet que j'avais posté il y a quelques temps déjà, je cherchais justement comment faire pour réaliser "un système avec navigation":
    http://forums.futura-sciences.com/el...graphique.html

    C'est là que l'on m'a conseillé l'utilisation du fameux "switch/case" ...

    Bonne continuation... et si tu as besoin, n'hésite pas...

  7. #6
    invitea613d208

    Re : Fonctionnement logiciel d'une IHM (µC + clavier + LCD)

    Le Switch / Case est effectivement la solution la plus efficace (parfois cela devient compliqué dès qu l'on atteint un nombre important de menus. Je pensais dans mon post precedent à la gestion des rebonds des claviers ...

    Je viens de parcourir ton post il est interessant. Toutes les ressources y sont

  8. #7
    invite414f05fd

    Re : Fonctionnement logiciel d'une IHM (µC + clavier + LCD)

    Bonjour jorg1n et merci d'apporter ta contribution à mon sujet de discussion!

    Le clavier que j'utilise sur ma carte de développement est géré en I²C avec un convertisseur I²C/Parallèle, le fameux PCF8574. Je n'ai pas géré les rebonds pour l'instant car la lecture s'effectue toujours correctement. C'est effectivement une fonction que j'ai prévu d'implémenter quand le clavier sera câblé sur une entrée analogique du µC (c'est un clavier matricé sur lequel je vais mettre des résistances sur les colonnes et lignes afin d'avoir un pont diviseur avec une tension différente pour chaque touche, ça doit avoir un nom technique mais je ne le connais pas).

    Je vais jeter un œil à ton lien jorg1n.

Discussions similaires

  1. interface clavier lcd
    Par invite052bf8af dans le forum Électronique
    Réponses: 0
    Dernier message: 26/05/2010, 13h13
  2. Fonctionnement d'un montage clavier matriciel
    Par invite8191e5b5 dans le forum Électronique
    Réponses: 1
    Dernier message: 25/04/2010, 23h20
  3. comparaison logiciel ihm
    Par invite913f6f8d dans le forum Électronique
    Réponses: 0
    Dernier message: 24/03/2010, 11h09
  4. Schéma de fonctionnement étage de puissance ampli clavier
    Par invitebc99f450 dans le forum Électronique
    Réponses: 3
    Dernier message: 15/07/2009, 16h04
  5. Fonctionnement d'un clavier à touche souple
    Par invitef4e702f8 dans le forum Électronique
    Réponses: 12
    Dernier message: 18/11/2007, 12h41
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...