• version 0.0 15/10/2021
    rev 11/12/2022.

    TFT LCD Ecran (Graphique + Tactile) en mode SERIE ..Uart

    Test Ecran LCD TFT OPEN-SMART 2,4P, 320x240, Tactile, liaison SERIE SANS MCU ! (15/10/2021)
    Test avec Script Terminal PC VBRAY: liaison directe interface CH340G USB/TTL <---> Ecran LCD serie
    Lecture et affichage image BMP (sur carte SD) (22/10/2021)
    Test avec MCU 16F1847 et carte SD 8Go (MikroC pro 7.60) (11/12/2022)




    Test Ecran LCD TFT OPEN-SMART 2,4P, 320x240 , liaison SERIE (sans MCU !)
    15/10/2021
    lien Web de documenation sur ce LCD, TRES COMPLET ..
    * commandé en Octobre 2021, sur AliVavite pour 7.76€ + Port = 11,36€
    document original fournisseur : OPEN-SMART Serial TFT User manual v1.0.pdf
    document web allégé : LCD_Serie.html

    Il s'agit d'une carte d'extension LCD TFT de 2.4 pouces utilisant une interface UART série standard
    et elle a une bonne compatibilité. Il intègre un support de carte TF, un circuit de conversion de niveau,
    et le développement secondaire est moins difficile.
    -Compatibilité: compatible avec MCU 3.3V / 5V, compatible pour Arduino.
    -Fonctions intégrées: seulement quelques commandes sont nécessaires pour afficher les images dans la carte TF,
    afficher les caractères, les chiffres, les graphiques.
    -Tension de fonctionnement: 4.5V - 5.5V (régulateur LDO intégré de 3.3v), si court le pad VCC à 3V3,
    vous pouvez utiliser 3.1-3.4V.
    -Courant de fonctionnement: 90mA(MAX)
    -Débit baud du port série: 9600 (par défaut), peut utiliser la commande pour le modifier pour qu'il soit à
    d'autres valeurs: 19200, 38400, 57600, 115200
    -Format de communication série: 8N1
    -Vous pouvez déboguer le module avec le module USB vers TTL, tel que le module FT232RL, CH340G.
    -MCU de la série ATmega328 intégré
    -Résolution: 240X320;
    -Taille d'affichage: 2.4 pouces;
    -Tension de fonctionnement: 5V;

    ===============================================================


    Le 1er TEST SANS MCU ! :

    Hardware :
    Uniquement avec connections du LCD à l'interface CH340G via 4 fils "dupont F-F" ,
    * Attention : croiser TX et RX !
    Des la mise sous tension , (LCD alimenté via le +5V USB du module CH340G)
    Affichage sur l'écran , en Blanc (voir photo) :

    OPEN -SMART
    TFF-LCD
    Driver IC is : 9320
    Firmware version is v10

    Chip: ILI9325
    2.4 inch
    Touch screen
    Controlled via serial (USART/UART)


    nota : dans la doc nommée au dessus, il est question du terminal SSCOM32 Serial Tool for Serial TFT
    qui est sensé proposer aussi ,des touches de fonctions pour envoi de séquences en Hexa, mais AUCUN lien trouvé la dessus!
    * J'ai donc essayé avec Terminal YAT ..==> BAD ... apparament on ne peut pas envoyer un format Hexadecimal sur les "Predefined commandes "
    seulement en tapant une commande dans le champ Send Texte (avec option Hexadeci)
    * puis avec le Terminal VBRAY ,qui ,lui, ACCEPTE un format d'envoi Hexadecimal
    avec un caractere d'entete $

    2em Test :
    Envoi de commandes au LCD via touches de fonctions terminal VBRAY
    Configuration de quelques Macro (touches de fonction):



    fichier de configuration de ces touches : Open_Smart_LCD_Serial_.tmf

    Résultats :

    images/t_Test_LCD_Open_Smart_Serial_CH340G---VBRAY_Terminal.gif images/t_Test_LCD_Open_Smart_Serial_2-4p_avec_VBRAY_Terminal.gif
    montage 1er TEST test envoi de commandes au LCD avec VBRAY

    Le Reset efface l'ecran .. mais la partie Presentation se réaffiche d'office
    Preselection de la couleur Rouge
    envoi du message Hello
    envoi valeur 16 bits 01FFh (non signée 511
    envoi valeur 16 bits FFEFh ( signée -16
    envoi valeur 16 bits FF00h ( signée -256)

    Le + de cet ecran , est les faibles ressources MCU necessaires à son usage
    Il pourrait servir d'écran Distant avec un simple HC05 connecté dessus ..

    fichier de config des touches Terminal VBRAY : Open_Smart_LCD_Serial_2021-1018.tmf
    contenu :




    3em Test avec envoi de SCRIPT VBRAY

    langage script = mini Pascal
    Le Programme : Cdes_Serial_LCD_Open_Smart_2021-1017.tsc
    La fenetre Debug du terminal Vbray , permet de suivre le deroulement du script


    Reset
    Clear
    Couleur=Rouge
    Print Hello
    New Line
    Couleur=Jaune $FF$20
    New Line
    Paulfjujo ..10 chars!
    New Line
    Print 12345
    New Line
    Couleur=Bleu Cyan $07$FF
    Print 6789z
    Fast V x=120 y=0-> 240 Line Jaune
    Fast H Line x->0-320 y=120 Cyan
    Rectangle jaune
    Cercle Rouge dia 100
    Cercle blanc dia 16
    Couleur=Vert $07$E0
    Set cursor
    Print ABCDE at x=160,y=64
    Set cursor
    Diagonale 0,0 320,240


    ce qui donne visuellement:

    images/t_LCD_Open_Smart_test_via_Terminal_VBRAY_2021-1017.gif

    * attention à la fonction print array : inclure la taille du string à afficher + 2
    exemple
    writeln('Paulfjujo ..9 chars!');
    ComSendmacro('$7E$
    0B$11$50$61$75$6C$46$6A$75$6A$6F$EF'); Delay(100);
    ComSendchr(13);ComSendchr(10);

    0x0B=11




    Application MikroC avec PIC 16F1847


    Montage Hardware :

    images/t_16F1847_Test_LCD_Open_Smart_Serial_2021-10.gif

    Software :

    résumé Open_Smart_LCD_serial_2021.xls

    #define LCD_W 320
    #define LCD_H 240
    #define Center_X "$A0$00" // 160
    #define center_Y "$00$78" // 120


    Les fonctions :

    void LCD_HELLO(void);
    void LCD_PAULFJUJO(void);
    void LCD_REDCOLOR(void);
    void LCD_RECTANGLE_(void);
    void LCD_CIRCLE(void) ;
    void LCD_RESET(void);
    void LCD_CLEAR(void);
    void LCD_NL(void) ;

    les premiers tests sont faits avec des commandes DIRECTES prédéfinies en Flash Rom
    ex:
    const unsigned char RESET[]={0x7E,0x02,0x05,0xEF};
    const unsigned char CLEAR[]={0x7E,0x04,0x20,0x00,0x00,0xEF};
    const unsigned char RECTANGLE_[]={0x7E,0x0C,0x25,0x00,0x10,0x00,0x10,0x01,0x30,0x00,0x80,0xFF,0xF8,0xEF};
    const unsigned char CIRCLE[]={ 0x7E,0x0A,0x27,0x00,0xA0,0x00,0x78,0x00,0x64,0xF8,0x01,0xEF };
    const unsigned char HELLO[]={0x7E,0x07,0x11,0x48,0x65,0x6C,0x6C,0x6F,0xEF };

    Commandes en Hexadecimal avec le Byte de départ = 0x7E , et le Byte de fin 0xEF
    ..à ne pas confondre avec commandes en Ascii "0x7E3"!
    exemple d'envoi message HELLO
    void LCD_HELLO()
    { int i=0;
    k=sizeof(HELLO);
    for (i=0;i<k;i++) UART1_Write(HELLO[i]);
    Delay_ms(100);
    }

    Les fonctions avec paramétrables :

    void LCD_Set_Text_Color (char coul) ;
    void LCD_Set_Curseur(int x, int y) ; // at x,y
    void LCD_Rectangle(Word x,Word y,Word Largeur,Word Hauteur,Word Coul);
    void LCD_Cercle(Word x,Word y,Word Rayon,Word Coul) ;
    void LCD_Set_Char_Size(unsigned char size);
    void LCD_Print_Text( char * T) ;

    3 tailles de charactere
    1 -> 53 chars / ligne
    2 -> 17 chars par ligne
    3 -> 10 chars par ligne


    Cas particulier : l'ecriture de Texte sur l'écran

    je me suis servi de la liaison UART TX dédoublé vers un terminal YAT (via interface CH340G)
    pour vérifier le codage envoyé au LCD
    il faut inserer ,dans la commande ,le nombre Nb de caracteres à Ecrire. + le caratere de fin !
    soit Nb+2
    exemple : envoi de FANTASPIC

    le 2em byte = 0x0B= longueur du texte + 2 !
    la longueur totale de commande ne peut pas depasser 64 bytes , donc
    Longueur max de texte = 60 chars

    Dans ce test j'ai désarmeé l' interrupt UART RX , car le renvoi d'echo perturbe le LCD , qui croit recevoir une commande !
    pour verifier le retour du LCD vers le PIC, via un terminal, il vaut mieux avoir un autre PORT UART independant
    Je ne teste donc AUCUN retour du LCD..

    Nota :
    j'ai pu tester l'affichage d'images BMP via l' appli "showBMP.ino" sur un Arduino Mini pro Atmeg328 "The Simple" ..et une carte microSD 8Go
    pin Vcc de l'arduino : mesuré 4,86V.
    affichage OK de "Minions" et "Spiderman" .. puis une demi_heure plus tard , je reteste apres avoir rajouté un autre BMP sur la carte SD.
    ..
    PLUS RIEN !???
    ..meme en rechargeant le programme .., meme en re initialisant (Formatant) la carte SD et rechargeant les fichiers originaux BMP
    la carte microSD est pourtant toujours OK avec ses fichier BMP...

    Nota: Mon modele d'écran ne fonctionne pas en dessous de 4,0V
    l'écran fonctionne encore avec l'appli MikroC ..
    La suite ,ci dessous avec appli MikroC



    Lecture fichiers BMP sur carte Micro SD

    LCD avec micro Card SD 8GO formatée FAT 32bits (chunk 2.048K)
    images dispo :
    001.BMP (minions) 120x160 x 16millions coul 57Ko
    002.bmp Spiderman 120x160 57ko
    004.bmp Banquise 320x240 226ko
    LTC.bmp LTC286 ray tracing 320x240 226ko
    PCXT.bmp PC+ecran+clavier+lampe raytracing 320x240 226ko

    Affichage en fonction du mode Rotation :
    240*320, par defaut si le parametre Rotation= 0
    ou alors 320x240 si Rotation=1

    image 320x240

    320x240

    definition de l'image en DIRECT:
    const char BMP001[]={ 0x7E,0x05,0x30,0x30,0x30,0x31,0xEF};

    La definition de la commande d'envoi vers le LCD pour l'afficher
    void LCD_BMP001()
    {
    int i=0;
    for (i=0;i<sizeof(BMP001);i++) UART1_Write(BMP001[i]);
    Delay100();
    }
    usage de cette fonction dans le main program
    LCD_BMP001();

    Nota : prevoir un delai de 2" pour image de 160x120 et jusqu'à 4 Sec. pour l'affichage complet d'une image 320x240
    vu qu'on utilise pas de Tampon RAM dans le PIC pour cela .. lecture directe carte SD en interne dans le LCD


    Application MicroC 7.60 pro :
    rev 11/12/2022
    16F1847_Smart_Serial_LCD_OLED_tactile_2_4p_2022-12.zip
    Projet :
    16F1847_test_LCD_Open_Smart_Serial_2022-12.mcppi
    Source :
    _16F1847_Test_LCD_Open_Smart_Serial_2022_1211.c
    Chargeur :
    16F1847_test_LCD_Open_Smart_Serial_2021-10.hex

    version avec chargement de 3 images BMP:
    pictures_BMP.zip
    Chargeur :
    16F1847_test_LCD_Open_Smart_Serial_2022-12.hex

    Ressources utilisée coté PIC

    images/t_Ressources_1616F1847_LCD_Serial_2021-10.gif

    video :
    Test_LCD_Open_Smart_Serial_2021-1021.webm

    pas de bol, j'ai pas l'option Touch Screen sur ce smart LCD
    Mais fort heureusement j'ai aussi celui là :
    TouchScreen_LCD_240x320_coul_ILI9341_18Fxxkxx



    ../common/GIF/mylogo_CI.gif

     

     

    paulfjujo@free.fr


    Retour à l'index general