IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

TFT TACTILE ADC STM32F1


Sujet :

C

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2012
    Messages : 8
    Points : 3
    Points
    3
    Par défaut TFT TACTILE ADC STM32F1
    Bonjour à tous,

    Je désire programmer mon écran 4.3" couleur et tactile (dalle résisitive 4 fils sans controlleur externe).

    Pour le moment, j'arrive à afficher des lignes, couleurs, textes, images.
    Désormais je souhaite passer sur la partie tactile : sur la partie hard je peux voir varier la tension suivant l'endroit où j'appuie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    void TFT_43M_TACTIL_X (void)
    {
                GPIO_InitTypeDef GPIO_InitStruct;
                GPIO_InitStruct.GPIO_Pin=GPIO_Pin_1;  //Touch screen x2
                GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz; 
                GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;
                GPIO_Init(GPIOC,&GPIO_InitStruct);
     
                GPIO_InitStruct.GPIO_Pin=GPIO_Pin_0; //Touch screen y2
                GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz; 
                GPIO_InitStruct.GPIO_Mode=GPIO_Mode_AIN;
                GPIO_Init(GPIOC,&GPIO_InitStruct);
     
                GPIO_InitStruct.GPIO_Pin=GPIO_Pin_1;  //Touch screen x1
                GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
                GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;
                GPIO_Init(GPIOB,&GPIO_InitStruct);
     
                GPIO_InitStruct.GPIO_Pin=GPIO_Pin_0; //Touch screen y1
                GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
                GPIO_InitStruct.GPIO_Mode=GPIO_Mode_AIN;
                GPIO_Init(GPIOB,&GPIO_InitStruct);
                GPIO_SetBits(GPIOC,GPIO_Pin_1); // bit 1 en sortie port C==> X2
    }
     
    void TFT_43M_TACTIL_Y (void)
    {
                GPIO_InitTypeDef GPIO_InitStruct;
                GPIO_InitStruct.GPIO_Pin=GPIO_Pin_1;  //Touch screen x2
                GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
                GPIO_InitStruct.GPIO_Mode=GPIO_Mode_AIN;
                GPIO_Init(GPIOC,&GPIO_InitStruct);
     
                GPIO_InitStruct.GPIO_Pin=GPIO_Pin_0; //Touch screen y2
                GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz; 
                GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;
                GPIO_Init(GPIOC,&GPIO_InitStruct);
     
                GPIO_InitStruct.GPIO_Pin=GPIO_Pin_1;  //Touch screen x1
                GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
                GPIO_InitStruct.GPIO_Mode=GPIO_Mode_AIN;
                GPIO_Init(GPIOB,&GPIO_InitStruct);
     
                GPIO_InitStruct.GPIO_Pin=GPIO_Pin_0; //Touch screen y1
                GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
                GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;
                GPIO_Init(GPIOB,&GPIO_InitStruct);
                GPIO_SetBits(GPIOC,GPIO_Pin_0); // bit 0 en sortie port C==> Y2
    }
    Voilà maintenant j'aimerais créer une zone et lorsque j'appui de dessus quelques choses apparait à l'écran (images, textes...)

    Je pense que je dois cofigurer l'ADC mais je n'ai aucune idée sur la configuration de celui-ci.

    Merci de votre aide.
    Images attachées Images attachées  

  2. #2
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 291
    Points : 4 941
    Points
    4 941
    Billets dans le blog
    5
    Par défaut
    Je ne sais si je vais pouvoir t'être d'une grande aide mais si tu arrives à récupérer deux tensions (enfin il me semble que cela doit être comme ca) il te suffirait de faire une règle de trois.

    Au vu du schéma que tu as fourni il te suffit de diviser 3,2v par le nombre de pixels par ligne pour obtenir un coefficient fonction de la position géographique (idem pour l'axe y).

    Je m'égare peut être...

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2012
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par gerald3d Voir le message
    Je ne sais si je vais pouvoir t'être d'une grande aide mais si tu arrives à récupérer deux tensions (enfin il me semble que cela doit être comme ca) il te suffirait de faire une règle de trois.

    Au vu du schéma que tu as fourni il te suffit de diviser 3,2v par le nombre de pixels par ligne pour obtenir un coefficient fonction de la position géographique (idem pour l'axe y).

    Je m'égare peut être...
    Je pense qu'il faut déjà configuré la partie ADC (analog to digital converter).
    Et ensuite peut être par soustraction X2-X1 = une valeur (je la convertie)
    De meme pour Y...

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Février 2005
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 119
    Points : 192
    Points
    192
    Par défaut
    Il faut lire la doc de ton écran (ou nous la fournir si tu ne t'en sors pas).

  5. #5
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2012
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par gulain Voir le message
    Il faut lire la doc de ton écran (ou nous la fournir si tu ne t'en sors pas).
    Voici la doc de mon écran.
    Images attachées Images attachées

  6. #6
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 291
    Points : 4 941
    Points
    4 941
    Billets dans le blog
    5
    Par défaut
    Apparemment il te faudra passer par un port parallèle. Mais cette partie est du hardware. As-tu déjà fait cette partie ? C'est à dire la partie connexion filaire à un ordinateur.

  7. #7
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2012
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par gerald3d Voir le message
    Apparemment il te faudra passer par un port parallèle. Mais cette partie est du hardware. As-tu déjà fait cette partie ? C'est à dire la partie connexion filaire à un ordinateur.
    Oui comme indiqué plus haut j'affiche des couleurs, textes, lignes, cercles sur mon écran.

  8. #8
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2012
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par boby6613 Voir le message
    Oui comme indiqué plus haut j'affiche des couleurs, textes, lignes, cercles sur mon écran.
    Je passe par un bus parrellèle pour envoyer mes données (DB0 à DB15).
    Pour la gestion de la partie tactile, j'utilise X1,X2,Y1,Y2 (J'ai connecté ces broches sur les ADC de mon microcontrolleur).

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Février 2005
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 119
    Points : 192
    Points
    192
    Par défaut
    Y'a plus qu'à aller lire ce que te renvoient les ADC, non ? (cf la doc de ton microcontrolleur, au temps pour moi)

Discussions similaires

  1. Ecran tactile
    Par fabricep dans le forum Delphi
    Réponses: 9
    Dernier message: 16/09/2006, 12h40
  2. Choix écran TFT 19"
    Par gibet_b dans le forum Périphériques
    Réponses: 3
    Dernier message: 09/05/2005, 09h05
  3. Nettoyage d'un ecran TFT
    Par Faith's Fall dans le forum Périphériques
    Réponses: 9
    Dernier message: 10/03/2005, 17h58
  4. [HARDWARE] [Ecran LCD] Recherche écran tactile 7" in dash
    Par l.sage dans le forum Périphériques
    Réponses: 4
    Dernier message: 27/09/2004, 23h43
  5. télévision tft-LCD 20' avec mix tv/pc
    Par LhIaScZkTer dans le forum Périphériques
    Réponses: 6
    Dernier message: 23/09/2004, 14h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo