Русифицированная версия программы для измерения температуры и отн. влажности и вывода информации на сенсорный TFT

Dependencies:   FT800_2 HYT mbed

Компоненты

Подключение

Отладочная плата к TFT-модулю

Отладочная плата подключается к модулю через переходник Break Out Board 20. На плате-переходнике используется 6 сигналов: SCK, MOSI, MISO, SS (интерфейс SPI), PD (powerdown) и INT (interrupt).

Питание должно быть подано не только на VDD, но и на BLVDD - подсветку экрана. Соответствующие выводы можно просто соединить между собой:

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

Отладочная плата к датчику серии HYT

К датчику отладочная плата подключается по I2C. Не забываем про подтяжку к питанию:

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

Демонстрация работы

Процесс создания приложения подробно описан тут: https://habrahabr.ru/users/uuuulala/topics/

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++;