Go Down

Topic: librairie UTFT et MEGA (Read 1 time) previous topic - next topic

angelz

bonjour à tous,

je suis en train d'essayer de faire fonctionner un ecran tft avec une mega et un shield wifi
j'utilise la librairie UTFT de
http://www.henningkarlsen.com/electronics/library.php?id=51

mais un petit problème se pose (sinon je serai pas ici lol)

si je cable comme pour une uno pas de souci cla fonctionne mais si je fait le cablage pour la Mega la j'ai un beau message d'erreur

Code: [Select]
UTFT_Demo_320x240_patch:23: error: no matching function for call to 'UTFT::UTFT(int, int, int, int, int)'
\libraries\UTFT/UTFT.h:126: note: candidates are: UTFT::UTFT(byte, int, int, int, int, int, int)
\libraries\UTFT/UTFT.h:125: note:                 UTFT::UTFT()
\libraries\UTFT/UTFT.h:123: note:                 UTFT::UTFT(const UTFT&)


voici le cablge de la UNO:


Le cablage de la Mega :


les fichier Doc de la lib :
http://www.partage-facile.com/5VIL9ZKGY3/utft.pdf.html
http://www.partage-facile.com/2T4Z554YGT/utft_requirements.pdf.html
http://www.partage-facile.com/M7B3OHRRD6/utft_supported_display_modules___controllers.pdf.html

et voici le code utilisé (qui est le code de l'exmple en fait)

Code: [Select]
// UTFT_Demo_320x240 (C)2012 Henning Karlsen
// web: http://www.henningkarlsen.com/electronics
// This demo was made for modules with a screen resolution
// of 320x240 pixels.
// This program requires the UTFT library.
//

#include <UTFT.h>

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

// Uncomment the next line for Arduino 2009/Uno
//UTFT(byte model, int RS, int WR,int CS, int RST,int ALE,int SER)
//UTFT myGLCD(ITDB32S,A1,A2,A0,A4,A5);    // Remember to change the model parameter to suit your display module!
        // si j'utilise le cablage de la UNO sur la Mega et que je décommente la ligne ci dessus ca marche
// Uncomment the next line for Arduino Mega
UTFT myGLCD(ITDB32S,38,39,40,41);   // Remember to change the model parameter to suit your display module!
         // si j'utilise le cablage de la MEGA et que je décommente la ligne ci dessus ca marche marche pas il me dit erreur

void setup()
{
 randomSeed(analogRead(0));
 
// Setup the LCD
 myGLCD.InitLCD();
 myGLCD.setFont(SmallFont);
}

void loop()
{
 int buf[318];
 int x, x2;
 int y, y2;
 int r;

// Clear the screen and draw the frame
 myGLCD.clrScr();

 myGLCD.setColor(255, 0, 0);
 myGLCD.fillRect(0, 0, 319, 13);
 myGLCD.setColor(64, 64, 64);
 myGLCD.fillRect(0, 226, 319, 239);
 myGLCD.setColor(255, 255, 255);
 myGLCD.setBackColor(255, 0, 0);
 myGLCD.print("* Universal Color TFT Display Library *", CENTER, 1);
 myGLCD.setBackColor(64, 64, 64);
 myGLCD.setColor(255,255,0);
 myGLCD.print("<http://electronics.henningkarlsen.com>", CENTER, 227);

 myGLCD.setColor(0, 0, 255);
 myGLCD.drawRect(0, 14, 319, 225);

// Draw crosshairs
 myGLCD.setColor(0, 0, 255);
 myGLCD.setBackColor(0, 0, 0);
 myGLCD.drawLine(159, 15, 159, 224);
 myGLCD.drawLine(1, 119, 318, 119);
 for (int i=9; i<310; i+=10)
   myGLCD.drawLine(i, 117, i, 121);
 for (int i=19; i<220; i+=10)
   myGLCD.drawLine(157, i, 161, i);

// Draw sin-, cos- and tan-lines  
 myGLCD.setColor(0,255,255);
 myGLCD.print("Sin", 5, 15);
 for (int i=1; i<318; i++)
 {
   myGLCD.drawPixel(i,119+(sin(((i*1.13)*3.14)/180)*95));
 }
 
 myGLCD.setColor(255,0,0);
 myGLCD.print("Cos", 5, 27);
 for (int i=1; i<318; i++)
 {
   myGLCD.drawPixel(i,119+(cos(((i*1.13)*3.14)/180)*95));
 }

 myGLCD.setColor(255,255,0);
 myGLCD.print("Tan", 5, 39);
 for (int i=1; i<318; i++)
 {
   myGLCD.drawPixel(i,119+(tan(((i*1.13)*3.14)/180)));
 }

 delay(2000);

 myGLCD.setColor(0,0,0);
 myGLCD.fillRect(1,15,318,224);
 myGLCD.setColor(0, 0, 255);
 myGLCD.setBackColor(0, 0, 0);
 myGLCD.drawLine(159, 15, 159, 224);
 myGLCD.drawLine(1, 119, 318, 119);

// Draw a moving sinewave
 x=1;
 for (int i=1; i<(318*20); i++)
 {
   x++;
   if (x==319)
     x=1;
   if (i>319)
   {
     if ((x==159)||(buf[x-1]==119))
       myGLCD.setColor(0,0,255);
     else
       myGLCD.setColor(0,0,0);
     myGLCD.drawPixel(x,buf[x-1]);
   }
   myGLCD.setColor(0,255,255);
   y=119+(sin(((i*1.1)*3.14)/180)*(90-(i / 100)));
   myGLCD.drawPixel(x,y);
   buf[x-1]=y;
 }

 delay(2000);
 
 myGLCD.setColor(0,0,0);
 myGLCD.fillRect(1,15,318,224);

// Draw some filled rectangles
 for (int i=1; i<6; i++)
 {
   switch (i)
   {
     case 1:
       myGLCD.setColor(255,0,255);
       break;
     case 2:
       myGLCD.setColor(255,0,0);
       break;
     case 3:
       myGLCD.setColor(0,255,0);
       break;
     case 4:
       myGLCD.setColor(0,0,255);
       break;
     case 5:
       myGLCD.setColor(255,255,0);
       break;
   }
   myGLCD.fillRect(70+(i*20), 30+(i*20), 130+(i*20), 90+(i*20));
 }

 delay(2000);
 
 myGLCD.setColor(0,0,0);
 myGLCD.fillRect(1,15,318,224);

// Draw some filled, rounded rectangles
 for (int i=1; i<6; i++)
 {
   switch (i)
   {
     case 1:
       myGLCD.setColor(255,0,255);
       break;
     case 2:
       myGLCD.setColor(255,0,0);
       break;
     case 3:
       myGLCD.setColor(0,255,0);
       break;
     case 4:
       myGLCD.setColor(0,0,255);
       break;
     case 5:
       myGLCD.setColor(255,255,0);
       break;
   }
   myGLCD.fillRoundRect(190-(i*20), 30+(i*20), 250-(i*20), 90+(i*20));
 }
 
 delay(2000);
 
 myGLCD.setColor(0,0,0);
 myGLCD.fillRect(1,15,318,224);

// Draw some filled circles
 for (int i=1; i<6; i++)
 {
   switch (i)
   {
     case 1:
       myGLCD.setColor(255,0,255);
       break;
     case 2:
       myGLCD.setColor(255,0,0);
       break;
     case 3:
       myGLCD.setColor(0,255,0);
       break;
     case 4:
       myGLCD.setColor(0,0,255);
       break;
     case 5:
       myGLCD.setColor(255,255,0);
       break;
   }
   myGLCD.fillCircle(100+(i*20),60+(i*20), 30);
 }
 
 delay(2000);
 
 myGLCD.setColor(0,0,0);
 myGLCD.fillRect(1,15,318,224);

// Draw some lines in a pattern
 myGLCD.setColor (255,0,0);
 for (int i=15; i<224; i+=5)
 {
   myGLCD.drawLine(1, i, (i*1.44)-10, 224);
 }
 myGLCD.setColor (255,0,0);
 for (int i=224; i>15; i-=5)
 {
   myGLCD.drawLine(318, i, (i*1.44)-11, 15);
 }
 myGLCD.setColor (0,255,255);
 for (int i=224; i>15; i-=5)
 {
   myGLCD.drawLine(1, i, 331-(i*1.44), 15);
 }
 myGLCD.setColor (0,255,255);
 for (int i=15; i<224; i+=5)
 {
   myGLCD.drawLine(318, i, 330-(i*1.44), 224);
 }
 
 delay(2000);
 
 myGLCD.setColor(0,0,0);
 myGLCD.fillRect(1,15,318,225);

// Draw some random circles
 for (int i=0; i<100; i++)
 {
   myGLCD.setColor(random(255), random(255), random(255));
   x=32+random(256);
   y=45+random(146);
   r=random(30);
   myGLCD.drawCircle(x, y, r);
 }

 delay(2000);
 
 myGLCD.setColor(0,0,0);
 myGLCD.fillRect(1,15,318,224);

// Draw some random rectangles
 for (int i=0; i<100; i++)
 {
   myGLCD.setColor(random(255), random(255), random(255));
   x=2+random(316);
   y=16+random(207);
   x2=2+random(316);
   y2=16+random(207);
   myGLCD.drawRect(x, y, x2, y2);
 }

 delay(2000);
 
 myGLCD.setColor(0,0,0);
 myGLCD.fillRect(1,15,318,224);

// Draw some random rounded rectangles
 for (int i=0; i<100; i++)
 {
   myGLCD.setColor(random(255), random(255), random(255));
   x=2+random(316);
   y=16+random(207);
   x2=2+random(316);
   y2=16+random(207);
   myGLCD.drawRoundRect(x, y, x2, y2);
 }

 delay(2000);
 
 myGLCD.setColor(0,0,0);
 myGLCD.fillRect(1,15,318,224);

 for (int i=0; i<100; i++)
 {
   myGLCD.setColor(random(255), random(255), random(255));
   x=2+random(316);
   y=16+random(209);
   x2=2+random(316);
   y2=16+random(209);
   myGLCD.drawLine(x, y, x2, y2);
 }

 delay(2000);
 
 myGLCD.setColor(0,0,0);
 myGLCD.fillRect(1,15,318,224);

 for (int i=0; i<10000; i++)
 {
   myGLCD.setColor(random(255), random(255), random(255));
   myGLCD.drawPixel(2+random(316), 16+random(209));
 }

 delay(2000);

 myGLCD.fillScr(0, 0, 255);
 myGLCD.setColor(255, 0, 0);
 myGLCD.fillRoundRect(80, 70, 239, 169);
 
 myGLCD.setColor(255, 255, 255);
 myGLCD.setBackColor(255, 0, 0);
 myGLCD.print("That's it!", CENTER, 93);
 myGLCD.print("Restarting in a", CENTER, 119);
 myGLCD.print("few seconds...", CENTER, 132);
 
 myGLCD.setColor(0, 255, 0);
 myGLCD.setBackColor(0, 0, 255);
 myGLCD.print("Runtime: (msecs)", CENTER, 210);
 myGLCD.printNumI(millis(), CENTER, 225);
 
 delay (10000);
}


je voudrais utilisé le cablage mega car j'ai un shield wifi a mettr dessus et je pense que les pin wifi (4 10 11 12 13)sont en conflit avec ceux du tft

si quelqu'un pouvais me débloquer :)
merci de votre aide

a oui le shield tft utilisé est :
http://www.partage-facile.com/M9VBOOUSD6/3inch2_arduino_lcd_shield_ug.pdf.html


guix

Bonjour, retélécharge la UTFT sur le lien que tu as mis, on dirais que tu utilise une version modifiée ou une ancienne version.

angelz

effectivement avec la librairie retéléchargé ca passe pas d'erreur :)
mais pas d'image ... mon ecran reste blanc ...

une idée ?


Go Up