Страница 7 из 7

Проект с меню на 1602 и энкодере

Добавлено: 29.08.2019{, 23:13}
rw6cm
ingener писал(а):
27.08.2019{, 12:35}
Надо библиотеку или блок какой вставить?
Загрузите проект
Просмотр кодировки HD44780.flp
(41.53 КБ) 90 скачиваний
Пройдитесь по символам и сравните с общепринятыми,
Таблица кодов кириллицы.pdf
(328.1 КБ) 95 скачиваний
если что то похожее в последовательности и адресации есть, значит повезло

Проект с меню на 1602 и энкодере

Добавлено: 30.08.2019{, 09:15}
ingener
rw6cm, что-то не компилируется, пробовал на двух компах, одинаковая ошибка :smile37:

Arduino: 1.8.9 (Windows 7), Плата:"Arduino/Genuino Uno"
C:\Users\zotov\AppData\Local\Temp\flprog\pr2\pr2.ino: In function 'void setup()':
pr2:26:23: error: no matching function for call to 'LiquidCrystal_I2C::begin()'
lcd_171810569_1.begin(); ^
In file included from C:\Users\zotov\AppData\Local\Temp\flprog\pr2\pr2.ino:3:0:
C:\Users\zotov\Documents\Arduino\libraries\LiquidCrystal_I2C_V112/LiquidCrystal_I2C.h:58:8: note: candidate: void LiquidCrystal_I2C::begin(uint8_t, uint8_t, uint8_t)
void begin(uint8_t cols, uint8_t rows, uint8_t charsize = LCD_5x8DOTS );
C:\Users\zotov\Documents\Arduino\libraries\LiquidCrystal_I2C_V112/LiquidCrystal_I2C.h:58:8: note: candidate expects 3 arguments, 0 provided
exit status 1
no matching function for call to 'LiquidCrystal_I2C::begin()'

Проект с меню на 1602 и энкодере

Добавлено: 30.08.2019{, 14:16}
rw6cm
ingener писал(а):
30.08.2019{, 09:15}
что-то не компилируется, пробовал на двух компах, одинаковая ошибка
Похоже Вы библиотеку LiquidCrystal_I2C обновляли, потому как в FLProg 5.3 немного другая идет.
пробуйте
Просмотр кодировки HD44780_2.flp
(43.19 КБ) 80 скачиваний

Проект с меню на 1602 и энкодере

Добавлено: 01.09.2019{, 11:46}
ingener
rw6cm, вот в итоге что получилось касательно русских букОв
какие можно сделать выводы?
не хватает некоторых (но все они, кроме мягкого знака, могут быть заменены латиницей)
А, В, Е, К, М, Н, О, Р, С, Т, Х, Ь,
а, е, о, р, с, у, х,

160 0ХА0 Б
161 0ХА1 Г
224 0XE0 Д
162 0ХА2 ё
163 0ХА3 Ж
164 0ХА4 З
165 0ХА5 И
166 0ХА6 й
167 0ХА7 Л
168 0ХА8 П
169 0ХА9 У
170 0ХАА Ф
225 0XE1 Ц
171 0ХАB Ч
172 0ХАС Ш
226 0XE2 Щ
173 0ХАD Ъ
174 0ХАE Ы
175 0ХАF Э
176 0ХB0 Ю
177 0ХB1 Я

178 0ХB2 б
179 0ХB3 в
180 0ХB4 г
227 0XE3 д
181 0ХB5 ё
182 0ХB6 ж
183 0ХB7 з
184 0ХB8 и
185 0ХB9 й
186 0ХBA к
187 0ХBB л
188 0ХBС м
189 0ХBD н
190 0ХBE п
191 0ХBF т
228 0XE4 ф
229 0XE5 ц
192 0ХC0 ч
193 0ХC1 ш
230 0XE6 щ
194 0ХC2 ъ
195 0ХC3 ы
196 0ХC4 ь
197 0ХC5 э
198 0ХC6 ю
199 0ХC7 я

Простое меню на энкодере, дисплей 2004 по I2C с русификацией

Добавлено: 01.09.2019{, 16:46}
rw6cm
ingener писал(а):
01.09.2019{, 11:46}
вот в итоге что получилось
Здесь или писать конвертер под флп, или искать их библиотеку и делать блок.

Проект с меню на 1602 и энкодере

Добавлено: 01.09.2019{, 23:14}
ingener
Вот вроде бы нашлась библиотека для русификации LCD дисплеев на базе контроллера HD44780 с интерфейсом I2C
первоисточник -
https://zen.yandex.ru/media/id/5af73556 ... f10adf5e0f
Только вопрос, как этоприменить в проекте? :smile37:

Vladimir Kirievskiy (C) 2018
********************************************************************************************
* @brief
* Converter of win1251 cyrillic for HD44780 based LCD display
*
* SDK: Arduino IDE 1.8.5
*
********************************************************************************************
* @author V. Kirievskiy - vek2006_73@@mail.ru
* This software is furnished "as is", without technical support, and with no
* warranty, express or implied, as to its usefulness for any purpose.
*/

#ifndef CYRLCDCONVERTER_H
#define CYRLCDCONVERTER_H

#include <Arduino.h>

#define WIN1251 0
#define UTF8 1

class ConvertToCyrLCD
{
private:
byte ucCodepage;
char cConvertToCyrLCD (unsigned char ucChar);
String utf8rus(String source);
public:
ConvertToCyrLCD(byte ucCodepage);
String convert(String xString);
};




/*
//Recoding array (replaced by switch construction for memory saving)
const unsigned char aucCyrylic[256] = {
0x84, 0x85, 0x94, 0xff, 0x86, 0x87, 0xdb, 0xcf, // pseudographic
0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, // pseudographic
0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, // pseudographic
0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, // pseudographic
0xef, 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, // pseudographic
0xa2, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, // pseudographic
0xfe, 0xff, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xec, // pseudographic
0xb5, 0xee, 0xef, 0xf0, 0xf1, 0xf2, 0xfd, 0xff, // pseudographic
0x41, 0xa0, 0x42, 0xa1, 0xe0, 0x45, 0xa3, 0xa4, // АБВГДЕЖЗ
0xa5, 0xa6, 0x4b, 0xa7, 0x4d, 0x48, 0x4f, 0xa8, // ИЙКЛМНОП
0x50, 0x43, 0x54, 0xa9, 0xaa, 0x58, 0xe1, 0xab, // РСТУФХЦЧ
0xac, 0xe2, 0xad, 0xae, 0x62, 0xaf, 0xb0, 0xb1, // ШЩЪЫЬЭЮЯ
0x61, 0xb2, 0xb3, 0xb4, 0xe3, 0x65, 0xb6, 0xb7, // абвгдежз
0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0x6f, 0xbe, // ийклмноп
0x70, 0x63, 0xbf, 0x79, 0xe4, 0x78, 0xe5, 0xc0, // рстуфхцч
0xc1, 0xe6, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7 // шщъыьэюя
};
*/

#endif

Проект с меню на 1602 и энкодере

Добавлено: 02.09.2019{, 02:02}
rw6cm
ingener писал(а):
01.09.2019{, 23:14}
Только вопрос, как этоприменить в проекте? :smile37:
:smile37: :)
Конвертор кирилицы LCD.flp
(77.98 КБ) 142 скачивания
RU LCD(2004) конвертер.ubl
(17.04 КБ) 126 скачиваний
CyrLCDconverter-master.zip
(17.62 КБ) 126 скачиваний

Проект с меню на 1602 и энкодере

Добавлено: 02.09.2019{, 09:26}
ingener
:smile9:

Простое меню на энкодере, дисплей 2004 по I2C с русификацией

Добавлено: 04.09.2019{, 14:02}
ingener
Подскажите плиз, как организовать название пункта меню на 2 строки, если оно не умещается на одной?
В блоке меню (для вывода имени и значения) ведь можно задать только одну строку. :smile37:

Простое меню на энкодере, дисплей 2004 по I2C с русификацией

Добавлено: 04.09.2019{, 16:18}
rw6cm
ingener писал(а):
04.09.2019{, 14:02}
как организовать название пункта меню на 2 строки, если оно не умещается на одной?
Правильнее подобрать короткие по смыслу слова в одну строку ))
2019_09_04_16_11_35_Window.png
2019_09_04_16_11_35_Window.png (4.29 КБ) 1244 просмотра

Простое меню на энкодере, дисплей 2004 по I2C с русификацией

Добавлено: 10.09.2019{, 16:59}
ingener
Встала задача плавно стартовать шаговый двигатель. Для этого необходимо плавно поднимать частоту генератора (т.е. изменять значение переменной integer) примерно от 50 до...(задается из меню).
И так же плавно снижать при остановке.
В "железной" электронике это было бы предельно просто - обычная RC цепочка.
А есть ли несложный аналог для FLprog?
Или только громоздкие счетчики-генераторы и пр. :smile37:

Простое меню на энкодере, дисплей 2004 по I2C с русификацией

Добавлено: 10.09.2019{, 18:37}
rw6cm
ingener писал(а):
10.09.2019{, 16:59}
Встала задача плавно стартовать шаговый двигатель.
Опять будем менять название темы, или все же создадим новую? ))

Простое меню на энкодере, дисплей 2004 по I2C с русификацией

Добавлено: 21.01.2024{, 15:45}
Pauk81
Подскажите пожалуйста почему у меня не получаеться вывести русский язык, делаю все как показано выше но не выходит :smile37:

Простое меню на энкодере, дисплей 2004 по I2C с русификацией

Добавлено: 21.01.2024{, 19:24}
montirovka
Pauk81 писал(а):
21.01.2024{, 15:45}
Подскажите пожалуйста почему у меня не получаеться вывести русский язык, делаю все как показано выше но не выходит
Значит у вас не русифицированный дисплей.
Выводит вот так ?
IMG_20240121_191813.jpg
Подключил не перешивая к Ардуино вместо 2004 1602s русифицированный.
IMG_20240121_193700.jpg
На этой странице сверху есть Просмотр кодировки HD44780.flp.
Вы его запускали? Если нет то запустите. Запустив просмотрщик кодировки вы узнаете что может выводить ваш дисплей.

Простое меню на энкодере, дисплей 2004 по I2C с русификацией

Добавлено: 22.01.2024{, 08:00}
montirovka
Есть хорошая тема по русификации.
viewtopic.php?f=72&t=6899&p=96552&hilit=кирилица#p96552