Русифицированная версия программы для измерения температуры и отн. влажности и вывода информации на сенсорный TFT
Dependencies: FT800_2 HYT mbed
Компоненты
- Датчик температуры и относительной влажности HYT-271 / HYT-221 / HYT-939 от компании IST-AG
- TFT-модуль серии uxTouch от компании Riverdi
- Плата-переходник Break Out Board 20 от компании Riverdi
- Любая отладочная плата с поддержкой mbed, интерфейсами I2C и SPI interface двумя свободными линиями для сигналов PD и INT
Подключение
Отладочная плата к TFT-модулю
Отладочная плата подключается к модулю через переходник Break Out Board 20. На плате-переходнике используется 6 сигналов: SCK, MOSI, MISO, SS (интерфейс SPI), PD (powerdown) и INT (interrupt).
Питание должно быть подано не только на VDD, но и на BLVDD - подсветку экрана. Соответствующие выводы можно просто соединить между собой:
Отладочная плата к датчику серии HYT
К датчику отладочная плата подключается по I2C. Не забываем про подтяжку к питанию:
Демонстрация работы
Процесс создания приложения подробно описан тут: https://habrahabr.ru/users/uuuulala/topics/
TFT/display.Draw_AboutSensor.cpp@1:8ca8a4ecbe6b, 2016-10-12 (annotated)
- Committer:
- Ksenia
- Date:
- Wed Oct 12 10:53:35 2016 +0000
- Revision:
- 1:8ca8a4ecbe6b
- Parent:
- 0:9db07391e780
?????? ??????? ? ?????? ?????????
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Ksenia | 0:9db07391e780 | 1 | #include "display.h" |
Ksenia | 0:9db07391e780 | 2 | |
Ksenia | 0:9db07391e780 | 3 | /************************************************************************************************************************** |
Ksenia | 0:9db07391e780 | 4 | ************************** Display text & image about the HYT sensor ****************************************************** |
Ksenia | 0:9db07391e780 | 5 | **************************************************************************************************************************/ |
Ksenia | 0:9db07391e780 | 6 | void Display::AboutSensor() |
Ksenia | 0:9db07391e780 | 7 | { |
Ksenia | 0:9db07391e780 | 8 | // start FT800 display list |
Ksenia | 0:9db07391e780 | 9 | StartDL(); |
Ksenia | 0:9db07391e780 | 10 | |
Ksenia | 0:9db07391e780 | 11 | // Write text |
Ksenia | 0:9db07391e780 | 12 | (*_TFT).DL(COLOR_RGB(0, 0, 0)); |
Ksenia | 0:9db07391e780 | 13 | (*_TFT).DL(BEGIN(LINES)); |
Ksenia | 0:9db07391e780 | 14 | (*_TFT).DL(LINE_WIDTH(8)); |
Ksenia | 0:9db07391e780 | 15 | (*_TFT).DL(VERTEX2II(14, 65, 0, 0)); |
Ksenia | 0:9db07391e780 | 16 | (*_TFT).DL(VERTEX2II(14, 230, 0, 0)); |
Ksenia | 0:9db07391e780 | 17 | CreateStringRussian("Датчик температуры и относительной влажности"); |
Ksenia | 0:9db07391e780 | 18 | (*_TFT).Text(24, 62, 4, 0, russianStr); |
Ksenia | 0:9db07391e780 | 19 | CreateStringRussian("с интерфейсом I2C от швейцарской компании IST."); |
Ksenia | 0:9db07391e780 | 20 | (*_TFT).Text(24, 82, 4, 0, russianStr); |
Ksenia | 0:9db07391e780 | 21 | (*_TFT).DL(COLOR_RGB(9, 0, 63)); |
Ksenia | 0:9db07391e780 | 22 | CreateStringRussian("Диапазон измерений: 0 .. 100% rH, -40 .. 125°C"); |
Ksenia | 0:9db07391e780 | 23 | (*_TFT).Text(24, 115, 4, 0, russianStr); |
Ksenia | 0:9db07391e780 | 24 | CreateStringRussian("Точность: ±1.8% rH в диапазоне 0 .. 80% rH,"); |
Ksenia | 0:9db07391e780 | 25 | (*_TFT).Text(24, 140, 4, 0, russianStr); |
Ksenia | 0:9db07391e780 | 26 | CreateStringRussian("±0.2°C в диапазоне 0 .. 60°C"); |
Ksenia | 0:9db07391e780 | 27 | (*_TFT).Text(105, 160, 4, 0, russianStr); |
Ksenia | 0:9db07391e780 | 28 | CreateStringRussian("Время отклика: < 4 сек"); |
Ksenia | 0:9db07391e780 | 29 | (*_TFT).Text(24, 185, 4, 0, russianStr); |
Ksenia | 0:9db07391e780 | 30 | CreateStringRussian("Напряжение питания: от 2.7 до 5.5 В"); |
Ksenia | 0:9db07391e780 | 31 | (*_TFT).Text(24, 210, 4, 0, russianStr); |
Ksenia | 0:9db07391e780 | 32 | (*_TFT).DL(COLOR_RGB(0, 0, 0)); |
Ksenia | 0:9db07391e780 | 33 | CreateStringRussian("Датчик HYT-271"); |
Ksenia | 0:9db07391e780 | 34 | (*_TFT).Text(15, 15, 3, 0, russianStr); |
Ksenia | 0:9db07391e780 | 35 | |
Ksenia | 0:9db07391e780 | 36 | // Show photo |
Ksenia | 0:9db07391e780 | 37 | (*_TFT).DL(COLOR_RGB(255, 255, 255)); |
Ksenia | 0:9db07391e780 | 38 | (*_TFT).DL(BEGIN(BITMAPS)); |
Ksenia | 0:9db07391e780 | 39 | (*_TFT).DL(VERTEX2II(360, 140, 2, 0)); |
Ksenia | 0:9db07391e780 | 40 | (*_TFT).DL(END()); |
Ksenia | 0:9db07391e780 | 41 | |
Ksenia | 0:9db07391e780 | 42 | // create link to main menu |
Ksenia | 0:9db07391e780 | 43 | MainMenuReference(); |
Ksenia | 0:9db07391e780 | 44 | |
Ksenia | 0:9db07391e780 | 45 | // finish FT800 display list |
Ksenia | 0:9db07391e780 | 46 | FinishDL(); |
Ksenia | 0:9db07391e780 | 47 | } |