menu projet
Dependencies: SDFileSystem SPI_TFT_ILI9341 TFT_fonts mbed
Fork of TFT_banggood by
main.cpp
00001 #include "stdio.h" 00002 #include "mbed.h" 00003 #include "SPI_TFT_ILI9341.h" 00004 #include "string" 00005 #include "Arial12x12.h" 00006 #include "Arial24x23.h" 00007 #include "Arial28x28.h" 00008 #include "font_big.h" 00009 #include "SDFileSystem.h" 00010 00011 InterruptIn BPlus(p21); 00012 InterruptIn BMoins(p22); // Déclaration des Boutons poussoirs 00013 InterruptIn BValide(p23); 00014 00015 char PosMenu; // Déclaration des menus 00016 bool MenuPrincipal; 00017 bool ecrire; 00018 Ticker heure; 00019 int flip = 0; 00020 00021 // Pin de connection de l'écran TFT 00022 SPI_TFT_ILI9341 TFT(p11, p12, p13, p5, p7, p6,"TFT"); //mosi,miso,sclk,cs,reset,dc 00023 00024 void attime() 00025 { 00026 flip = !flip; 00027 } 00028 void trigger1() //Bouton poussoir de gauche 00029 { 00030 ecrire=0; 00031 if(MenuPrincipal==0) { 00032 if(PosMenu>0) { 00033 PosMenu=PosMenu-1; 00034 wait_ms(75); 00035 } 00036 } 00037 } 00038 void trigger2() //Bouton poussoir du milieu 00039 { 00040 ecrire=0; 00041 if(MenuPrincipal==0) { 00042 if(PosMenu<=1) { 00043 PosMenu=PosMenu+1; 00044 wait_ms(75); 00045 } 00046 } 00047 } 00048 void trigger3() //Bouton poussoir de droite 00049 { 00050 ecrire=0; 00051 if(MenuPrincipal==0) { 00052 MenuPrincipal=1; 00053 } else { 00054 MenuPrincipal=0; 00055 wait_ms(75); 00056 } 00057 } 00058 int main () 00059 { 00060 heure.attach(&attime, 10); 00061 MenuPrincipal=0; 00062 PosMenu=0; 00063 BPlus.rise(&trigger1); 00064 BMoins.rise(&trigger2); 00065 BValide.rise(&trigger3); 00066 set_time(456771); 00067 TFT.claim(stdout); 00068 TFT.set_orientation(3); 00069 TFT.background(White); // Applique le fond de l'écran en blanc 00070 TFT.foreground(Black); // Applique la police de caractère en noir 00071 TFT.cls(); // Réinitialise l'écran 00072 TFT.set_font((unsigned char*) Neu42x35); 00073 TFT.locate(12,1); 00074 TFT.printf("MENU"); 00075 TFT.rect(5,40,826,85,Black); // Rectangles 00076 TFT.rect(5,90,826,135,Black); 00077 TFT.rect(5,140,826,185,Black); 00078 TFT.rect(5,190,826,235,Black); 00079 while(1) { 00080 00081 if(flip == 0) { 00082 TFT.set_font((unsigned char*) Arial28x28); 00083 TFT.locate(220,10); 00084 time_t heure=time(NULL); 00085 char buffer[32]; 00086 strftime(buffer,32,"%Hh%M",localtime(&heure)); 00087 TFT.printf("%s",buffer); 00088 } 00089 TFT.set_font((unsigned char*) Neu42x35); 00090 if(ecrire==0) { 00091 if(MenuPrincipal==0) { 00092 if(PosMenu==0) { //Sélection sur CAPTEURS 00093 TFT.foreground(Red); 00094 TFT.locate(12,45); 00095 TFT.printf("Capteurs "); 00096 TFT.foreground(Black); 00097 TFT.locate(12,95); 00098 TFT.printf("Mesures "); 00099 TFT.foreground(Black); 00100 TFT.locate(12,145); 00101 TFT.printf("Horloge "); 00102 TFT.locate(12,195); 00103 TFT.printf(" "); 00104 } 00105 if(PosMenu==1) { //Sélection sur MESURES 00106 TFT.foreground(Black); 00107 TFT.locate(12,45); 00108 TFT.printf("Capteurs "); 00109 TFT.foreground(Red); 00110 TFT.locate(12,95); 00111 TFT.printf("Mesures "); 00112 TFT.foreground(Black); 00113 TFT.locate(12,145); 00114 TFT.printf("Horloge "); 00115 TFT.locate(12,195); 00116 TFT.printf(" "); 00117 } 00118 if(PosMenu==2) { //Sélection sur HORLOGE 00119 TFT.foreground(Black); 00120 TFT.locate(12,45); 00121 TFT.printf("Capteurs "); 00122 TFT.foreground(Black); 00123 TFT.locate(12,95); 00124 TFT.printf("Mesures "); 00125 TFT.foreground(Red); 00126 TFT.locate(12,145); 00127 TFT.printf("Horloge "); 00128 TFT.foreground(Black); 00129 TFT.locate(12,195); 00130 TFT.printf(" "); 00131 } 00132 } else { 00133 if(PosMenu==0) { //Sous menu de CAPTEURS 00134 TFT.set_font((unsigned char*) Neu42x35); 00135 TFT.foreground(Black); 00136 TFT.locate(12,45); 00137 TFT.printf("C1 "); 00138 TFT.locate(109,45); 00139 TFT.printf("C2 "); 00140 TFT.locate(220,45); 00141 TFT.printf("C3"); 00142 TFT.locate(12,95); 00143 TFT.printf("C4 "); 00144 TFT.locate(109,95); 00145 TFT.printf("C5 "); 00146 TFT.locate(220,95); 00147 TFT.printf("C6"); 00148 TFT.locate(12,145); 00149 TFT.printf("C7 "); 00150 TFT.locate(109,145); 00151 TFT.printf("C8 "); 00152 TFT.locate(220,145); 00153 TFT.printf("C9"); 00154 TFT.locate(12,195); 00155 TFT.printf("C10"); 00156 } 00157 if(PosMenu==1) { //Sous menu de MESURES 00158 TFT.foreground(Black); 00159 TFT.locate(12,45); 00160 TFT.printf("Temp : "); 00161 TFT.foreground(Black); 00162 TFT.locate(12,95); 00163 TFT.printf("Forces : "); 00164 TFT.foreground(Black); 00165 TFT.locate(12,145); 00166 TFT.printf(" "); 00167 } 00168 if(PosMenu==2) { //Sous menu d'HORLOGE 00169 TFT.foreground(Black); 00170 TFT.locate(12,45); 00171 TFT.printf("Reglages Clk"); 00172 TFT.foreground(Black); 00173 TFT.locate(12,95); 00174 TFT.printf(" "); 00175 TFT.foreground(Black); 00176 TFT.locate(12,145); 00177 TFT.printf(" "); 00178 } 00179 } 00180 } 00181 ecrire=1; 00182 } 00183 }
Generated on Wed Jul 13 2022 01:15:45 by 1.7.2