[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 ************************** Draw horisontal grid for temperature (-50 .. +125) *********************************************
Ksenia 0:1f5444f2977d 5 **************************************************************************************************************************/
Ksenia 0:1f5444f2977d 6 void Display::HorisontalGrid_CurrentTemp()
Ksenia 0:1f5444f2977d 7 {
Ksenia 0:1f5444f2977d 8 (*_TFT).DL(COLOR_RGB(20, 20, 20));
Ksenia 0:1f5444f2977d 9 char gridNumb = 125 + 50;
Ksenia 0:1f5444f2977d 10 for (int i = 70 * 16; i <= 225 * 16; i += 352) {
Ksenia 0:1f5444f2977d 11 (*_TFT).DL(BEGIN(LINES));
Ksenia 0:1f5444f2977d 12 (*_TFT).DL(LINE_WIDTH(8));
Ksenia 0:1f5444f2977d 13 (*_TFT).DL(VERTEX2F(15 * 16, i));
Ksenia 0:1f5444f2977d 14 (*_TFT).DL(VERTEX2F(423 * 16, i));
Ksenia 0:1f5444f2977d 15 if (gridNumb >= 50) {
Ksenia 0:1f5444f2977d 16 (*_TFT).Number(435, i/16 - 9, 26, 0, gridNumb - 50);
Ksenia 0:1f5444f2977d 17 } else if (gridNumb == 25) {
Ksenia 0:1f5444f2977d 18 (*_TFT).Text(435, i/16 - 9, 26, 0, "-25");
Ksenia 0:1f5444f2977d 19 } else if (gridNumb == 0) {
Ksenia 0:1f5444f2977d 20 (*_TFT).Text(435, i/16 - 9, 26, 0, "-50");
Ksenia 0:1f5444f2977d 21 }
Ksenia 0:1f5444f2977d 22 gridNumb = gridNumb - 25;
Ksenia 0:1f5444f2977d 23 }
Ksenia 0:1f5444f2977d 24 }
Ksenia 0:1f5444f2977d 25
Ksenia 0:1f5444f2977d 26 /**************************************************************************************************************************
Ksenia 0:1f5444f2977d 27 ************************** Draw horisontal grid for humidity (0 .. 100) ***************************************************
Ksenia 0:1f5444f2977d 28 **************************************************************************************************************************/
Ksenia 0:1f5444f2977d 29 void Display::HorisontalGrid_CurrentHumidity()
Ksenia 0:1f5444f2977d 30 {
Ksenia 0:1f5444f2977d 31 (*_TFT).DL(COLOR_RGB(20, 20, 20));
Ksenia 0:1f5444f2977d 32 char gridNumb = 100;
Ksenia 0:1f5444f2977d 33 for (int i = 70 * 16; i <= 220 * 16; i += 600) {
Ksenia 0:1f5444f2977d 34 (*_TFT).DL(BEGIN(LINES));
Ksenia 0:1f5444f2977d 35 (*_TFT).DL(LINE_WIDTH(8));
Ksenia 0:1f5444f2977d 36 (*_TFT).DL(VERTEX2F(15 * 16, i));
Ksenia 0:1f5444f2977d 37 (*_TFT).DL(VERTEX2F(423 * 16, i));
Ksenia 0:1f5444f2977d 38 (*_TFT).Number(435, i/16 - 9, 26, 0, gridNumb);
Ksenia 0:1f5444f2977d 39 gridNumb = gridNumb - 25;
Ksenia 0:1f5444f2977d 40 }
Ksenia 0:1f5444f2977d 41 }