Русифицированная версия программы для измерения температуры и отн. влажности и вывода информации на сенсорный 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/
Diff: TFT/display.StringsTransform.cpp
- Revision:
- 1:8ca8a4ecbe6b
- Parent:
- 0:9db07391e780
--- a/TFT/display.StringsTransform.cpp Fri Oct 07 11:03:16 2016 +0000 +++ b/TFT/display.StringsTransform.cpp Wed Oct 12 10:53:35 2016 +0000 @@ -125,7 +125,7 @@ void Display::CreateStringRussian(const string rustext) { // CHANGED ASCII: -// 0123456789АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя .,:-°±%<>rHYTICS +// 0123456789АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя.,:-°±%<>rHYTICS int len = rustext.length(); int j = 0; for (int i = 0; i < len; i ++) { @@ -135,81 +135,85 @@ // АБВ ... ноп if ((res >= 0xD090) && (res <= 0xD0BF)) { char offset = (char)(res - 0xD090); - russianStr[j] = offset + 32 + 11; + russianStr[j] = 32 + 11 + offset; // рст ... эюя } else if ((res >= 0xD180) && (res <= 0xD18F)) { char offset = (char)(res - 0xD180); - russianStr[j] = offset + 32 + 59; + russianStr[j] = 32 + 59 + offset; } // Degree sign else if (res == 0xC2B0) { - russianStr[j] = 80 + 32; + russianStr[j] = 32 + 79; } // Plus-minus sign else if (res == 0xC2B1) { - russianStr[j] = 81 + 32; + russianStr[j] = 32 + 80; } i++; } else { - // Numbers - if (res >= 0x30 && res <= 0x39) { - russianStr[j] = (res - 0x30) + 1 + 32; + // Space + if (res == 0x20) { + russianStr[j] = 32; } - // Space - else if (res == 0x20) { - russianStr[j] = 75 + 32; + // Numbers + else if (res >= 0x30 && res <= 0x39) { + russianStr[j] = 32 + 1 + (res - 0x30); } - // Dot + // . else if (res == 0x2E) { - russianStr[j] = 76 + 32; + russianStr[j] = 32 + 75; } - // Coma + // , else if (res == 0x2C) { - russianStr[j] = 77 + 32; + russianStr[j] = 32 + 76; } // : else if (res == 0x3A) { - russianStr[j] = 78 + 32; + russianStr[j] = 32 + 77; + } + // - + else if (res == 0x2D) { + russianStr[j] = 32 + 78; } // % else if (res == 0x25) { - russianStr[j] = 82 + 32; + russianStr[j] = 32 + 81; } // < else if (res == 0x3C) { - russianStr[j] = 83 + 32; + russianStr[j] = 32 + 82; } - // Hyphen / minus - else if (res == 0x2D) { - russianStr[j] = 79 + 32; + // > + else if (res == 0x3C) { + russianStr[j] = 32 + 83; } // "r" else if (res == 0x72) { - russianStr[j] = 85 + 32; + russianStr[j] = 32 + 84; } // "H" else if (res == 0x48) { - russianStr[j] = 86 + 32; + russianStr[j] = 32 + 85; } // "Y" else if (res == 0x59) { - russianStr[j] = 87 + 32; + russianStr[j] = 32 + 86; } // "T" else if (res == 0x54) { - russianStr[j] = 88 + 32; + russianStr[j] = 32 + 87; } // "I" else if (res == 0x49) { - russianStr[j] = 89 + 32; + russianStr[j] = 32 + 88; } // "C" else if (res == 0x43) { - russianStr[j] = 90 + 32; + russianStr[j] = 32 + 89; } // "S" else if (res == 0x53) { - russianStr[j] = 91 + 32; + russianStr[j] = 32 + 90; } } j++;