1. ВАЖНО!!! Прошел умный спамер-робот. После регистрации создает переписку с сообщением о зачислении на ваш счет средств и ссылкой для подробностей. Ни в коем случае не переходите по ссылке и необходимо "покунить" такую переписку. Отвечать также не нужно. Временно переводим на ручное одобрение пользователей, посмотрим за обстановкой
    Скрыть объявление
  2. Уважаемые форумчане! Убедительная просьба, используйте наиболее подходящие темы для своих сообщений. Спасибо за понимание.
    Скрыть объявление

Контроллер на Arduino MEGA 2560 + TFT

Тема в разделе "Автоматика", создана пользователем Vadim Pivovaroff, 25 ноя 2014.

Статус темы:
Закрыта.
  1. mishgan

    mishgan Active Member

    Регистрация:
    29.04.2014
    253
    73
    Всем желающим русифицировать в помощь функция
    Код:
    uint8_t utf8_rus_charmap[] PROGMEM= {
    'A', //A 0
    128, //Б 1
    'B', //В 2
    129, //Г 3
    130, //Д 4
    'E', //Е 5
    131, //Ё 6
    132, //Ж 7
    133, //З
    134, //И
    135, //Й 10
    'K', //К
    136, //Л
    'M', //М
    'H', //Н
    'O', // 15
    137, //П
    'P', //
    'C', //
    'T', //
    138, //У 20
    139, //Ф
    'X', //
    140, //Ц
    141, //Ч
    142, //Ш 25
    143, //Щ
    144, //Ъ
    145, //Ы
    146, //Ь
    147, //Э 30
    148, //Ю
    149, //Я 32
    //small letters
    'a', // 33
    150, //б
    151, //в 35
    152, //г
    153, //д
    'e',
    154, //ё
    155, //ж 40
    156, //з
    157, //и
    158, //й
    159, //к
    160, //л 45
    161, //м
    162, //н
    'o', //
    163, //п
    'p', //р 50
    'c', //c 51
    164, //т
    'y',
    165, //ф
    'x', // 55
    166, //ц
    167, //ч
    168, //ш
    169, //щ
    170, //ъ 60
    171, //ы
    172, //ь
    173, //э
    174, //ю
    175 //я 65
    };
    size_t mb_strlen(const char* str)
    {
    size_t length = 0;
    uint8_t*ptr = (uint8_t*)str;
    while (*ptr) {
    if ( !(*ptr == 0xD1 || *ptr == 0xD0) ) {
    ++length;
    }
    ++ptr;
    }
    return length;
    }
    
    char* utf8_to_utft_encoding(char*st)
    {
    uint8_t utf_high_byte = 0;
    uint8_t ch, ch_pos = 0, stl = mb_strlen(st);
    
    char*result = (char*)malloc(stl + 1), *pr = result;
    for (int i = 0; i < strlen(st); ++i) {
    ch = st[i];
    if ( ch >= 128) {
    if ( utf_high_byte == 0 && (ch ==0xD0 || ch == 0xD1)) {
    utf_high_byte = ch;
    continue;
    } else {
    if ( utf_high_byte == 0xD0) {
    if (ch == 0x81) { //Ё
    ch = 6;
    } else {
    if(ch <= 0x95) {
    ch -= 0x90;
    } else if( ch < 0xB6){
    ch -= (0x90 - 1);
    } else {
    ch -= (0x90 - 2);
    }
    }
    ch = pgm_read_byte(utf8_rus_charmap + ch);
    } else if (utf_high_byte == 0xD1) {
    if (ch == 0x91) {//ё
    ch = 39;
    } else {
    ch -= 0x80;
    ch += 50;
    }
    ch = pgm_read_byte(utf8_rus_charmap + ch);
    }
    utf_high_byte = 0;
    }
    } else {
    utf_high_byte = 0;
    }
    *pr++ = ch;
    }//for i
    
    *pr = 0;
    return result;
    }
    
    Использовать так
    Код:
    myGLCD.print (utf8_to_utft_encoding("КОЛИСЧЕСТВО ПАУЗ"),CENTER,10);
    Или можно воспользоваться утилиткой Ссылки могут видеть только зарегистрированные пользователи. Зарегистрируйтесь или авторизуйтесь для просмотра ссылок!
     
    Последнее редактирование: 16 май 2015
    • Поучительно Поучительно x 1
    • Полезно Полезно x 1
  2. Олег

    Олег Участник

    Регистрация:
    18.11.2013
    459
    17
    Утилитка класс!!! Спасибо!
     
    • Оптимистично Оптимистично x 1
  3. Олег

    Олег Участник

    Регистрация:
    18.11.2013
    459
    17
    Ну да у меня так же. Не доработка какая-то. Всё ведь китайское.Главное на разных скетчах одно и то же.
    --- сообщения объединены, 27 май 2015, дата первого сообщения: 27 май 2015 ---
    Ну так можно сразу русскую клавиатуру нарисовать и дело с концом!
     
  4. mishgan

    mishgan Active Member

    Регистрация:
    29.04.2014
    253
    73
    Гиморойное это дело рисовать клавиатуру....
     
  5. Vadim Pivovaroff

    Vadim Pivovaroff Active Member

    Регистрация:
    19.03.2014
    156
    62
    повторю в 10-й раз, русского языка не будет. На русском есть проэкт Михаила. Выбор в коде есть.
     
  6. Mac

    Mac Участник

    Регистрация:
    12.11.2013
    71
    7
    Спросил на канале где сборка, продублирую и тут свой вопрос - можно для термодатчика использовать резистор 5к1, вместо 4к7?
     
  7. Phantom

    Phantom Active Member

    Регистрация:
    11.05.2014
    367
    104
    Имя:
    Олег
    При активном питании в сети встречал и 10К ставят
     
  8. Mac

    Mac Участник

    Регистрация:
    12.11.2013
    71
    7
    Понял! Тенкс.
     
  9. Vadim Pivovaroff

    Vadim Pivovaroff Active Member

    Регистрация:
    19.03.2014
    156
    62
    на канале под твоим комментом нету кнопки ответить, поэтому отвечу тут. Поставить то можно, но как это отразится на точности показаний термометра - вопрос.
     
  10. Mac

    Mac Участник

    Регистрация:
    12.11.2013
    71
    7
    Ок, понял!
    Вадим, ты вроде писал, что Options дописал - а скетч этот где-то выкладывал уже?
     
  11. Phantom

    Phantom Active Member

    Регистрация:
    11.05.2014
    367
    104
    Имя:
    Олег
    На точности никак не может отразиться, т.к. датчик цифровой. Может сказаться лишь на стабильности передачи данных. У этого резистора по сути одна функция - подтяжка к +5. 4к7 или 5к1 - разница несущественная
     
    • За За x 1
  12. Vadim Pivovaroff

    Vadim Pivovaroff Active Member

    Регистрация:
    19.03.2014
    156
    62
    пока ещё не выкладывал, как только он будет готов для скачивания, он появится в этой теме
     
    • За За x 2
  13. dubna

    dubna Участник

    Регистрация:
    12.11.2013
    133
    20
    Vadim Pivovaroff подскажи нужно ли впаивать 14,15,16,17 пины:drinks:
     
  14. Vadim Pivovaroff

    Vadim Pivovaroff Active Member

    Регистрация:
    19.03.2014
    156
    62
    нет, только 8, 9, 10, 11, 12, 20, 21. У меня припаяна полоска с 8-го до GND, т.к. дополнительный пин минуса не помешает ))) ну пару пинов 20, 21 для часиков.
     
  15. dubna

    dubna Участник

    Регистрация:
    12.11.2013
    133
    20
    :drinks: Спасибо!!!!
     
  16. Олег

    Олег Участник

    Регистрация:
    18.11.2013
    459
    17
    Вадим! Когда будет обещанный скетч?
     
  17. Vadim Pivovaroff

    Vadim Pivovaroff Active Member

    Регистрация:
    19.03.2014
    156
    62
    Ровно в тот день когда я и обещал его опубликовать :D
     
    • Забавно Забавно x 1
  18. Сергей Лисун

    Сергей Лисун Новенький

    Регистрация:
    03.03.2015
    2
    0
    В смысле 2.06.2016 :)
     
  19. Vadim Pivovaroff

    Vadim Pivovaroff Active Member

    Регистрация:
    19.03.2014
    156
    62
    откуда эта дата?? Я дату вообще вроде не называл ))))
     
  20. Сергей Лисун

    Сергей Лисун Новенький

    Регистрация:
    03.03.2015
    2
    0
    Так ты 2-го и обещал его выложить, как он будет готов. Ну а раз ровно в тот день, когда обещал ..... :)
     
Статус темы:
Закрыта.