-

Dependencies:   CommandHandler HygroClip2 InterruptBasedEncoder SPI_TFT_ILI9341 mbed-src-no-hal

Committer:
wolfsberger
Date:
Wed Feb 17 07:30:14 2016 +0000
Revision:
2:81fc8f80fdb4
Parent:
1:72f48dd279a8
Child:
3:3ef8c2d7b1bf
OK

Who changed what in which revision?

UserRevisionLine numberNew contents of line
wolfsberger 0:9ed7238d49e2 1 #include "stdio.h"
wolfsberger 0:9ed7238d49e2 2 #include "mbed.h"
wolfsberger 0:9ed7238d49e2 3 #include "HygroClip2.h"
wolfsberger 0:9ed7238d49e2 4 #include "SPI_TFT_ILI9341.h"
wolfsberger 0:9ed7238d49e2 5 #include "Arial12x12.h"
wolfsberger 0:9ed7238d49e2 6 #include "Arial28x28.h"
wolfsberger 0:9ed7238d49e2 7 #include "GraphScale.h"
wolfsberger 0:9ed7238d49e2 8 #include "LineGraph.h"
wolfsberger 0:9ed7238d49e2 9
wolfsberger 0:9ed7238d49e2 10
wolfsberger 0:9ed7238d49e2 11 Serial pc(SERIAL_TX, SERIAL_RX);
wolfsberger 0:9ed7238d49e2 12 HygroClip2 sensor(D8,D2);
wolfsberger 0:9ed7238d49e2 13 SPI_TFT_ILI9341 TFT(SPI_MOSI,SPI_MISO,SPI_SCK,SPI_CS,D9,D7);
wolfsberger 0:9ed7238d49e2 14
wolfsberger 0:9ed7238d49e2 15 int ColorTemperature = RGB(0xff,0x37,0x00);
wolfsberger 0:9ed7238d49e2 16 int ColorHumidity = RGB(0x00,0xc8,0xff);
wolfsberger 0:9ed7238d49e2 17
wolfsberger 2:81fc8f80fdb4 18 void drawChangingValues()
wolfsberger 2:81fc8f80fdb4 19 {
wolfsberger 2:81fc8f80fdb4 20 TFT.set_font((unsigned char*)Arial28x28);
wolfsberger 2:81fc8f80fdb4 21 TFT.locate(10,25);
wolfsberger 2:81fc8f80fdb4 22 TFT.foreground(ColorTemperature);
wolfsberger 2:81fc8f80fdb4 23 TFT.printf("%.1f*C ",sensor.getTemperature()); // * will be displayed as °
wolfsberger 2:81fc8f80fdb4 24 TFT.locate(10,70);
wolfsberger 2:81fc8f80fdb4 25 TFT.foreground(ColorHumidity);
wolfsberger 2:81fc8f80fdb4 26 TFT.printf("%.1f%%rH ",sensor.getHumidity());
wolfsberger 2:81fc8f80fdb4 27 TFT.foreground(RGB(0x00,0xE8,0x59));
wolfsberger 2:81fc8f80fdb4 28 TFT.locate(10,115);
wolfsberger 2:81fc8f80fdb4 29 TFT.printf("%.3fg/m3 ",sensor.getAbsolutHumidity());
wolfsberger 2:81fc8f80fdb4 30 TFT.locate(10,160);
wolfsberger 2:81fc8f80fdb4 31 TFT.printf("%.1f*C ",sensor.getDewPoint()); // * will be displayed as °
wolfsberger 2:81fc8f80fdb4 32 }
wolfsberger 2:81fc8f80fdb4 33
wolfsberger 0:9ed7238d49e2 34 int main()
wolfsberger 0:9ed7238d49e2 35 {
wolfsberger 0:9ed7238d49e2 36 pc.baud(57600);
wolfsberger 0:9ed7238d49e2 37 TFT.claim(stdout); // send stdout to the TFT display
wolfsberger 0:9ed7238d49e2 38 TFT.background(Black); // set background to black
wolfsberger 0:9ed7238d49e2 39 TFT.foreground(White); // set chars to white
wolfsberger 0:9ed7238d49e2 40 TFT.cls(); // clear the screen
wolfsberger 0:9ed7238d49e2 41 TFT.set_font((unsigned char*) Arial12x12); // select the font
wolfsberger 0:9ed7238d49e2 42 TFT.set_orientation(2);
wolfsberger 0:9ed7238d49e2 43
wolfsberger 0:9ed7238d49e2 44 TFT.locate(10,10);
wolfsberger 0:9ed7238d49e2 45 TFT.printf("Loading...");
wolfsberger 1:72f48dd279a8 46 while(sensor.getHumidity() != -1.0f)
wolfsberger 0:9ed7238d49e2 47 {
wolfsberger 0:9ed7238d49e2 48 sensor.update();
wolfsberger 0:9ed7238d49e2 49 wait(.5f);
wolfsberger 0:9ed7238d49e2 50 }
wolfsberger 0:9ed7238d49e2 51
wolfsberger 0:9ed7238d49e2 52 TFT.locate(10,10);
wolfsberger 2:81fc8f80fdb4 53 TFT.printf("Temperatur");
wolfsberger 0:9ed7238d49e2 54 TFT.locate(10,55);
wolfsberger 2:81fc8f80fdb4 55 TFT.printf("Luftfeuchtigkeit (relativ)");
wolfsberger 0:9ed7238d49e2 56 TFT.locate(10,100);
wolfsberger 2:81fc8f80fdb4 57 TFT.printf("Luftfeuchtigkeit (absolut)");
wolfsberger 0:9ed7238d49e2 58 TFT.locate(10,145);
wolfsberger 2:81fc8f80fdb4 59 TFT.printf("Taupunkt");
wolfsberger 0:9ed7238d49e2 60
wolfsberger 1:72f48dd279a8 61 GraphScale scale(&TFT,1,200,200,100,0,100,20);
wolfsberger 1:72f48dd279a8 62 scale.draw(White);
wolfsberger 0:9ed7238d49e2 63 LineGraph<200> graphTemperature(&TFT,1,200,200,100,0,100);
wolfsberger 0:9ed7238d49e2 64 LineGraph<200> graphHumidity(&TFT,1,200,200,100,0,100);
wolfsberger 0:9ed7238d49e2 65
wolfsberger 0:9ed7238d49e2 66 while(1) {
wolfsberger 0:9ed7238d49e2 67 sensor.update();
wolfsberger 2:81fc8f80fdb4 68
wolfsberger 2:81fc8f80fdb4 69 drawChangingValues();
wolfsberger 0:9ed7238d49e2 70
wolfsberger 0:9ed7238d49e2 71 graphTemperature.addItem(sensor.getTemperature());
wolfsberger 0:9ed7238d49e2 72 graphHumidity.addItem(sensor.getHumidity());
wolfsberger 0:9ed7238d49e2 73
wolfsberger 0:9ed7238d49e2 74 graphTemperature.draw(ColorTemperature);
wolfsberger 0:9ed7238d49e2 75 graphHumidity.draw(ColorHumidity);
wolfsberger 0:9ed7238d49e2 76
wolfsberger 0:9ed7238d49e2 77 wait(1);
wolfsberger 0:9ed7238d49e2 78 }
wolfsberger 0:9ed7238d49e2 79 }