horloge sur tft : croquis original erreur compil ?

hello tlm

quand j'utilise le sketch copié ne compile pas : sketch original

les erreurs :

#include "SPI.h"
#include "Adafruit_GFX.h"
#include "Adafruit_ILI9341.h"
#include <Wire.h>
#include <Time.h>
#include <DS1307RTC.h>

#define TFT_DC 9// pas defini dans le sketch original
#define TFT_CS 10 // idem


//Adafruit_ILI9341 tft = Adafruit_ILI9341();// sketch original
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC);// exempl adafruit ili9341library
//message error skertch original  : expect 3 variables
void setup(){} //

comme çà il compile et affiche l'horloge

le deuxieme pgme sur le lien doit etre compilé avec visualstudio ou gcc ou other IDE pour mettre le rtc à l'heure par le port usb/com
j'ai pas visual et c'est quoi gcc ou other ide ?
je dois installer quoi ?

merci

lorsque tu lances le prg, si tu ouvre le moniteur en 9600 bauds et que tu tapes
m+2014-12-25 23:59:01+e
et bien sur "return"
ca ne change rien ?

je branche un rtc déjà misà l'heure, j'ai supprimé les fonctions mise a l'heure lecture sérial
çà fonctionne , à l'heure chaque fois que je branche sur pile ou adapteur secteur 5volts

/


 - DS1307 RTC j'ai supprimer la methode de mise a l'eure par le
 port usb, le rtc doit etre mis à l'heure avant de brancher 


#include "SPI.h"
#include "Adafruit_GFX.h"
#include "Adafruit_ILI9341.h" //pas besoin de changer pour ili9340
#include <Wire.h>
#include <Time.h>
#include <DS1307RTC.h>

#define BLACK           0x0000      /*   0,   0,   0 */
#define NAVY            0x000F      /*   0,   0, 128 */
#define DARKGREEN       0x03E0      /*   0, 128,   0 */
#define DARKCYAN        0x03EF      /*   0, 128, 128 */
#define MAROON          0x7800      /* 128,   0,   0 */
#define PURPLE          0x780F      /* 128,   0, 128 */
#define OLIVE           0x7BE0      /* 128, 128,   0 */
#define LIGHTGREY       0xC618      /* 192, 192, 192 */
#define DARKGREY        0x7BEF      /* 128, 128, 128 */
#define BLUE            0x001F      /*   0,   0, 255 */
#define GREEN           0x07E0      /*   0, 255,   0 */
#define CYAN            0x07FF      /*   0, 255, 255 */
#define RED             0xF800      /* 255,   0,   0 */
#define MAGENTA         0xF81F      /* 255,   0, 255 */
#define YELLOW          0xFFE0      /* 255, 255,   0 */
#define WHITE           0xFFFF      /* 255, 255, 255 */
#define ORANGE          0xFD20      /* 255, 165,   0 */
#define GREENYELLOW     0xAFE5      /* 173, 255,  47 */
#define PINK            0xF81F

#define BACKGROUND      BLACK
#define FACE            YELLOW
#define HAND_S          RED
#define HAND_M          CYAN
#define HAND_H          CYAN
#define NUMERIC_POINT   WHITE 

#define TFT_DC 9// pas defini dans le sketch original
#define TFT_CS 10 // idem

#define Xo 119
#define Yo 119
#define RADIUS 90
#define HELLO_X 2
#define HELLO_Y 250
#define TEXT_SIZE 2

Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC);// 


void setup(){} 

/** -------- Functions -------- **/

// Draw Clock Face
void drawFace()
{
    int i=0, angle=0;
    float x, y;
    
    // Draw outer frame
    tft.drawCircle(Xo, Yo, RADIUS+24, FACE);
    tft.drawCircle(Xo, Yo, RADIUS+23, FACE);
    // Draw inner frame
    tft.drawCircle(Xo, Yo, RADIUS+12, FACE);
    tft.drawCircle(Xo, Yo, RADIUS+11, FACE);
    tft.drawCircle(Xo, Yo, RADIUS+10, FACE);
    //Draw Numeric point
    for (i=0;i<=12;i++) {
      x=Xo+RADIUS*cos(angle*M_PI/180);
      y=Yo+RADIUS*sin(angle*M_PI/180);
      tft.drawCircle(x, y, 2, NUMERIC_POINT);
  angle+=30;
    } 
    for (i=0;i<360;i+=6){
      tft.drawPixel(Xo+RADIUS*cos(i*M_PI/180), Yo+RADIUS*sin(i*M_PI/180), NUMERIC_POINT);
    }
}
// Draw Second hand
void secondHand(int s, int color)
{
  float angle = -90;
  float Xa, Ya, Xb, Yb;  

  Xa=Xo+(RADIUS-15)*cos((angle+s*6)*M_PI/180);
  Ya=Yo+(RADIUS-15)*sin((angle+s*6)*M_PI/180);
  Xb=Xo+(15)*cos((180+angle+s*6)*M_PI/180);
  Yb=Xo+(15)*sin((180+angle+s*6)*M_PI/180);
  tft.drawLine(Xb, Yb, Xa, Ya, color);
  tft.fillCircle(Xb, Yb, 2, color);
}

// Draw Minute hand
void minuteHand(int m, int s, int color)
{
  float angle=-90;
  float Xa, Ya;
  Xa=Xo+(RADIUS-20)*cos((angle+m*6/*+(s*6/60)*/)*M_PI/180);
  Ya=Yo+(RADIUS-20)*sin((angle+m*6/*+(s*6/60)*/)*M_PI/180);
  tft.drawLine(Xo, Yo, Xa, Ya, color);
}
// Draw Hour hand
void hourHand(int h, int m, int s, int color)
{
  float angle=-90;
  float Xa, Ya;
  Xa=Xo+(RADIUS-(RADIUS/2))*cos((angle+h*30+(m*30/60))*M_PI/180);
  Ya=Yo+(RADIUS-(RADIUS/2))*sin((angle+h*30+(m*30/60))*M_PI/180);
  tft.drawLine(Xo, Yo, Xa, Ya, color);
}

// Print Hour
void hour2word(int h)
{
  switch (h)
  {
    case 0: tft.print(" minuit ");break;
    case 1: 
    case 13:tft.print(" UNE ");break;
    case 2:
    case 14: tft.print(" DEUX ");break;
    case 3:
    case 15: tft.print(" TROIS ");break;
    case 4:
    case 16: tft.print(" QUATRE ");break;
    case 5:
    case 17: tft.print(" CINQ ");break;
    case 6:
    case 18: tft.print(" SIX ");break;
    case 7:
    case 19: tft.print(" SEPT ");break;
    case 8:
    case 20: tft.print(" HUIT ");break;
    case 9:
    case 21: tft.print(" NEUF ");break;
    case 10:
    case 22: tft.print(" DIX ");break;
    case 11:
    case 23: tft.print(" ONZE ");break;
    case 12: tft.print(" ZERO ");break;
    default: break;
  }
}

// Print Minute
void minute2word(int m)
{
  switch (m/5)// ecrire les chiffres en lettres ?
  //voire chaque minute = 59 case/break
  {
    case 1: tft.print("     5 minutes ");break;
    case 2: tft.print("     10 minutes ");break;
    case 3: tft.print("    et quart ");break;
    case 4: tft.print("     20 minutes ");break;
    case 5: tft.print("     25 minutes ");break;
    case 6: tft.print("    et demi ");break;
    case 7: tft.print("    moins 25 ");break;
    case 8: tft.print("    moins 20 ");break;
    case 9: tft.print("    moins quart ");break;
    case 10: tft.print("   moins 10 ");break;
    case 11: tft.print("   moins 5 ");break;
  }
}

// Print Time in words
void printWordClock(int m, int h, int color)
{
  tft.setTextColor(color);
    
  hour2word((m>32)? ((h+1==24)?0:h+1):h); // h+1 for minutes has pass 30
  //if (m>57 || m<3) // minute from 58 to 02
    //if (h!=12 && h!=0 && h!=23 && h!=11) // 12 = noon, 0 = midnight
        tft.print("heures"); // il faudrait mettre au singulier pour
       //zero et une heure, et supprimer le string heure quand écrit minuit
      // ecrire les minutes au debut de la ligne en dessous de heures
     // il est huit heures
    //  10 minutes 
        minute2word(m+2);
}

// Print Hello
void sayHello(int m, int h, int color){
  tft.setTextColor(color);
  tft.setCursor(HELLO_X, HELLO_Y);
  tft.print("BON");
  if (h>4&&h<12)  tft.print("JOUR, ");   // 5AM to 11AM
  if (h>11&&h<18) tft.print("JOUR, "); // 12PM to 5PM
  if (h>17&&h<22) tft.print("SOIR, ");   // 6PM to 9PM
  if (h>21||h<5)  tft.print("SOIR, ");    // 9PM to 4AM
}

// Doing set-up
void startUp() 
{
  // for easy connect RTC to UNO* PAS UTILISE GND ET  VOLTS DIRECT*
  pinMode(A3,OUTPUT);
  pinMode(A2,OUTPUT);
  digitalWrite(A3,HIGH);  // connect to VCC
  digitalWrite(A2,LOW);   // connect to GND

  tft.begin();
  tft.fillScreen(BACKGROUND);
  tft.setTextSize(TEXT_SIZE);
  drawFace();  
}

void loop(void) 
{
  int h, m, s, prev_h, prev_m, prev_s;
  
  startUp();
  for ( ; ; ) 
  {
    setTime(RTC.get());// lit l'heure dans le rtc
    s = second();
    m = minute();
    h = hour();
    
    secondHand(prev_s, BACKGROUND);               // clear old hand
    hourHand(prev_h, prev_m, prev_s, BACKGROUND); // clear old hand
    hourHand(h, m, s, HAND_H);                    // draw new hand
    minuteHand(prev_m, prev_s, BACKGROUND );      // clear old hand
    minuteHand(m, s, HAND_M);                     // draw new hand
    secondHand(s, HAND_S);                        // draw new hand
    tft.fillCircle(Xo, Yo, 4, FACE);              // draw center dot

    //clear old text or print the same old text with background color
    if (m!=prev_m || h!=prev_h) //only if different in minute or hour
    {
      sayHello(prev_m, prev_h, BACKGROUND);
      sayHello(m, h, GREEN);
      
      tft.setTextColor(WHITE);
      tft.setCursor(2, 267);
      tft.print("il est ");
    
      tft.setCursor(76, 267);
      printWordClock(prev_m, prev_h, BACKGROUND);

      tft.setCursor(76, 267);    
      printWordClock(m, h, WHITE);//heure moins minute
    } 
   
    // get the old time before get update in next loop
    prev_m=m; prev_s=s; prev_h=h;
    delay(990);
  }
}