Use SD card from Aitendo TFT 2.2 display.

Dependencies:   SDFileSystem mbed ILI9340_Driver_Lib

Fork of Seeed_SDCard_Shield by Shields

Committer:
ImageWriter
Date:
Sun Apr 12 13:16:05 2015 +0000
Revision:
7:161ee1b5617b
Parent:
3:5edc67dee8b7
Child:
8:a81a5af65446
Aitendo 2.2 inch TFT(SPI interface) with SD card interface Tempture logger test.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ImageWriter 7:161ee1b5617b 1
screamer 3:5edc67dee8b7 2
screamer 0:525c842a3c89 3 #include "mbed.h"
screamer 0:525c842a3c89 4 #include "SDFileSystem.h"
ImageWriter 7:161ee1b5617b 5 #include "ILI9340_Driver.h"
screamer 0:525c842a3c89 6
screamer 2:f2f5e2324ad4 7 Serial pc(USBTX, USBRX);
screamer 0:525c842a3c89 8 SDFileSystem sd(D11, D12, D13, D10, "sd"); // MOSI, MISO, SCK, CS
screamer 0:525c842a3c89 9 FILE *fp;
screamer 0:525c842a3c89 10
screamer 0:525c842a3c89 11 int main() {
ImageWriter 7:161ee1b5617b 12
ImageWriter 7:161ee1b5617b 13 // create the display object
ImageWriter 7:161ee1b5617b 14 // Nucleo-F411RE to M-TM022-SPI(Aitendo) connection.
ImageWriter 7:161ee1b5617b 15 // 2014.12.30 ImageWriter
ImageWriter 7:161ee1b5617b 16 // ------------------------------------------------
ImageWriter 7:161ee1b5617b 17 // [Nucleo] [M-TM022-SPI]
ImageWriter 7:161ee1b5617b 18 // (D2) --- Reset;
ImageWriter 7:161ee1b5617b 19 // (D4) --- CS;
ImageWriter 7:161ee1b5617b 20 // (D7) --- D/C;
ImageWriter 7:161ee1b5617b 21 // (D13) --- CLK;
ImageWriter 7:161ee1b5617b 22 // (D11) --- MOSI;
ImageWriter 7:161ee1b5617b 23 // (D12) --- MISO;
ImageWriter 7:161ee1b5617b 24 // (3V3) --- VCC;
ImageWriter 7:161ee1b5617b 25 // (3V3) -R- LED; (R=220 to 330 ohm)
ImageWriter 7:161ee1b5617b 26 // (GND) --- GND
ImageWriter 7:161ee1b5617b 27 // (A1) --- LM35DZ (IC tempture sensor 10mV/deg C )
ImageWriter 7:161ee1b5617b 28
ImageWriter 7:161ee1b5617b 29 ILI9340_Display myTft = ILI9340_Display(D11, D12, D13, D4, D2, D7);
ImageWriter 7:161ee1b5617b 30
ImageWriter 7:161ee1b5617b 31 // create the Analog object
ImageWriter 7:161ee1b5617b 32 AnalogIn myA1(A1);
ImageWriter 7:161ee1b5617b 33
ImageWriter 7:161ee1b5617b 34 // initialise the display
ImageWriter 7:161ee1b5617b 35 myTft.DispInit();
ImageWriter 7:161ee1b5617b 36
ImageWriter 7:161ee1b5617b 37 // clears the screen to remove all noise data
ImageWriter 7:161ee1b5617b 38 myTft.FillScreen(ILI9340_WHITE);
ImageWriter 7:161ee1b5617b 39
ImageWriter 7:161ee1b5617b 40 // set up variables
ImageWriter 7:161ee1b5617b 41 char roomTemptureString[] = "0000";
ImageWriter 7:161ee1b5617b 42 char roomTemptureString_old[] = "0000";
ImageWriter 7:161ee1b5617b 43 int roomTempture; // Room Tempture * 100
ImageWriter 7:161ee1b5617b 44 long realTempture; // For calucrate
ImageWriter 7:161ee1b5617b 45 int xx = 1;
screamer 0:525c842a3c89 46
ImageWriter 7:161ee1b5617b 47 while(true) {
ImageWriter 7:161ee1b5617b 48 realTempture = 0;
ImageWriter 7:161ee1b5617b 49 for(int i=0;i<1000;i++){
ImageWriter 7:161ee1b5617b 50 realTempture += myA1.read_u16()*33000/65535; // realTemp = 3300mv * 10 / 0xFFFF
ImageWriter 7:161ee1b5617b 51 }
ImageWriter 7:161ee1b5617b 52 realTempture = realTempture/1000;
ImageWriter 7:161ee1b5617b 53 roomTempture = int(realTempture); // Cast int
ImageWriter 7:161ee1b5617b 54 //myTft.FillScreen(ILI9340_WHITE);
ImageWriter 7:161ee1b5617b 55
ImageWriter 7:161ee1b5617b 56 myTft.DrawString("Now room tempture is",30,10,1,ILI9340_BLACK);
ImageWriter 7:161ee1b5617b 57 myTft.IntToChars(roomTemptureString,roomTempture,4,10,9999,9999,3,ILI9340_BLACK); // offscreen write
ImageWriter 7:161ee1b5617b 58
ImageWriter 7:161ee1b5617b 59 // Erace old charactor
ImageWriter 7:161ee1b5617b 60 myTft.DrawAscii(roomTemptureString_old[0],10, 50,3,ILI9340_WHITE);
ImageWriter 7:161ee1b5617b 61 myTft.DrawAscii(roomTemptureString_old[1],30, 50,3,ILI9340_WHITE);
ImageWriter 7:161ee1b5617b 62 //myTft.DrawAscii('.' ,50, 50,3,ILI9340_WHITE);
ImageWriter 7:161ee1b5617b 63 myTft.DrawAscii(roomTemptureString_old[2],70, 50,3,ILI9340_WHITE);
ImageWriter 7:161ee1b5617b 64 myTft.DrawAscii(roomTemptureString_old[3],90, 50,3,ILI9340_WHITE);
ImageWriter 7:161ee1b5617b 65 //myTft.DrawString("deg C" ,110,50,3,ILI9340_WHITE);
ImageWriter 7:161ee1b5617b 66
ImageWriter 7:161ee1b5617b 67 // Erase new charactor
ImageWriter 7:161ee1b5617b 68 myTft.DrawAscii(roomTemptureString[0],10, 50,3,ILI9340_BLACK);
ImageWriter 7:161ee1b5617b 69 myTft.DrawAscii(roomTemptureString[1],30, 50,3,ILI9340_BLACK);
ImageWriter 7:161ee1b5617b 70 myTft.DrawAscii('.' ,50, 50,3,ILI9340_BLACK);
ImageWriter 7:161ee1b5617b 71 myTft.DrawAscii(roomTemptureString[2],70, 50,3,ILI9340_BLACK);
ImageWriter 7:161ee1b5617b 72 myTft.DrawAscii(roomTemptureString[3],90, 50,3,ILI9340_BLACK);
ImageWriter 7:161ee1b5617b 73 myTft.DrawString("deg C" ,110,50,3,ILI9340_BLACK);
ImageWriter 7:161ee1b5617b 74
ImageWriter 7:161ee1b5617b 75 // xx counter
ImageWriter 7:161ee1b5617b 76 if(xx > 239){
ImageWriter 7:161ee1b5617b 77 xx=1;
ImageWriter 7:161ee1b5617b 78 }else{
ImageWriter 7:161ee1b5617b 79 xx++;
ImageWriter 7:161ee1b5617b 80 }
ImageWriter 7:161ee1b5617b 81
ImageWriter 7:161ee1b5617b 82 // Erese old plot
ImageWriter 7:161ee1b5617b 83 myTft.DrawLine(xx,319,xx,(319 - 5000/25) ,ILI9340_WHITE);
ImageWriter 7:161ee1b5617b 84
ImageWriter 7:161ee1b5617b 85 // Draw scale line
ImageWriter 7:161ee1b5617b 86 myTft.DrawLine(0,319-1000/25,240,319-1000/25,ILI9340_BLACK);
ImageWriter 7:161ee1b5617b 87 myTft.DrawLine(0,319-2000/25,240,319-2000/25,ILI9340_BLACK);
ImageWriter 7:161ee1b5617b 88 myTft.DrawLine(0,319-3000/25,240,319-3000/25,ILI9340_BLACK);
ImageWriter 7:161ee1b5617b 89 myTft.DrawLine(0,319-4000/25,240,319-4000/25,ILI9340_BLACK);
ImageWriter 7:161ee1b5617b 90
ImageWriter 7:161ee1b5617b 91 // plot graph
ImageWriter 7:161ee1b5617b 92 myTft.DrawLine(xx,(317 - roomTempture/25),xx,(319 - roomTempture/25),ILI9340_BLACK);
ImageWriter 7:161ee1b5617b 93
ImageWriter 7:161ee1b5617b 94 // cursor
ImageWriter 7:161ee1b5617b 95 myTft.DrawLine(xx,319,xx,309,ILI9340_BLACK);
ImageWriter 7:161ee1b5617b 96
ImageWriter 7:161ee1b5617b 97 // logger
ImageWriter 7:161ee1b5617b 98 fp = fopen("/sd/mylogger.txt", "a+");
ImageWriter 7:161ee1b5617b 99 if (fp == NULL) {
ImageWriter 7:161ee1b5617b 100 pc.printf("Unable to write the file\r\n");
ImageWriter 7:161ee1b5617b 101 } else {
ImageWriter 7:161ee1b5617b 102 pc.printf("%d \r\n",roomTempture);
ImageWriter 7:161ee1b5617b 103 fprintf(fp, "%d \r\n",roomTempture);
ImageWriter 7:161ee1b5617b 104 }
screamer 0:525c842a3c89 105 fclose(fp);
ImageWriter 7:161ee1b5617b 106 //pc.printf("File successfully written!\r\n");
ImageWriter 7:161ee1b5617b 107
ImageWriter 7:161ee1b5617b 108
ImageWriter 7:161ee1b5617b 109 wait(10);
ImageWriter 7:161ee1b5617b 110 // erace cursor
ImageWriter 7:161ee1b5617b 111 myTft.DrawLine(xx,319,xx,309,ILI9340_WHITE);
ImageWriter 7:161ee1b5617b 112
ImageWriter 7:161ee1b5617b 113 // save old character
ImageWriter 7:161ee1b5617b 114 strcpy(roomTemptureString_old,roomTemptureString);
ImageWriter 7:161ee1b5617b 115
screamer 0:525c842a3c89 116 }
screamer 0:525c842a3c89 117 }