Bienvenue aux nouveaux arrivants sur FantasPic !
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
Modérateur : mazertoc
écran tactile 2.4 TFT LCD 240 x 320 (version ASM)
Bonjour,
Je pense pas qu'il y ait des erreurs de lecture, la bibliothèque Arduino que j'ai regardée mesure 16 échantillons.
Comme tu l'avais signalé, il faut peut être attendre un peu après le signal PENIRQ low. Les 4 mesures écartées, je pense que ça sert à rien, il faudrait trier les mesures et écarter les valeurs extrêmes avant moyenne.
Pour la moyenne soit tu passes à un long, soit tu ne stockes que les écarts par rapport à la première mesure.
Je pense pas qu'il y ait des erreurs de lecture, la bibliothèque Arduino que j'ai regardée mesure 16 échantillons.
Comme tu l'avais signalé, il faut peut être attendre un peu après le signal PENIRQ low. Les 4 mesures écartées, je pense que ça sert à rien, il faudrait trier les mesures et écarter les valeurs extrêmes avant moyenne.
Pour la moyenne soit tu passes à un long, soit tu ne stockes que les écarts par rapport à la première mesure.
Code : Tout sélectionner
Word x; int xdiff=0;
for (i=0; i<12; i++)
{
xx = ...
if (i == 2) x = xx;
else if ((i > 2) && (i < 10)) xdiff += xx-x;
}
x += xdiff/8;
écran tactile 2.4 TFT LCD 240 x 320 (version ASM)
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
Test en mode PAINT satisfaisant ..
J'utilise SPI Software pour la gestion du Touch screen , tout en gardant SPI1 Hardware pour le le LCD.
Les 2 systemes sont alors completement independant quand aux entres sorties utilisées.
PAINT en mode pooling . et 8 valeurs centrales sur 12.
Avec un test sur la valeur PRESS pour valider les mesures x et y,
la repetitivité est bonne.
toute fois le moyennage des mesures altere un peu la resolution finale au niveau du pixel Ecran.
et la vitesse de deplacement du stylet ..!
j'utilise donc Put_Big_Pixel ( 4 pixels carré) pour ce test.
il va sans dire, qu'il faut etalonner le touch screen..
j'ai utilisé une application precedente : "Calibration Touch screen " pour evaluer les Maxi et Mini de X,Y
pour en deduire les parametres de calibration pour faire correspondre avec les X,Y du LCD
Nota: dans ce test, j'ai mis le LCD en mode 2=PORTRAIT inverse au lieu d'inverser le sens Y du touch screen
puisque je n'ai plus d'ecriture texte à y mettre..
Avec une resolution de +-2 Pixel , il ya de quoi faire suffisament de Touch Buttons ou zones tactiles !
je vais donc en rester là , sur les mesures Touch Screen .
A suivre ...sur une application utilisant tout cela.. dans la rubrique EN C.
Merci à Satinas pour son aide .
vue Presentation
vue Ecran vierge , mais avec zone de choix pour la couleur , et en bas , la zone pour effacer l'ecran
vue avec dessin
J'utilise SPI Software pour la gestion du Touch screen , tout en gardant SPI1 Hardware pour le le LCD.
Les 2 systemes sont alors completement independant quand aux entres sorties utilisées.
PAINT en mode pooling . et 8 valeurs centrales sur 12.
Avec un test sur la valeur PRESS pour valider les mesures x et y,
la repetitivité est bonne.
toute fois le moyennage des mesures altere un peu la resolution finale au niveau du pixel Ecran.
et la vitesse de deplacement du stylet ..!
j'utilise donc Put_Big_Pixel ( 4 pixels carré) pour ce test.
il va sans dire, qu'il faut etalonner le touch screen..
j'ai utilisé une application precedente : "Calibration Touch screen " pour evaluer les Maxi et Mini de X,Y
pour en deduire les parametres de calibration pour faire correspondre avec les X,Y du LCD
Nota: dans ce test, j'ai mis le LCD en mode 2=PORTRAIT inverse au lieu d'inverser le sens Y du touch screen
puisque je n'ai plus d'ecriture texte à y mettre..
![siffleur :sifflotte:](./images/smilies/icon_sifflotte.gif)
je vais donc en rester là , sur les mesures Touch Screen .
A suivre ...sur une application utilisant tout cela.. dans la rubrique EN C.
Merci à Satinas pour son aide .
vue Presentation
vue Ecran vierge , mais avec zone de choix pour la couleur , et en bas , la zone pour effacer l'ecran
vue avec dessin
Code : Tout sélectionner
SetOrientation(2);
UART1_Write_CText(" Orientation = 2 = Portrait INVERSE\r\n");
Rectangle_Plein(0,0,239,319,COLOR_BLACK);
k=0;
Rectangle_Plein(200,300,239,319,Couleur[k]);
FillCircle(30,30,15,COLOR_RED);
Print_Cte_String(" Mode PAINT \r\n ");
j=0;
x1=100;y1=100;
OneShot=0;
while(1)
{
// mode pooling
TS_Get_XY_Values();
// x1=(Word) (( 3662-357)/240)*x;
// y1=(Word) ((3811-410)/340)*y;
f1= (float)(x-348)/14.0 ;
x1=(Word)f1;
f1= (float) (y-410)/10.5 ;
y1= (Word)f1;
if(Press>100)
{
UART1_Write_CText("x1=");
WordToStr(x1,CRam1);
UART1_Write_Text(CRam1);
UART1_Write(TAB);
UART1_Write_CText("y1=");
WordToStr(y1,CRam1);
UART1_Write_Text(CRam1);
UART1_Write(TAB);
UART1_Write_CText("Press=");
WordToStr(Press,CRam1);
UART1_Write_Text(CRam1);
CRLF1();
}
if ((x1>200) &&( y1>300) && (OneShot==0))
{
k++;
if(k>7) k=0;
Color=Couleur[k];
Rectangle_Plein(200,300,239,319,Couleur[k]);
Print_Cte_String(" Couleur # ");UART1_Write(k+48);
Delay_1sec();
CRLF1();
OneShot=1;
}
if((Press>100) && (Press<300)) Put_Pixel(x1,y1,Couleur[k]);
if(Press>=300) Put_Big_Pixel(x1,y1,Couleur[k]);
if ((x1<200 ) && (y1<300) && ( OneShot==1) )
{
OneShot=0;
Rectangle_Plein(200,300,239,319,Couleur[k]);
}
if ((x1>10 ) && (y1>10) && (x1<40 ) && (y1<40))
{
Rectangle_Plein(0,0,239,319,COLOR_BLACK);
Rectangle_Plein(200,300,239,319,Couleur[k]);
FillCircle(30,30,15,COLOR_RED);
}
}
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Modifié en dernier par paulfjujo le ven. 23 mars 2018 11:43, modifié 2 fois.
écran tactile 2.4 TFT LCD 240 x 320 (version ASM)
-
cyril13110
Confirmé- Messages : 741
- Âge : 41
- Enregistré en : avril 2016
- Localisation : 13
écran tactile 2.4 TFT LCD 240 x 320 (version ASM)
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
et HOP, un essai pratique ..
une petite presentation en Fonte #1 et #2
1 touche ON
1 touche OFF
allume ou eteint led
et affiche le cercle en rouge ou vert .
La touche est encadrée apres selection
la Touche RAZ .. remet à zero l'affichage en bas de l'ecran en Fonte#8
simule l'entree ADC avec un LM35DZ, gamme de mesure 70°C
avec ruban de progression
Temperature DS18B20 affichées en Fonte #6
https://www.youtube.com/watch?v=o4hVtbxkqBk&feature=youtu.be
une petite presentation en Fonte #1 et #2
1 touche ON
1 touche OFF
allume ou eteint led
et affiche le cercle en rouge ou vert .
La touche est encadrée apres selection
la Touche RAZ .. remet à zero l'affichage en bas de l'ecran en Fonte#8
simule l'entree ADC avec un LM35DZ, gamme de mesure 70°C
avec ruban de progression
Temperature DS18B20 affichées en Fonte #6
https://www.youtube.com/watch?v=o4hVtbxkqBk&feature=youtu.be
écran tactile 2.4 TFT LCD 240 x 320 (version ASM)
écran tactile 2.4 TFT LCD 240 x 320 (version ASM)
![Choqué :shock:](./images/smilies/icon_eek.gif)
![Surprise :eek:](./images/smilies/icon_e_surprised.gif)
![Sourire :-)](./images/smilies/icon_e_smile.gif)
Je pense qui doit y avoir une belle satisfaction d'un tel résultat ?
![Clin d’œil :wink:](./images/smilies/icon_e_wink.gif)
Bravo pour ce joli exemple. Il est vrai que pour certains projets un écran tactile est le must pour l'utilisation.
@++
écran tactile 2.4 TFT LCD 240 x 320 (version ASM)
écran tactile 2.4 TFT LCD 240 x 320 (version ASM)
écran tactile 2.4 TFT LCD 240 x 320 (version ASM)
Lol on y est presque tous
@++
![siffleur :sifflotte:](./images/smilies/icon_sifflotte.gif)
![Rire :lol:](./images/smilies/icon_lol.gif)
@++
écran tactile 2.4 TFT LCD 240 x 320 (version ASM)
Retourner vers « Langage ASM »
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 46 invités