Go Down

Topic: Donde conseguir pantalla TFT en Peru (Read 1 time) previous topic - next topic

josepaul

Mar 24, 2017, 06:29 pm Last Edit: Mar 24, 2017, 06:42 pm by josepaul
Compañeros muy buenas, disculpen la pregunta, se que no corresponde mucho al tema, pero necesito conseguir con urgencia una pantalla TFT de 7" y adaptador para la misma pantalla para colocarla en un arduino mega. Quizás me digan que la importe pero es mucho tiempo, estado averiguando en las tiendas de Lima-Perú pero en las tiendas que encontré en la web no tienen la pantalla.
Esta es la pantalla de 7" con el adaptador que necesito.
http://www.fut-electronics.com/wp-content/uploads/2013/08/TFT7.0-shield.jpg


josepaul

compañeros encontre la pantalla en un proveedor aca en Peru, espero le sirva a alguien :https://electropro.pe/index.php?route=product/product&path=65&product_id=437

TFTLCDCyg

#2
Mar 31, 2017, 06:33 am Last Edit: Mar 31, 2017, 06:36 am by TFTLCDCyg
Que bien que conseguiste un proveedor en tu país. Recuerda leer respecto al tema de como ponerla a punto, luego cuando la tengas en tus manos será mas fácil programar tu arduino para sacarle todo el provecho.

Las librerías que desde ya debes saber manejar son la UTFT y la URtouch.

josepaul

Compañero algun ejemplo para esta pantalla

josepaul

En la misma librerías hay ejemplos, disculpen no había revisado bien, pero ahora tengo un problema pues las letras y los numero salen al revés, osea invertidos de izquierda a derecha

Code: [Select]
// URTouch_ButtonTest
// Copyright (C)2015 Rinky-Dink Electronics, Henning Karlsen. All right reserved
// web: http://www.RinkyDinkElectronics.com/
//
// This program is a quick demo of how create and use buttons.
//
// This program requires the UTFT library.
//
// It is assumed that the display module is connected to an
// appropriate shield or that you know how to change the pin
// numbers in the setup.
//

#include <UTFT.h>
#include <URTouch.h>

// Initialize display
// ------------------
// Set the pins to the correct ones for your development board
// -----------------------------------------------------------
// Standard Arduino Uno/2009 Shield            : <display model>,19,18,17,16
// Standard Arduino Mega/Due shield            : <display model>,38,39,40,41
// CTE TFT LCD/SD Shield for Arduino Due       : <display model>,25,26,27,28
// Teensy 3.x TFT Test Board                   : <display model>,23,22, 3, 4
// ElecHouse TFT LCD/SD Shield for Arduino Due : <display model>,22,23,31,33
//
// Remember to change the model parameter to suit your display module!
UTFT    myGLCD(ITDB50,38,39,40,41);

// Initialize touchscreen
// ----------------------
// Set the pins to the correct ones for your development board
// -----------------------------------------------------------
// Standard Arduino Uno/2009 Shield            : 15,10,14, 9, 8
// Standard Arduino Mega/Due shield            :  6, 5, 4, 3, 2
// CTE TFT LCD/SD Shield for Arduino Due       :  6, 5, 4, 3, 2
// Teensy 3.x TFT Test Board                   : 26,31,27,28,29
// ElecHouse TFT LCD/SD Shield for Arduino Due : 25,26,27,29,30
//
URTouch  myTouch( 6, 5, 4, 3, 2);

// Declare which fonts we will be using
extern uint8_t BigFont[];

int x, y;
char stCurrent[20]="";
int stCurrentLen=0;
char stLast[20]="";

/*************************
**   Custom functions   **
*************************/

void drawButtons()
{
// Draw the upper row of buttons
  for (x=0; x<5; x++)
  {
    myGLCD.setColor(0, 0, 255);
    myGLCD.fillRoundRect (10+(x*60), 10, 60+(x*60), 60);
    myGLCD.setColor(255, 255, 255);
    myGLCD.drawRoundRect (10+(x*60), 10, 60+(x*60), 60);
    myGLCD.printNumI(x+1, 27+(x*60), 27);
  }
// Draw the center row of buttons
  for (x=0; x<5; x++)
  {
    myGLCD.setColor(0, 0, 255);
    myGLCD.fillRoundRect (10+(x*60), 70, 60+(x*60), 120);
    myGLCD.setColor(255, 255, 255);
    myGLCD.drawRoundRect (10+(x*60), 70, 60+(x*60), 120);
    if (x<4)
      myGLCD.printNumI(x+6, 27+(x*60), 87);
  }
  myGLCD.print("0", 267, 87);
// Draw the lower row of buttons
  myGLCD.setColor(0, 0, 255);
  myGLCD.fillRoundRect (10, 130, 150, 180);
  myGLCD.setColor(255, 255, 255);
  myGLCD.drawRoundRect (10, 130, 150, 180);
  myGLCD.print("Clear", 40, 147);
  myGLCD.setColor(0, 0, 255);
  myGLCD.fillRoundRect (160, 130, 300, 180);
  myGLCD.setColor(255, 255, 255);
  myGLCD.drawRoundRect (160, 130, 300, 180);
  myGLCD.print("Enter", 190, 147);
  myGLCD.setBackColor (0, 0, 0);
}

void updateStr(int val)
{
  if (stCurrentLen<20)
  {
    stCurrent[stCurrentLen]=val;
    stCurrent[stCurrentLen+1]='\0';
    stCurrentLen++;
    myGLCD.setColor(0, 255, 0);
    myGLCD.print(stCurrent, LEFT, 224);
  }
  else
  {
    myGLCD.setColor(255, 0, 0);
    myGLCD.print("BUFFER FULL!", CENTER, 192);
    delay(500);
    myGLCD.print("            ", CENTER, 192);
    delay(500);
    myGLCD.print("BUFFER FULL!", CENTER, 192);
    delay(500);
    myGLCD.print("            ", CENTER, 192);
    myGLCD.setColor(0, 255, 0);
  }
}

// Draw a red frame while a button is touched
void waitForIt(int x1, int y1, int x2, int y2)
{
  myGLCD.setColor(255, 0, 0);
  myGLCD.drawRoundRect (x1, y1, x2, y2);
  while (myTouch.dataAvailable())
    myTouch.read();
  myGLCD.setColor(255, 255, 255);
  myGLCD.drawRoundRect (x1, y1, x2, y2);
}

/*************************
**  Required functions  **
*************************/

void setup()
{
// Initial setup
  myGLCD.InitLCD();
  myGLCD.clrScr();

  myTouch.InitTouch(PORTRAIT);
  myTouch.setPrecision(PREC_MEDIUM);

  myGLCD.setFont(BigFont);
  myGLCD.setBackColor(0, 0, 255);
  drawButtons(); 
}

void loop()
{
  while (true)
  {
    if (myTouch.dataAvailable())
    {
      myTouch.read();
      x=myTouch.getX();
      y=myTouch.getY();

      int barwidth=20;
      int left,right;
      if ((y>=10) && (y<=60))  // Upper row
      {
        left=10;
        right =left+barwidth;
        if ((x>=left) && (x<=right))  // Button: 1
        {
          waitForIt(10, 10, 60, 60);
          updateStr('1');
        }
        left=right+10;//l70
        right =left+barwidth; //r120
        if ((x>=left) && (x<=right))  // Button: 2
        {
          waitForIt(70, 10, 120, 60);
          updateStr('2');
        }
   
    left=right+10;//l 130
        right =left+barwidth; //r180
        if ((x>=left) && (x<=right))  // Button: 3
        {
          waitForIt(130, 10, 180, 60);
          updateStr('3');
        }
    left=right+10;//l 190
        right =left+barwidth; //r240
        if ((x>=left) && (x<=right))  // Button: 4
        {
          waitForIt(190, 10, 240, 60);
          updateStr('4');
        }
   
    left=right+10;//l 250
        right =left+barwidth; //r300
        if ((x>=left) && (x<=right))  // Button: 5
        {
          waitForIt(250, 10, 300, 60);
          updateStr('5');
        }

      }

      if ((y>=70) && (y<=120))  // Center row
      {
             left=10;
        right =left+barwidth; // l 10 r 30
        if ((x>=left) && (x<=right))  // Button: 6
        {
         waitForIt(10, 70, 60, 120);
          updateStr('6');
        }
        left=right+10;//l 40
        right =left+barwidth; //r 60
        if ((x>=left) && (x<=right))  // Button: 7
        {
          waitForIt(70, 70, 120, 120);
          updateStr('7');
        }
   
    left=right+10;//l 70
        right =left+barwidth; //r90
        if ((x>=left) && (x<=right))  // Button: 8
        {
         waitForIt(130, 70, 180, 120);
          updateStr('8');
        }
    left=right+10;//l 190
        right =left+barwidth; //r240
        if ((x>=left) && (x<=right))  // Button: 9
        {
         waitForIt(190, 70, 240, 120);
          updateStr('9');
        }
   
    left=right+10;//l 250
        right =left+barwidth; //r300
        if ((x>=left) && (x<=right))  // Button: 0
        {
         waitForIt(250, 70, 300, 120);
          updateStr('0');
        }

      }

      if ((y>=130) && (y<=180))  // control row
      {
        if ((x>=10) && (x<=70))  // Button: Clear
        {
          waitForIt(10, 130, 150, 180);
          stCurrent[0]='\0';
          stCurrentLen=0;
          myGLCD.setColor(0, 0, 0);
          myGLCD.fillRect(0, 224, 319, 239);
        }
        if ((x>=70) && (x<=100))  // Button: Enter
        {
          waitForIt(160, 130, 300, 180);
          if (stCurrentLen>0)
          {
            for (x=0; x<stCurrentLen+1; x++)
            {
              stLast[x]=stCurrent[x];
            }
            stCurrent[0]='\0';
            stCurrentLen=0;
            myGLCD.setColor(0, 0, 0);
            myGLCD.fillRect(0, 208, 319, 239);
            myGLCD.setColor(0, 255, 0);
            myGLCD.print(stLast, LEFT, 208);
          }
          else
          {
            myGLCD.setColor(255, 0, 0);
            myGLCD.print("BUFFER EMPTY", CENTER, 192);
            delay(500);
            myGLCD.print("            ", CENTER, 192);
            delay(500);
            myGLCD.print("BUFFER EMPTY", CENTER, 192);
            delay(500);
            myGLCD.print("            ", CENTER, 192);
            myGLCD.setColor(0, 255, 0);
          }
        }
      }
    }
  }
}

TFTLCDCyg

Debes investigar primero cual es el controlador exacto que usa tu pantalla.

El que estas usando
Code: [Select]
UTFT    myGLCD(ITDB50,38,39,40,41);

Corresponde a pantallas de 5", creo que para tu pantalla de 7", el que deberías usar este: CTE70

Prueba estas dos opciones:

1 Modificar el constructor con hasta dar con el driver correcto.

2. Trata de usar un IDE de arduino dos o tres versiones antes del actual, ya que la librería UTFT no se actualiza tan frecuentemente.

Mientras tanto, pregunta al vendedor por un ejemplo funcional para la pantalla que te vendió, seguramente te dará el correcto.

josepaul

Excelente amigo me funciono con el controlador CTE70

Go Up