Horloge type wordclock

ton code avec 2 appels à affiche2 ( ou 1 appel à affiche4 en attente )

tiens nous au courant

#include<Wire.h>
#include "DS1307.h"
int clock_hour;
int clock_minute;
int clock_calculsupminute;
int clock_supminute;
int clock_calculminute;
int clock_calculhour;
DS1307 clock;

void setup(){
  Serial.begin(115200);
  for (byte f=2;f<7;f++) {pinMode(f,OUTPUT);digitalWrite(f, true);}//D2 à D7
  pinMode(7,OUTPUT);digitalWrite(7, false);
  for (byte f=8;f<13;f++){pinMode(f,OUTPUT);digitalWrite(f,true);}//D8 à D12
  pinMode(14,OUTPUT);digitalWrite(14, true);                        //A0
  pinMode(15,OUTPUT);digitalWrite(15,false);                        //A1
  clock.begin();
  clock.fillByYMD(2017,11,23);
  clock.fillByHMS(13,10,30);
  clock.fillDayOfWeek(SAT);
  clock.setTime();

}
void loop(){
  printTime();
}
void printTime(){
  clock.getTime();

//(...)

  if (clock_hour == 1) {affiche2(14, 8,0,0);}                               //1.1  A0.D8  "une"
  if (clock_hour == 2) {affiche2(14, 9,0,0);}                               //1.2  A0.D9  "deux"
  if (clock_hour == 3) {affiche2(14,10,0,0);}                               //1.3  A0.D10 "troi" 
  if (clock_hour == 3) {affiche2(14,11,0,0);}                               //1.4  A0.D11 "s"
    //if (clock_hour == 3) {affiche4(14,10,14,11,0,0,0,0);}                 //1.3  A0.D10 "troi" 1.4  A0.D11 "s"
  if (clock_hour == 4) {affiche2(14,12,0,0);}                               //1.5  A0.D12 "quat"
  if (clock_hour == 4) {affiche2(15, 8,1,0);}                               //2.1  A1.D8  "re"
    //if (clock_hour == 4) {affiche4(14,12,15, 8,0,0,1,0);}                 //1.5  A0.D12 "quat" 2.1  A1.D8  "re"
  if (clock_hour == 5) {affiche2(15, 9,1,0);}                               //2.2  A1.D9  "cinq"
  if (clock_hour == 6) {affiche2(15,10,1,0);}                               //2.3  A1 D10 "six"
  if (clock_hour == 7) {affiche2(15,11,1,0);}                               //2.4  A1 D11 "sept"
  if (clock_hour == 8) {affiche2(15,12,1,0);}                               //2.5  A1 D12 "huit"
  if (clock_hour == 9) {affiche2( 2, 8,0,0);}                               //3.1  D2 D8  "neuf"
  if (clock_hour == 10){affiche2( 2, 9,0,0);}                               //3.2  D2.D9  "dix"
  if (clock_hour == 11){affiche2( 2,10,0,0);}                               //3.3  D2.D10 "onze"
  if (clock_hour == 12){affiche2( 2,11,0,0);}                               //3.4  D2.D11 "minu" 
  if (clock_hour == 12){affiche2( 2,12,0,0);}                               //3.5  D2.D12 "it"
    //if (clock_hour == 12){affiche4( 2,11, 2,12,0,0,0,0);}                 //3.4  D2.D11 "minu" 3.5 D2.D12 "it"
  affiche4( 3,8,3,9,0,0,0,0);                                               //4.1 D3.D8 "il es" 4.2 D3.D9 "t"
  if(clock_hour!=0&&clock_hour!=12){affiche2( 3,10,0,0);}                   //4.3  D3.D10 "e"   
  if(clock_minute==15||clock_minute==30){affiche2( 3,11,0,0);}              //4.4  D3.D11 "et"
  if(clock_minute<0){affiche2(3,12,0,0);}                                   //4.5 D3.D12 "moin"
  if (clock_hour>1&&clock_hour!=12){affiche2(4,8,0,0);}                     //5.1  D4.D8 "s"
  if(clock_minute==10||clock_minute==-10){affiche2(4,9,0,0);}               //5.2  D4.D9 "dix"
  if(clock_minute==15||clock_minute==-15){affiche2(4,10,0,0);}              //5.3  D4.D10 "quar"
  if(clock_minute==15||clock_minute==-15){affiche2(4,11,0,0);}              //5.4  D4.D11 "t"
    //if(clock_minute==15||clock_minute==-15){affiche4(4,10,4,11,0,0,0,0);} //5.3  D4.D10 "quar"//5.4  D4.D11 "t"
  if(clock_hour<-15||clock_hour==20||clock_hour==25){affiche2(4,12,0,0);}   //5.5  D4.D12 "ving" 
  if(clock_hour<-15||clock_hour==20||clock_hour==25){affiche2(5, 8,0,0);}   //6.1  D5.D8  "t"
    //if(clock_hour<-15||clock_hour==20||clock_hour==25){affiche4(4,12,5, 8,0,0,0,0);} //5.5  D4.D12 "ving" //6.1  D5.D8  "t"
  if(clock_hour==-25||clock_hour==25){affiche2(5, 9,0,0);}                  //6.2  D5.D9  "-"
  if(clock_hour==-25||clock_hour==25){affiche2(5,10,0,0);}                  //6.3  D5.D10 "cinq"
    //if(clock_hour==-25||clock_hour==25){affiche4(5, 9,5,10,0,0,0,0);}     //6.2  D5.D9  "-" //6.3  D5.D10 "cinq"
  if(clock_supminute>0){affiche2(5,11,0,0);}                                //6.4  D5.D11 "0"
  if(clock_supminute==4){affiche2(5,12,0,0);}                               //6.5  D5.D12 "0"
  if(clock_supminute>2){affiche2(6,8,0,0);}                                 //7.1  D6.D8 "0"
  if(clock_supminute>1){affiche2(6,9,0,0);}                                 //7.2  D6.D9 "0"
  if(clock_hour!=0&&clock_hour!=12){affiche2(6,10,0,0);}                    //7.3  D6.D10 "heur"
  if(clock_hour==12){affiche2(6,11,0,0);}                                   //7.4  D6.D11 "midi"
  if(clock_minute==30){affiche2(6,12,0,0);}                                 //7.5  D6.D12 "demi"
  if(clock_minute==30){affiche2(7,8,1,0);}                                  //8.1  D7.D8 "E"
    //if(clock_minute==30){affiche4(6,12,7,8,1,0,0,0);}                     //7.5  D6.D12 "demi"//8.1  D7.D8 "E"
  if(clock_minute<0){affiche2(7,9,1,0);}                                    //8.2  D7.D9 "s"
}
void affiche2(byte ligne ,byte colonne,int para1,int para2)
{
    digitalWrite(ligne,para1);  Serial.print(ligne);Serial.print(" ");Serial.print(para1);Serial.print(" ");
    digitalWrite(colonne,para2);Serial.print(colonne);Serial.print(" ");Serial.println(para2);
    delay(2);
    digitalWrite(ligne,(!para1));Serial.print(ligne);Serial.print(" ");Serial.print(!para1);Serial.print(" ");
    digitalWrite(colonne,(!para2));Serial.print(colonne);Serial.print(" ");Serial.println(!para2);
}

void affiche4(byte ligne1 ,byte colonne1,byte ligne2 ,byte colonne2,int para1,int para2,int para3,int para4)
{
    digitalWrite(ligne1,  para1);Serial.print(ligne1);Serial.print(" ");Serial.print(para1);Serial.print(" ");
    digitalWrite(colonne1,para2);Serial.print(colonne1);Serial.print(" ");Serial.println(para2);
    digitalWrite(ligne2,  para3);Serial.print(ligne2);Serial.print(" ");Serial.print(para3);Serial.print(" ");
    digitalWrite(colonne2,para4);Serial.print(colonne2);Serial.print(" ");Serial.println(para4);
    delay(2);
    digitalWrite(ligne1,  (!para1));Serial.print(ligne1);Serial.print(" ");Serial.print(!para1);Serial.print(" ");
    digitalWrite(colonne1,(!para2));Serial.print(colonne1);Serial.print(" ");Serial.println(!para2);
    digitalWrite(ligne2,  (!para3));Serial.print(ligne2);Serial.print(" ");Serial.print(!para3);Serial.print(" ");
    digitalWrite(colonne2,(!para4));Serial.print(colonne2);Serial.print(" ");Serial.println(!para4);
}