Hirdetés

Keresés

Új hozzászólás Aktív témák

  • cont

    újonc

    válasz olli #9774 üzenetére

    Hoppá! A GitHubról letöltött könyvtárban nincs URtouch.h, csak Utouch.h.

  • cont

    újonc

    válasz fpeter84 #9771 üzenetére

    Nem, ezt a beállítást a szerző javasolta, mert kompatíbilis az SSD1963-mal. De az SSD1963-at is beállítottam a programban, ugyanaz a jelenség.

    A legutolsó próba ezzel a beállítással futott:

    // UTouch_ButtonTest (C)2010-2014 Henning Karlsen
    // web: http://www.henningkarlsen.com/electronics
    //
    // 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 <UTouch.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);
    UTFT myGLCD(SSD1963_800,19,18,17,16);
    // 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
    //
    UTouch 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();
    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();

    if ((y>=10) && (y<=60)) // Upper row
    {
    if ((x>=10) && (x<=60)) // Button: 1
    {
    waitForIt(10, 10, 60, 60);
    updateStr('1');
    }
    if ((x>=70) && (x<=120)) // Button: 2
    {
    waitForIt(70, 10, 120, 60);
    updateStr('2');
    }
    if ((x>=130) && (x<=180)) // Button: 3
    {
    waitForIt(130, 10, 180, 60);
    updateStr('3');
    }
    if ((x>=190) && (x<=240)) // Button: 4
    {
    waitForIt(190, 10, 240, 60);
    updateStr('4');
    }
    if ((x>=250) && (x<=300)) // Button: 5
    {
    waitForIt(250, 10, 300, 60);
    updateStr('5');
    }
    }

    if ((y>=70) && (y<=120)) // Center row
    {
    if ((x>=10) && (x<=60)) // Button: 6
    {
    waitForIt(10, 70, 60, 120);
    updateStr('6');
    }
    if ((x>=70) && (x<=120)) // Button: 7
    {
    waitForIt(70, 70, 120, 120);
    updateStr('7');
    }
    if ((x>=130) && (x<=180)) // Button: 8
    {
    waitForIt(130, 70, 180, 120);
    updateStr('8');
    }
    if ((x>=190) && (x<=240)) // Button: 9
    {
    waitForIt(190, 70, 240, 120);
    updateStr('9');
    }
    if ((x>=250) && (x<=300)) // Button: 0
    {
    waitForIt(250, 70, 300, 120);
    updateStr('0');
    }
    }

    if ((y>=130) && (y<=180)) // Upper row
    {
    if ((x>=10) && (x<=150)) // 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>=160) && (x<=300)) // 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);
    }
    }
    }
    }
    }
    }

  • cont

    újonc

    Szervusztok!

    Segítségeteket kérem.

    Összeállítás:

    - ER-AS-SSD1963 LCD érintőképernyő meghajtó Arduino shield
    [https://www.buydisplay.com/arduino/ER-AS-SSD1963_Datasheet.pdf][link]

    - ER-TFTM070-4V2.1 TFT LCD modul
    [https://www.buydisplay.com/download/manual/ER-TFTM070-4V2.1_Datasheet.pdf][link]

    - Arduino DUE

    Több szoftvert is feltöltöttem az Arduinora, de egyikkel sem működik. A háttérvilágítás megy, de a képernyő sötét marad és csak akkor jelenik meg egy pillanatkép, ha az alaplap vagy a shield RESET gombját megnyomom. A szoftverek hibakód nélkül lefutottak. Mi lehet a probléma, hogy tudom elhárítani?

    Ez a szoftver, amit a GitHubról töltöttem le:

    // UTouch_ButtonTest (C)2010-2014 Henning Karlsen
    // web: http://www.henningkarlsen.com/electronics
    //
    // 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 <UTouch.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);
    //UTFT myGLCD(SSD1963_800,19,18,17,16);
    // 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
    //
    UTouch 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();
    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();

    if ((y>=10) && (y<=60)) // Upper row
    {
    if ((x>=10) && (x<=60)) // Button: 1
    {
    waitForIt(10, 10, 60, 60);
    updateStr('1');
    }
    if ((x>=70) && (x<=120)) // Button: 2
    {
    waitForIt(70, 10, 120, 60);
    updateStr('2');
    }
    if ((x>=130) && (x<=180)) // Button: 3
    {
    waitForIt(130, 10, 180, 60);
    updateStr('3');
    }
    if ((x>=190) && (x<=240)) // Button: 4
    {
    waitForIt(190, 10, 240, 60);
    updateStr('4');
    }
    if ((x>=250) && (x<=300)) // Button: 5
    {
    waitForIt(250, 10, 300, 60);
    updateStr('5');
    }
    }

    if ((y>=70) && (y<=120)) // Center row
    {
    if ((x>=10) && (x<=60)) // Button: 6
    {
    waitForIt(10, 70, 60, 120);
    updateStr('6');
    }
    if ((x>=70) && (x<=120)) // Button: 7
    {
    waitForIt(70, 70, 120, 120);
    updateStr('7');
    }
    if ((x>=130) && (x<=180)) // Button: 8
    {
    waitForIt(130, 70, 180, 120);
    updateStr('8');
    }
    if ((x>=190) && (x<=240)) // Button: 9
    {
    waitForIt(190, 70, 240, 120);
    updateStr('9');
    }
    if ((x>=250) && (x<=300)) // Button: 0
    {
    waitForIt(250, 70, 300, 120);
    updateStr('0');
    }
    }

    if ((y>=130) && (y<=180)) // Upper row
    {
    if ((x>=10) && (x<=150)) // 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>=160) && (x<=300)) // 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);
    }
    }
    }
    }
    }
    }

    Nem ez volt az egyetlen program amit feltöltöttem, de mindegyikkel így jártam. Volt olyan is, amelyik nem használta az érintő funkciókat, csak a megjelenítést, az sem működött. :(

Új hozzászólás Aktív témák

Hirdetés