[SIMPLE PROGRAM] HYT humidity & temp sensor polling / showing received data at TFT with capacitive touchscreen

Dependencies:   FT800_2 HYT mbed

HYT humidity and temperature sensor polling & showing received data at TFT via graphical controller FT800/FT801.

Hardware

For documentation on the FT800 library, please refer to the library pages.

Connection

MCU-board to TFT-module

MCU-board is connected to TFT-module via Break Out Board. You need 6 signals to connect: SCK, MOSI and MISO are connected to a SPI channel, SS is the chip select signal, PD work as powerdown and INT for interrupts from TFT to MCU.

/media/uploads/Ksenia/4_-22-.jpg

You have to connect VDD to BLVDD at Break Out Board if you use the board:

/media/uploads/Ksenia/4_-5-.jpg

MCU-board to HYT sensor

MCU-board is connected to sensor via I2C. Remember to use pull-up resisrors there:

/media/uploads/Ksenia/freshpaint-20-2016.09.16-10.37.03.png

Подробнее в статьях Как перестать бояться и полюбить mbed [Часть 1 - 5] на https://habrahabr.ru/users/uuuulala/topics/

Committer:
Ksenia
Date:
Wed Oct 05 10:06:54 2016 +0000
Revision:
1:e20b5da0c912
Parent:
0:1f5444f2977d
Changed wrong comment in GetTouch function

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Ksenia 0:1f5444f2977d 1 #include "display.h"
Ksenia 0:1f5444f2977d 2
Ksenia 0:1f5444f2977d 3 /**************************************************************************************************************************
Ksenia 0:1f5444f2977d 4 ************************** Transform humiditity / temperature float value to string ***************************************
Ksenia 0:1f5444f2977d 5 **************************************************************************************************************************/
Ksenia 0:1f5444f2977d 6 // If isTemp = 0, string includes
Ksenia 0:1f5444f2977d 7 // 1. current humididty
Ksenia 0:1f5444f2977d 8 // 3. " %"
Ksenia 0:1f5444f2977d 9
Ksenia 0:1f5444f2977d 10 // If isTemp = 1, string includes
Ksenia 0:1f5444f2977d 11 // 1. "-" (optional),
Ksenia 0:1f5444f2977d 12 // 2. current temperature with decimal mark
Ksenia 0:1f5444f2977d 13 // 3. " С"
Ksenia 0:1f5444f2977d 14 void Display::CreateStringTempHum(char *str, float number, bool isTemp)
Ksenia 0:1f5444f2977d 15 {
Ksenia 0:1f5444f2977d 16 short int multipedNumber = (short int)(number * 100);
Ksenia 0:1f5444f2977d 17 char strCnt = 0;
Ksenia 0:1f5444f2977d 18 if (isTemp) {
Ksenia 0:1f5444f2977d 19 if (multipedNumber < 0) {
Ksenia 0:1f5444f2977d 20 multipedNumber = -multipedNumber;
Ksenia 0:1f5444f2977d 21 str[strCnt] = '-';
Ksenia 0:1f5444f2977d 22 strCnt++;
Ksenia 0:1f5444f2977d 23 }
Ksenia 0:1f5444f2977d 24 }
Ksenia 0:1f5444f2977d 25 if (multipedNumber >= 10000) {
Ksenia 0:1f5444f2977d 26 str[strCnt] = '0' + (multipedNumber % 100000) / 10000;
Ksenia 0:1f5444f2977d 27 strCnt++;
Ksenia 0:1f5444f2977d 28 }
Ksenia 0:1f5444f2977d 29 if (multipedNumber >= 1000) {
Ksenia 0:1f5444f2977d 30 str[strCnt] = '0' + (multipedNumber % 10000) / 1000;
Ksenia 0:1f5444f2977d 31 strCnt++;
Ksenia 0:1f5444f2977d 32 }
Ksenia 0:1f5444f2977d 33 if (multipedNumber >= 100) {
Ksenia 0:1f5444f2977d 34 str[strCnt] = '0' + (multipedNumber % 1000) / 100;
Ksenia 0:1f5444f2977d 35 strCnt++;
Ksenia 0:1f5444f2977d 36 }
Ksenia 0:1f5444f2977d 37 if (isTemp) {
Ksenia 0:1f5444f2977d 38 str[strCnt] = '.';
Ksenia 0:1f5444f2977d 39 strCnt++;
Ksenia 0:1f5444f2977d 40 str[strCnt] = '0' + (multipedNumber % 100) / 10;
Ksenia 0:1f5444f2977d 41 strCnt++;
Ksenia 0:1f5444f2977d 42 str[strCnt] = ' ';
Ksenia 0:1f5444f2977d 43 strCnt++;
Ksenia 0:1f5444f2977d 44 str[strCnt] = 'C';
Ksenia 0:1f5444f2977d 45 strCnt++;
Ksenia 0:1f5444f2977d 46 } else {
Ksenia 0:1f5444f2977d 47 str[strCnt] = '%';
Ksenia 0:1f5444f2977d 48 strCnt++;
Ksenia 0:1f5444f2977d 49 }
Ksenia 0:1f5444f2977d 50 str[strCnt] = 0;
Ksenia 0:1f5444f2977d 51 }