У меня этот экран почему то не захотел работать, через i2c сначала пробовал. Все библиотеки и методы перепробовал. Просто светится верхняя строка из 16 символов. Решил подключить напрямую, с переменным сопротивлением для регулировки контраста. Подключил. все тоже самое. Что может быть еще ? если напрямую тоже не выводит текст? только неконтакт в пайке? или еще что то?
Жаль что в данном видео не "разжовывается" как это получается, я с наскоку не "въезжаю". Предполагаю что перед отображением нужного отсутствующего символа он сначала записывается в одну из восьми свободных ячеек памяти, потом из неё выводится на дисплей. И так перед каждым символом которому не находится аналог в латинском алфавите и в уже записанных в свободной памяти. Или как то иначе?
Вы все правильно поняли. Есть только один нюанс, который нужно помнить: как вы сами сказали, отсутствующие символы записываются в 8 ячеек пользовательской памяти. И на дисплее можно вывести только их. Если же попробовать вывести на дисплей строку в которой будет больше уникальных символов, на пример 9, а пользовательская память имеет всего 8 ячеек. То последний, 9-й символ заменит 1-й символ из 8-ми ячеек. Выглядеть это будет так: Допустим, попробуем вывести 9 уникальных символов: ялджшщпфй Но так как символов 9 а не 8 то затрется один из символов и на дисплее это будет выглядеть так: йлджшщпфй Так что при формировании текста, который будет выводиться на дисплей, нужно это учитывать и не допускать вывода более 8-ми уникальных символов
подскажите пожалуйста, почему на дисплее только квадратики, уже перепробовал много библиотек, скейчи всякие разные не че не помогает. Дисплей с модулем FC-113
Home Made - То, что ты можешь сделать Крутил квадратики яркость меняется и все, перепроверял все правильно подключено уже сходил новую купил токая же история
Так, вы используете расширитель портов, значит Подключение должно быть по i2c. Проверьте правильность подключения. Это видео смотрели ua-cam.com/video/xgV6sV2loAw/v-deo.html ? Там я подключал через расширитель. Для этого нужна своя библиотека. Под видео есть ссылки.
Собрал все как на картинке в ролике, но через несколько минут работы задимился и сгорел резистор на 10К, заменил его другим, он тоже греется, в чем может быть проблема? Собираю на базе МЕГИ использую пины 2-7.
Ого! За все время у меня только 1 раз выгорал резистор - когда я его подключил к 12 вольт... Мне видится только 2 варианта (при условии что все 100% правильно подключено): - либо напряжение питания выше 5 вольт - либо резистор не на 10 кОм, а на много меньше. На резисторе должно быть написано "103".
Может вы сам резистор неправильно подключили? Резистор подключается к +5 и GND, а ползунок к дисплею. Если перепутать контакты то в резисторе может произойти КЗ. От этого и нагрев.
Да, можно, нужно только подкорректировать библиотеку для работы по i2c. Можно подсмотреть как это сделано в библиотеке для обычных дисплеев 1602. Готовая библиотека мне не попадалась. Но я и не искал толком :)
Тоже ищу библиотеку I2C для дисплеев с кириллицей. Пытался разобраться как переделать обычную библиотеку на двухпроводную шину, но лишь больше запутался. Слишком много отличий для понимания. Около года назад плюс минус не помню точно сколько видел видео где как мне показалось один блогер уже перебрал библиотеку для дисплеев с кириллицей для I2C линии. Но тогда у меня не было переходника и я не сохранил ссылку на видео и на файлы. А сейчас не могу найти это видео сколько не искал.
exit status 1 converting to execution character set: Illegal byte sequence даже ничего не менял с примера (кроме подключения), русского в дисплее нет, можешь помочь?
Привет! Ответь пожалуйста на вопросы: 1) Что именно делал? 2) Пробовал обычный пример? Файл - Примеры - LiquidCrystal - Hello World 3) На дисплее появилась надпись? 4) Подключал библиотеку LiquidCrystal_1602_RUS-master? 5) Пробовал пример: файл - Примеры - LiquidCrystal_1602_RUS-master - Hello World ? Если все это делал и пункты 2 и 3 нормально показывают, то попробуй открыть пример LiquidCrystal_1602_RUS-master - Hello World Сначала сохрани его куда-нибудь, хоть на рабочий стол, только после этого прошивай. У меня был такой глюк что выдавало ошибки и отказывалось прошиваться. Я просто сохранился в другое место с скетч нормально прошился.
«Китайські». Ну шо за люди, не вміють японця од китайця відрізнити. У китайців нема букв. У китайців дохуїща ієрогліфів, які ніякий чорт ніяким боком в той дисплей не запхає, тим паче в шрифт 8х5. Японський. Тому що Hitachi оригінальна первісна розробка.
Может быть я и ошибаюсь.Исхожу из этого: www.google.com/search?q=lcd+1602+%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B0+%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D0%BE%D0%B2&source=lmns&hl=ru&ved=2ahUKEwivk9b3_uXpAhVKs6QKHZL-DvsQ_AUoAHoECAEQAA Везде (где это указано) говорится что это китайский. Тем более что производство - в Китае, и явно не компанией Hitachi. А то что они их изобрели - не играет никакой роли.
@@UCanDo Катакана - японський алфавіт. Китайцям він загалом без надобності, вони просто оставили, як було в оригіналі. Китайські для китайців - вони інакші, ось такі: arduino.ua/docs/ST7920.pdf. Що називається не "1602", а "128х64 графічний". Хоч його називають "графічний", він частково сумісний з текстовими LCD, схема підключення і коди управління такі ж; він більший, і в нього трохи інакша адресація пам’яті. І там є російський алфавіт - в китайському кодуванні (у варіанті прошивки, позначеному літером B, коди букв двохбайтові A7A0...A7F1, нізащо не вгадаєте, якщо не знали), і в повноширинному відображенні (гігантські букви 16х16 пікселів, яких влазить в рядок удвічі менше, ніж латинських вужчих, 16х8). Тобто я що найсмішніше сказать хочу: іменно в китайському, КНР (не Тайвань), знакогенераторі *російські букви є* (поміж семи чи восьми тисяч ієрогліфів, не жалко вставить)!
+Рашид Айдиев Надо саму библиотеку переделать. Можно посмотреть как сделана библиотека для Ардуино и по тому же принципу сделать для STM. Я вряд ли буду это делать, меня вполне устраивает английский. Надо на форуме тему поднять. Готовая библиотека мне не встречалась.
I²C в данном дисплее нет, нет там и русского шрифта, но есть возможность придумать свои знаки в количестве 16шт. вот вам и русские буквы или что вам нужно
Ардуино - это микроконтроллер. Он будет делать все то, чему вы его научите. У меня на канале есть видео с готовыми проектами. Посмотрите. На базе Ардуино можно сделать много чего. Все зависит от фантазии. От простой гирлянды до примитивного ИИ. От радиоуправления до робототехники. И т.д. У меня дома много устройств, которые я не снимал на видео: несколько р/у машинок, дверной звонок, много всяких встроенных модулей, которые сами по себе не очень интересны, но чем-то помогают. Все зависит от фантазии
Ну, это же запчасть... Вы же не поставите одно колесо на две машины :) Программу вы можете использовать для разных плат Ардуино. Потом берёте плату Ардуино и собираете устройство. Не понравилось - разобрали, и сделали что- то другое :) Для каждого устройства своя запчасть. Ардуино ПроМини очень дешевые. Ссылки смотрите в описании
Спасибо за ответ. Т.е. получается - запрограммировал ардуино, прикрепил к устройству и пользуешься. Потом захотел изменил, перепрограммировал и дальше пользуешься. Правильно? И ещё вопрос: есть неисправные микроволновка и стиральная машина.Есть ли там ардуино?
Вы все правильно поняли. Ардуино - это лишь название. Как "Лего" - это название конструктора. То что вы думаете найти называется "Микроконтроллер", или сокращённо МК. Да, вполне может быть, но нет, скорее всего вы его использовать не сможете - знаний не хватит. Советую вам начать с просмотра серий обучающих видео от Джереми Блума.
Если i2c сканер не видит то причин может быть несколько: 1) неправильно подключён 2) неправильно подключено питание 3) что-то испорчено (либо Ардуино, либо i2c ра ширитесь портов
Да, так и есть, пользовательских символов всего 8. Но можно их подставлять динамически, и таким образом использовать весь кириллический шрифт. В описании к видео есть ссылка на библиотеку, которая именно это и делает. И получается писать по-русски на дисплеях, которые не поддерживают кириллицу.
Такой фокус не пройдет, потому что ОЗУ знакомест дисплея являются всего лишь указателями на ячейки таблицы символов. Следовательно как только пользовательский символ в таблице затирается другим, то на дисплее он тоже затирается, проверено
Возможно, я не проверял. Но тем не менее, в моем дисплее нет русского, а различные надписи выводились без проблем. Может просто слова удачные попались и не вызвали Глюка? Сам автор библиотеки в описании написал что буквы подставляются динамически. Завтра проверю и напишу результаты.
Есть несколько вариантов: 1) не настроена контрастность (резистор покрутить нужно) 2) дисплей неправильно подключён или в скетче неправильно указаны пины подключения 3) используется какой-то нестандартный контроллер дисплея (но это редкость).
Дима , попробуйте выйти с синим дисплеем на солнечный свет. Что вы там увидите? Для яркого освещения или улицы мне ближе - зеленые. Но и желтые тоже приемлемо работают. Короче все что чёрным цветом отображают.
@@UCanDo Нужно изменить в скетче чтобы выводились русские надписи вместо английских .Это прошивка для токарного станка здесь лежит www.chipmaker.ru/files/file/9787/ прошивка Digital_Feed_7e2
lcd.begin(16,2); lcd.setCursor(16, 2); //запредельная область дисплея lcd.print(lcd.asciiutf8("")); } После чего префикс в тексте не понадобился lcd.print("Привет мир");
Выдает ошибку при компиляции "Arduino: 1.8.5 (Windows 7), Плата:"Arduino/Genuino Uno" C:\Users\775D~1\AppData\Local\Temp\arduino_modified_sketch_792028\HelloWorld.ino: In function 'void setup()': HelloWorld:28: error: converting to execution character set: Illegal byte sequence lcd.print(L"Можно печатать"); ^ HelloWorld:30: error: converting to execution character set: Illegal byte sequence lcd.print(L"на русском"); ^ exit status 1 converting to execution character set: Illegal byte sequence Неверная библиотека найдена в C:\Users\днс\Documents\Arduino\libraries\Cloc: C:\Users\днс\Documents\Arduino\libraries\Cloc Неверная библиотека найдена в C:\Users\днс\Documents\Arduino\libraries\Cloc: C:\Users\днс\Documents\Arduino\libraries\Cloc"
+Дмитрий Рыльцев, да, вылазит иногда эта ошибка. Причина не известна. Решение проблемы очень простое: Сохраните скетч в другом месте: "Файл - Сохранить как..."
Cтал замечать, что на ардуино не работают не сохранённые(изменённые без сохранения) все скетчи...К примеру, в примере(:3) библиотеки LiquidCrystalRus-master удалю коментарий и загружу в ардуино-скетч не работает(вместо привет мир - ! , ), хотя без изменений(любых) он работал...После сохранения изменений скетч начинает работать адекватно...В чём проблема?Немного не удобно...
При обновлении Arduino IDE самой среды не которые библиотеки перестают работать, так как среда обновляеться устаревают некоторые функции и добавляются новые не забывайте обновлять библиотеки или сохраняйте версию Arduino в которой все работало
Только лишь у меня вместо русского, при том что сам русский есть в дисплее, восклицательный знак(1 на весь текст)...С одной из других библиотек вывел Привет мир, но что-то другое не получается, вместо текста выводится . и ! , такое же после любого игменения кода, вплоть до комментариев
Подобное поведение, как и у вас, было и у меня. Оказалось что мой дисплей, если не отключить питание, сохраняет настройки от предыдущих прошивок (скетчей) и эти настройки в результате давали глюки в работе дисплея. Попробуйте все сделать с самого начала. Вплоть до удаления библиотеки и повторного ее подключения. И далее все повторяйте пошагово. ВАЖНО! после каждого изменения отключайте питание Ардуино и по новой переподключайте! Отключение питания стирает настройки дисплея. Так вы сможете понять что именно вызывает проблемы и какая библиотека на самом деле рабочая, а какая нет.
Вывести одновременно на экран больше восьми разных пользовательских букв не возможно… об этом ничего автор ролика не сказал… так что некоторые тексты могут выглядеть некорректно…
В остальных IDE выдает те же ошибки. Но на работу это никак не влияет. Компиляция и прошивка проходят и устройство потом нормально работает. Тем более что эти ошибки - только предупреждения. Прошивка не прерывается и скетч нормально прошивается в ардуино.
А каким образом устройство поймёт что именно от него требуется? Программа (скетч) предназначен для того чтобы «обучить» микроконтроллер тому как правильно управлять другими устройствами
@@UCanDo сейчас исправил ошибку, но проблема всё же есть. Мой дисплей виснет когда я запускаю Вашу библиотеку и через 5 минут показывает китайские ироглифы
все гуд но автор умалчивает: 1. таблица символов русского помещается в память микроконтроллера, не всех символов конечно, а только не общих с инглишем. 2 т.к у экрана русского нет русские буквы выводятся из дополнительной памяти экрана, куда они предварительно помещаются из памяти микроконтроллера. Буквы которые совпадают с английким выводятся из памяти экрана. 3 третье следует из первого и второго: дополнительной памяти у экрана хватаеи всего на 8 символов. при выводе текста в которой больше 8 русских букв (не замененных английскими) получается что не получается. ТОЛЬКО 8 БУКВ ЧИСТО РУССКИХ НА ЭКРАНЕ. как вариант вывожу заглавными, их совпадение с инглишем больше, таблицу мелких убил, чтоб память не жрала. добавил свои символы - градусы, часики и др.
Вы все верно написали, но все же не совсем правы. Цель видео - показать возможность вывода русского языка на дисплеях которые таковой не поддерживают. О том как работает библиотека речь не идет. И вообще видео не о разборе библиотек. Так что смысла в ваших претензиях не вижу.
Автор ты дезинформатор. Почти 3 года прошло мог бы разобраться и переснять видео. Не поддерживают эти дисплее кириллицу нормально. Во фразе "На русском" только "у" кириллическая. Попробуй вывести "БШЩИЮЗЫЪЧЯ" т.е больше 8--ми чисто кириллических символов.
Дисплей - всего лишь стекло с набором полупроводников, ему без разницы что выводить. Все зависит от контроллера, который стоит на дисплее. Точнее в самой прошивке контроллера. Так что поддержка Кириллицы зависит от того какую прошивку зашьёт производитель. Дисплеи Российского производства имеют кириллицу. А на счёт остальных - опять же, зависит от производителя. На Алиекспрессе 99% дисплеев имеют китайский язык вместо кириллицы. А те что имеют кириллицу стоят дороже. Это связано со спросом и дороговизной производства. Подавляющему числу покупателей по всему миру нужен Английский язык, и лишь малое количество покупателей требуют Кириллицу. В то же время китайци могут свободно использовать дисплеи без Кириллицы у себя в стране (так как в дисплеи вшит китайский). Из-за этого очень большая разница в производстве. А, как известно, чем больше объём производства, тем дешевле продукт, и наоборот: чем меньше объём, тем дороже конечный продукт. В результате дисплеи без кириллицы стоят дешевле и более распространены по миру, а с кириллицей - дороже и менее распространены. Но вернёмся к сути вопроса: поддержка кириллицы. Она либо есть, либо нет. Третий вариант - это сделать программную эмуляцию русского языка (что и сделано в видео). Путём подстановки символов в пользовательские ячейки и использование символов латиницы. Так что не стоит мне говорить о том что я в этом вопросе не разбираюсь.
@@UCanDo Вы вообще читали что я написал? Я что-то писал про дисплеи с поддержкой кириллицы? Я написал что указанная библиотека для обычных китайских дисплеев не решает проблемы кириллицы. В этом Вам бы и стоило разобраться и указать в видео что есть четкое ограничение в виде 8 символов для этой либы и дисплея. А так это введение в заблуждение. К примеру arduinoLab нормально подвал все эти нюансы.
У меня эта библиотека ошибки выдает: C:\Users\johannschiffmacher\Documents\Arduino\libraries\LiquidCrystal_1602_RUS-master\LiquidCrystal_1602_RUS.cpp:5:22: warning: ISO C++ forbids converting a string constant to 'wchar_t*' [-Wwrite-strings] wchar_t *char_utf8 = L" "; ^~~~ C:\Users\johannschiffmacher\Documents\Arduino\libraries\LiquidCrystal_1602_RUS-master\LiquidCrystal_1602_RUS.cpp: In member function 'void LiquidCrystal_1602_RUS::print(const char*)': C:\Users\johannschiffmacher\Documents\Arduino\libraries\LiquidCrystal_1602_RUS-master\LiquidCrystal_1602_RUS.cpp:54:40: warning: invalid conversion from 'const char*' to 'char*' [-fpermissive] current_char += mbtowc(&_str, c_str+current_char, 2); ~~~~~^~~~~~~~~~~~~ C:\Users\johannschiffmacher\Documents\Arduino\libraries\LiquidCrystal_1602_RUS-master\LiquidCrystal_1602_RUS.cpp:35:9: note: initializing argument 2 of 'uint8_t LiquidCrystal_1602_RUS::mbtowc(wchar_t*, char*, uint8_t)' uint8_t LiquidCrystal_1602_RUS::mbtowc(wchar_t *_chr, char *_str, uint8_t mb_num) { ^~~~~~~~~~~~~~~~~~~~~~ C:\Users\johannschiffmacher\Documents\Arduino\libraries\LiquidCrystal_1602_RUS-master\LiquidCrystal_1602_RUS.cpp: In member function 'void LiquidCrystal_1602_RUS::print(const String&)': C:\Users\johannschiffmacher\Documents\Arduino\libraries\LiquidCrystal_1602_RUS-master\LiquidCrystal_1602_RUS.cpp:79:26: warning: invalid conversion from 'const char*' to 'char*' [-fpermissive] char *c_str = str.c_str(); ~~~~~~~~~^~
Впервые вижу подобные ошибки. Попробуйте удалить все библиотеки дисплея и установить только ту что используется в видео. Не забудьте перезагрузить Ардуино ИДЕ
Что только не пробовал, единственный способ, который помог. Спасибо.
У меня этот экран почему то не захотел работать, через i2c сначала пробовал. Все библиотеки и методы перепробовал. Просто светится верхняя строка из 16 символов. Решил подключить напрямую, с переменным сопротивлением для регулировки контраста. Подключил. все тоже самое. Что может быть еще ? если напрямую тоже не выводит текст? только неконтакт в пайке? или еще что то?
i2c адаптер - стоит 2$ - 2 провода питания и 2 провода данных, вместо пучка проводов.... :)
Экран 1602 около 1.6
экран с переходником около 1.8
Мне кажется что для подключения дисплея через и2с не нужно снимать видео, а для того что бы понять как оно работает нужно
Поддерживаю
Только непонятно, как сделать русский с I2C интерфейсом?...
Есть такая библиотека, но она выводит ограниченное кол-во русских символов, так как при возможности заменяется на английские аналоги
Единственный способ который помог!
Огромное СПАСИБО за видео и библиотеки!
Не за что:) Успехов вам!
Спс большое, ценная информация
Подскажите, какое переменное сопротивление используете?
Ставил на 10 кОм. Но можно любой другой бОльшего номинала. Меньше чем 10 кОм лучше не использовать.
Спасибо за оперативный ответ. Это что то вроде этого www.aliexpress.com/item/High-Quality-5pcs-10K-Knob-Potentiometer-for-Arduino/32680095061.html
Что-то вроде :)
Я покупал обычные подстроечные резисторы
Скажи пожалуста без подсветки
видно шрифт нормально? Заказал такой синий вговнокитае для прибора подсветка не будет использоватся
Без подсветки видно плохо
@@UCanDo понятно спасибо!
Игорь, можете рассказать, как печать русские символы на 1602 с i2c?
Добрый день. Кириллица есть в прошивке дисплея? В видео я показывал как это проверить
Жаль что в данном видео не "разжовывается" как это получается, я с наскоку не "въезжаю". Предполагаю что перед отображением нужного отсутствующего символа он сначала записывается в одну из восьми свободных ячеек памяти, потом из неё выводится на дисплей. И так перед каждым символом которому не находится аналог в латинском алфавите и в уже записанных в свободной памяти. Или как то иначе?
Вы все правильно поняли.
Есть только один нюанс, который нужно помнить: как вы сами сказали, отсутствующие символы записываются в 8 ячеек пользовательской памяти. И на дисплее можно вывести только их. Если же попробовать вывести на дисплей строку в которой будет больше уникальных символов, на пример 9, а пользовательская память имеет всего 8 ячеек. То последний, 9-й символ заменит 1-й символ из 8-ми ячеек.
Выглядеть это будет так:
Допустим, попробуем вывести 9 уникальных символов:
ялджшщпфй
Но так как символов 9 а не 8 то затрется один из символов и на дисплее это будет выглядеть так:
йлджшщпфй
Так что при формировании текста, который будет выводиться на дисплей, нужно это учитывать и не допускать вывода более 8-ми уникальных символов
подскажите пожалуйста, почему на дисплее только квадратики, уже перепробовал много библиотек, скейчи всякие разные не че не помогает. Дисплей с модулем FC-113
Попробуйте контрастность настроить
Home Made - То, что ты можешь сделать
Крутил квадратики яркость меняется и все, перепроверял все правильно подключено уже сходил новую купил токая же история
Так, вы используете расширитель портов, значит Подключение должно быть по i2c. Проверьте правильность подключения. Это видео смотрели ua-cam.com/video/xgV6sV2loAw/v-deo.html ?
Там я подключал через расширитель. Для этого нужна своя библиотека. Под видео есть ссылки.
Если для подключения используется переходник I2C то проблема в адресе подключения. Обычно он прописан 0х27 а нужно заменить на 0x3f.
ARIMF спасибо огромное. поменял 0x27 на 0x3f все заработало
Приветствую.
А есть такая библиотека для дисплея 2004?
Не знаю, не искал для 1604. Но вы попробуйте библиотеку что я использовал. Обычно они универсальны (для 1602 и 1604) , вдруг подойдёт.
Вроде не катит, пытался по разному, выдает ошибки. Хотя может и не все варианты испробывал
Надо посмотреть в саму библиотеку, какие иниты она принимает. Сейчас времени нет, смогу только в понедельник-среду глянуть.
Буду признателен, если найдете время и глянете, что да как... Заранее благодарю.
Постараюсь. Если до среды не напишу, то напомните, а то может быть закручусь и забуду...
Собрал все как на картинке в ролике, но через несколько минут работы задимился и сгорел резистор на 10К, заменил его другим, он тоже греется, в чем может быть проблема? Собираю на базе МЕГИ использую пины 2-7.
Ого! За все время у меня только 1 раз выгорал резистор - когда я его подключил к 12 вольт...
Мне видится только 2 варианта (при условии что все 100% правильно подключено):
- либо напряжение питания выше 5 вольт
- либо резистор не на 10 кОм, а на много меньше. На резисторе должно быть написано "103".
на моем написано shb10k
Может вы сам резистор неправильно подключили?
Резистор подключается к +5 и GND, а ползунок к дисплею. Если перепутать контакты то в резисторе может произойти КЗ. От этого и нагрев.
Сегодня куплю новый резистор, проверю еще раз. Точно могу сказать, что средний контакт к дисплею.
Есть такие резисторы, у которых вывод ползунка не по средине а сбоку... Перед установкой проверьте тестером
Низкий поклон Автору данного ролика!
Спасибо! Успехов вам!
Вам спасибо! А еще вопрос такой: можно ли отобразить русский шрифт на LED 1602 с I2C шиной?
Да, можно, нужно только подкорректировать библиотеку для работы по i2c. Можно подсмотреть как это сделано в библиотеке для обычных дисплеев 1602.
Готовая библиотека мне не попадалась. Но я и не искал толком :)
Тоже ищу библиотеку I2C для дисплеев с кириллицей. Пытался разобраться как переделать обычную библиотеку на двухпроводную шину, но лишь больше запутался. Слишком много отличий для понимания. Около года назад плюс минус не помню точно сколько видел видео где как мне показалось один блогер уже перебрал библиотеку для дисплеев с кириллицей для I2C линии. Но тогда у меня не было переходника и я не сохранил ссылку на видео и на файлы. А сейчас не могу найти это видео сколько не искал.
Поищите в истории браузера, или в истории просмотра ютуба
exit status 1
converting to execution character set: Illegal byte sequence
даже ничего не менял с примера (кроме подключения), русского в дисплее нет, можешь помочь?
Привет! Ответь пожалуйста на вопросы:
1) Что именно делал?
2) Пробовал обычный пример? Файл - Примеры - LiquidCrystal - Hello World
3) На дисплее появилась надпись?
4) Подключал библиотеку LiquidCrystal_1602_RUS-master?
5) Пробовал пример: файл - Примеры - LiquidCrystal_1602_RUS-master - Hello World ?
Если все это делал и пункты 2 и 3 нормально показывают, то попробуй открыть пример
LiquidCrystal_1602_RUS-master - Hello World
Сначала сохрани его куда-нибудь, хоть на рабочий стол, только после этого прошивай. У меня был такой глюк что выдавало ошибки и отказывалось прошиваться. Я просто сохранился в другое место с скетч нормально прошился.
Большое спасибо! Сохранил в другое место и заработало! Оно конечно немного ругается в процессе компиляции. Ещё раз спасибо!
+Eugene Pushkarsky Успехов вам!
Спасибо, все понятно
Зачем этот соплестрой, когда есть модуль i2c интерфейса всего с 4 проводами и даже с крутилкой
@@MARK2580 встречный вопрос: а зачем еще какой-то модуль лепить когда можно в е подключить на прямую?
Ответ прост: каждой вещи - свое место.
«Китайські». Ну шо за люди, не вміють японця од китайця відрізнити. У китайців нема букв. У китайців дохуїща ієрогліфів, які ніякий чорт ніяким боком в той дисплей не запхає, тим паче в шрифт 8х5. Японський. Тому що Hitachi оригінальна первісна розробка.
Может быть я и ошибаюсь.Исхожу из этого: www.google.com/search?q=lcd+1602+%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B0+%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D0%BE%D0%B2&source=lmns&hl=ru&ved=2ahUKEwivk9b3_uXpAhVKs6QKHZL-DvsQ_AUoAHoECAEQAA
Везде (где это указано) говорится что это китайский. Тем более что производство - в Китае, и явно не компанией Hitachi. А то что они их изобрели - не играет никакой роли.
@@UCanDo Катакана - японський алфавіт. Китайцям він загалом без надобності, вони просто оставили, як було в оригіналі.
Китайські для китайців - вони інакші, ось такі: arduino.ua/docs/ST7920.pdf. Що називається не "1602", а "128х64 графічний". Хоч його називають "графічний", він частково сумісний з текстовими LCD, схема підключення і коди управління такі ж; він більший, і в нього трохи інакша адресація пам’яті. І там є російський алфавіт - в китайському кодуванні (у варіанті прошивки, позначеному літером B, коди букв двохбайтові A7A0...A7F1, нізащо не вгадаєте, якщо не знали), і в повноширинному відображенні (гігантські букви 16х16 пікселів, яких влазить в рядок удвічі менше, ніж латинських вужчих, 16х8).
Тобто я що найсмішніше сказать хочу: іменно в китайському, КНР (не Тайвань), знакогенераторі *російські букви є* (поміж семи чи восьми тисяч ієрогліфів, не жалко вставить)!
а на stm32 возможно русский добавить в библиотеку?
+Рашид Айдиев Надо саму библиотеку переделать. Можно посмотреть как сделана библиотека для Ардуино и по тому же принципу сделать для STM. Я вряд ли буду это делать, меня вполне устраивает английский. Надо на форуме тему поднять.
Готовая библиотека мне не встречалась.
Дисплей без I2C?
I²C в данном дисплее нет, нет там и русского шрифта, но есть возможность придумать свои знаки в количестве 16шт. вот вам и русские буквы или что вам нужно
Для I2C нужен специальный переходник. В ближайшее время сделаю видео на эту тему.
Да, все верно, нет русского, а пишется он через создание новых символов. Только их там не 16 а всего 8
16? А разве не 8? Кстати.. а можно же динамически менять значки, так чтоб на весь алфавит хватило?
+Maxx P Именно так и сделано в библиотеке (ссылка в описании к видео) динамически подставляются новые символы русского алфавита
Спасибо за урок. Только как на практике можно применять ардуино?
Ардуино - это микроконтроллер. Он будет делать все то, чему вы его научите.
У меня на канале есть видео с готовыми проектами. Посмотрите.
На базе Ардуино можно сделать много чего. Все зависит от фантазии. От простой гирлянды до примитивного ИИ. От радиоуправления до робототехники. И т.д.
У меня дома много устройств, которые я не снимал на видео: несколько р/у машинок, дверной звонок, много всяких встроенных модулей, которые сами по себе не очень интересны, но чем-то помогают.
Все зависит от фантазии
Спасибо за ответ. Ещё вопрос: на каждую поделку нужен новый адруино?
Ну, это же запчасть... Вы же не поставите одно колесо на две машины :)
Программу вы можете использовать для разных плат Ардуино. Потом берёте плату Ардуино и собираете устройство. Не понравилось - разобрали, и сделали что- то другое :)
Для каждого устройства своя запчасть. Ардуино ПроМини очень дешевые. Ссылки смотрите в описании
Спасибо за ответ. Т.е. получается - запрограммировал ардуино, прикрепил к устройству и пользуешься. Потом захотел изменил, перепрограммировал и дальше пользуешься. Правильно?
И ещё вопрос: есть неисправные микроволновка и стиральная машина.Есть ли там ардуино?
Вы все правильно поняли.
Ардуино - это лишь название. Как "Лего" - это название конструктора. То что вы думаете найти называется "Микроконтроллер", или сокращённо МК. Да, вполне может быть, но нет, скорее всего вы его использовать не сможете - знаний не хватит.
Советую вам начать с просмотра серий обучающих видео от Джереми Блума.
ща ардуину прогу скачаю. попробую. спасибо
А как можно использовать дисплей с I2C?У меня не получается
Для I2C нужен специальный переходник. В ближайшее время сниму видео на эту тему.
Спасибо!Было бы отлично!
Помогите пожалуйста, у меня сканер i2c не видит его
Если i2c сканер не видит то причин может быть несколько:
1) неправильно подключён
2) неправильно подключено питание
3) что-то испорчено (либо Ардуино, либо i2c ра ширитесь портов
@@UCanDo понятно, я уже не знаю что делать, питание правильно и sda scl к А4 А5
@@UCanDo но всеравно спасибо
Земли объединены? Пробовали к другой Ардуино подключать? Может провода какие-то испорчены?
@@UCanDo спасибо за советы, отказался провод перебитый, заменил и всё заработало)) спасибо вам большое ещё раз!))
На такой дисплей можно вывести только 8 символов кириллицы, которые не совпадают с латиницей, потому что пользовательских символов всего 8
Да, так и есть, пользовательских символов всего 8. Но можно их подставлять динамически, и таким образом использовать весь кириллический шрифт. В описании к видео есть ссылка на библиотеку, которая именно это и делает. И получается писать по-русски на дисплеях, которые не поддерживают кириллицу.
Такой фокус не пройдет, потому что ОЗУ знакомест дисплея являются всего лишь указателями на ячейки таблицы символов. Следовательно как только пользовательский символ в таблице затирается другим, то на дисплее он тоже затирается, проверено
Возможно, я не проверял. Но тем не менее, в моем дисплее нет русского, а различные надписи выводились без проблем. Может просто слова удачные попались и не вызвали Глюка? Сам автор библиотеки в описании написал что буквы подставляются динамически. Завтра проверю и напишу результаты.
да я уже проверял, тоже хотел научить такой дисплей по русски чтобы писал, можете проверить, чтобы убедиться лично
Я тоже проверял, если много символов разных русских, текст колбасит
Загрузил тест вашей программы для дисплея 1602 - никакой реакции - пусто.
Есть несколько вариантов:
1) не настроена контрастность (резистор покрутить нужно)
2) дисплей неправильно подключён или в скетче неправильно указаны пины подключения
3) используется какой-то нестандартный контроллер дисплея (но это редкость).
вообщето их целая куча цветов
7 или больше продавцы некоторые предлогают на выбор
но по мне так синий вроде как самый читаемый
Дима , попробуйте выйти с синим дисплеем на солнечный свет. Что вы там увидите? Для яркого освещения или улицы мне ближе - зеленые. Но и желтые тоже приемлемо работают. Короче все что чёрным цветом отображают.
Как добавить русский язык уже в готовую прошивку?
Что именно вам нужно? Что у вас есть, и что нужно изменить?
@@UCanDo Нужно изменить в скетче чтобы выводились русские надписи вместо английских .Это прошивка для токарного станка здесь лежит www.chipmaker.ru/files/file/9787/ прошивка Digital_Feed_7e2
А у меня префикс " L " не сработал. Из компорта русский выводит.
Решил таким образом
void setup() {
lcd.begin(16,2);
lcd.setCursor(16, 2);
//запредельная область дисплея
lcd.print(lcd.asciiutf8(""));
}
После чего префикс в тексте не понадобился
lcd.print("Привет мир");
Выдает ошибку при компиляции "Arduino: 1.8.5 (Windows 7), Плата:"Arduino/Genuino Uno"
C:\Users\775D~1\AppData\Local\Temp\arduino_modified_sketch_792028\HelloWorld.ino: In function 'void setup()':
HelloWorld:28: error: converting to execution character set: Illegal byte sequence
lcd.print(L"Можно печатать");
^
HelloWorld:30: error: converting to execution character set: Illegal byte sequence
lcd.print(L"на русском");
^
exit status 1
converting to execution character set: Illegal byte sequence
Неверная библиотека найдена в C:\Users\днс\Documents\Arduino\libraries\Cloc: C:\Users\днс\Documents\Arduino\libraries\Cloc
Неверная библиотека найдена в C:\Users\днс\Documents\Arduino\libraries\Cloc: C:\Users\днс\Documents\Arduino\libraries\Cloc"
+Дмитрий Рыльцев, да, вылазит иногда эта ошибка. Причина не известна. Решение проблемы очень простое: Сохраните скетч в другом месте: "Файл - Сохранить как..."
Cтал замечать, что на ардуино не работают не сохранённые(изменённые без сохранения) все скетчи...К примеру, в примере(:3) библиотеки LiquidCrystalRus-master удалю коментарий и загружу в ардуино-скетч не работает(вместо привет мир - ! , ), хотя без изменений(любых) он работал...После сохранения изменений скетч начинает работать адекватно...В чём проблема?Немного не удобно...
Попробуйте скетч сохранить в другом месте. Не перенести а именно "сохранить как..." в другом месте. Может помочь.
СПАСИБО заработал .Просто пересохранил все пошло ТИП ТОП
При обновлении Arduino IDE самой среды не которые библиотеки перестают работать, так как среда обновляеться устаревают некоторые функции и добавляются новые не забывайте обновлять библиотеки или сохраняйте версию Arduino в которой все работало
Только лишь у меня вместо русского, при том что сам русский есть в дисплее, восклицательный знак(1 на весь текст)...С одной из других библиотек вывел Привет мир, но что-то другое не получается, вместо текста выводится . и ! , такое же после любого игменения кода, вплоть до комментариев
Подобное поведение, как и у вас, было и у меня. Оказалось что мой дисплей, если не отключить питание, сохраняет настройки от предыдущих прошивок (скетчей) и эти настройки в результате давали глюки в работе дисплея. Попробуйте все сделать с самого начала. Вплоть до удаления библиотеки и повторного ее подключения. И далее все повторяйте пошагово. ВАЖНО! после каждого изменения отключайте питание Ардуино и по новой переподключайте! Отключение питания стирает настройки дисплея. Так вы сможете понять что именно вызывает проблемы и какая библиотека на самом деле рабочая, а какая нет.
круто --я мозг сломал пока видео не посмотрел
лайк от меня
друг помоги для инкубатора скетч пид регулятора сделай по братски
Не спамьте. За это можно бан получить от ютуба.
Посмотрите это видео, это почти то что вам нужно: ua-cam.com/video/xFWpncHrgRo/v-deo.html
Вывести одновременно на экран больше восьми разных пользовательских букв не возможно… об этом ничего автор ролика не сказал… так что некоторые тексты могут выглядеть некорректно…
а - к земле ставить?
если ты имеешь в виду А которая на дисплее, то нет её нужно к +5V ставить, а К которая рядом должна к земле присоединятся
спасибо😎
В среде 1.8.5 либа не работает выдает ошибки
C:\Users\1\Documents\Arduino\libraries\LiquidCrystal_1602_RUS-master\LiquidCrystal_1602_RUS.cpp:5:22: warning: deprecated conversion from string constant to 'wchar_t*' [-Wwrite-strings]
wchar_t *char_utf8 = L" ";
^
C:\Users\1\Documents\Arduino\libraries\LiquidCrystal_1602_RUS-master\LiquidCrystal_1602_RUS.cpp: In member function 'void LiquidCrystal_1602_RUS::print(const char*)':
C:\Users\1\Documents\Arduino\libraries\LiquidCrystal_1602_RUS-master\LiquidCrystal_1602_RUS.cpp:54:40: warning: invalid conversion from 'const char*' to 'char*' [-fpermissive]
current_char += mbtowc(&_str, c_str+current_char, 2);
^
C:\Users\1\Documents\Arduino\libraries\LiquidCrystal_1602_RUS-master\LiquidCrystal_1602_RUS.cpp:35:9: note: initializing argument 2 of 'uint8_t LiquidCrystal_1602_RUS::mbtowc(wchar_t*, char*, uint8_t)'
uint8_t LiquidCrystal_1602_RUS::mbtowc(wchar_t *_chr, char *_str, uint8_t mb_num) {
^
C:\Users\1\Documents\Arduino\libraries\LiquidCrystal_1602_RUS-master\LiquidCrystal_1602_RUS.cpp: In member function 'void LiquidCrystal_1602_RUS::print(const String&)':
C:\Users\1\Documents\Arduino\libraries\LiquidCrystal_1602_RUS-master\LiquidCrystal_1602_RUS.cpp:79:27: warning: invalid conversion from 'const char*' to 'char*' [-fpermissive]
char *c_str = str.c_str();
В остальных IDE выдает те же ошибки. Но на работу это никак не влияет. Компиляция и прошивка проходят и устройство потом нормально работает. Тем более что эти ошибки - только предупреждения. Прошивка не прерывается и скетч нормально прошивается в ардуино.
Спасибо!
Как заменить прошивку дисплея? Прошить кирилицу т. е. Сделать с поддержкой русского текста.
Никак. Это делается на заводе.
А Нельзя вместо специального скетча просто попытаться вывести русский текст вместо hello world?
А каким образом устройство поймёт что именно от него требуется? Программа (скетч) предназначен для того чтобы «обучить» микроконтроллер тому как правильно управлять другими устройствами
@@UCanDo я просто спросил=) я нуб 8)
Понятно. Сейчас все цифровое. Для того чтобы что-то заработало нужно передать определенный код. Иначе никак
Говорит ошибка
Какая? Напишите лог, который выдаёт Ардуино IDE
@@UCanDo сейчас исправил ошибку, но проблема всё же есть. Мой дисплей виснет когда я запускаю Вашу библиотеку и через 5 минут показывает китайские ироглифы
все гуд но автор умалчивает: 1. таблица символов русского помещается в память микроконтроллера, не всех символов конечно, а только не общих с инглишем. 2 т.к у экрана русского нет русские буквы выводятся из дополнительной памяти экрана, куда они предварительно помещаются из памяти микроконтроллера. Буквы которые совпадают с английким выводятся из памяти экрана. 3 третье следует из первого и второго: дополнительной памяти у экрана хватаеи всего на 8 символов. при выводе текста в которой больше 8 русских букв (не замененных английскими) получается что не получается. ТОЛЬКО 8 БУКВ ЧИСТО РУССКИХ НА ЭКРАНЕ. как вариант вывожу заглавными, их совпадение с инглишем больше, таблицу мелких убил, чтоб память не жрала. добавил свои символы - градусы, часики и др.
Вы все верно написали, но все же не совсем правы. Цель видео - показать возможность вывода русского языка на дисплеях которые таковой не поддерживают. О том как работает библиотека речь не идет. И вообще видео не о разборе библиотек. Так что смысла в ваших претензиях не вижу.
Как вывести символ градусов....
Либо нарисовать его самому, либо посмотреть вшитые символы в дисплей. Может он там уже есть.
А как посмотреть то внутри....
Работает
Пишут что *.h не найден... куда скинуть хедер?
Все необходимые библиотеки вы можете скачать. Ссылки найдёте в описании под видео.
Поищите так же инструкцию как устанавливать библиотеки
Спасибо.
Проще купить в России с кириллицей на борту. :)
Thank you bro
Автор ты дезинформатор. Почти 3 года прошло мог бы разобраться и переснять видео.
Не поддерживают эти дисплее кириллицу нормально.
Во фразе "На русском" только "у" кириллическая.
Попробуй вывести "БШЩИЮЗЫЪЧЯ" т.е больше 8--ми чисто кириллических символов.
Дисплей - всего лишь стекло с набором полупроводников, ему без разницы что выводить. Все зависит от контроллера, который стоит на дисплее. Точнее в самой прошивке контроллера. Так что поддержка Кириллицы зависит от того какую прошивку зашьёт производитель.
Дисплеи Российского производства имеют кириллицу. А на счёт остальных - опять же, зависит от производителя.
На Алиекспрессе 99% дисплеев имеют китайский язык вместо кириллицы. А те что имеют кириллицу стоят дороже. Это связано со спросом и дороговизной производства. Подавляющему числу покупателей по всему миру нужен Английский язык, и лишь малое количество покупателей требуют Кириллицу. В то же время китайци могут свободно использовать дисплеи без Кириллицы у себя в стране (так как в дисплеи вшит китайский). Из-за этого очень большая разница в производстве. А, как известно, чем больше объём производства, тем дешевле продукт, и наоборот: чем меньше объём, тем дороже конечный продукт. В результате дисплеи без кириллицы стоят дешевле и более распространены по миру, а с кириллицей - дороже и менее распространены.
Но вернёмся к сути вопроса: поддержка кириллицы. Она либо есть, либо нет. Третий вариант - это сделать программную эмуляцию русского языка (что и сделано в видео). Путём подстановки символов в пользовательские ячейки и использование символов латиницы.
Так что не стоит мне говорить о том что я в этом вопросе не разбираюсь.
@@UCanDo Вы вообще читали что я написал?
Я что-то писал про дисплеи с поддержкой кириллицы?
Я написал что указанная библиотека для обычных китайских дисплеев не решает проблемы кириллицы.
В этом Вам бы и стоило разобраться и указать в видео что есть четкое ограничение в виде 8 символов для этой либы и дисплея.
А так это введение в заблуждение.
К примеру arduinoLab нормально подвал все эти нюансы.
Не работает
Если вы используете те же библиотеки что и я, и если у вас точно такое же Подключение то все должно работать.
Спасибо разобрался
6 ног отдать на то, чтобы буковки рисовать - на текстовый вывод... Кому этот отстойный хлам нужен, когда OLed и полноцветики стоят даже дешевле?
монохромный дисплей имеет свои преимущества, например он читаем на солнце
И ничего не потребляет, но нафига эта хрень в две строчки? Тот же Нокиf 5210 куда приятнее. :)
А просто микроконтроллер быстрее ардуино. Всему своё применение, каждый дрочит как хочет.
У меня эта библиотека ошибки выдает:
C:\Users\johannschiffmacher\Documents\Arduino\libraries\LiquidCrystal_1602_RUS-master\LiquidCrystal_1602_RUS.cpp:5:22: warning: ISO C++ forbids converting a string constant to 'wchar_t*' [-Wwrite-strings]
wchar_t *char_utf8 = L" ";
^~~~
C:\Users\johannschiffmacher\Documents\Arduino\libraries\LiquidCrystal_1602_RUS-master\LiquidCrystal_1602_RUS.cpp: In member function 'void LiquidCrystal_1602_RUS::print(const char*)':
C:\Users\johannschiffmacher\Documents\Arduino\libraries\LiquidCrystal_1602_RUS-master\LiquidCrystal_1602_RUS.cpp:54:40: warning: invalid conversion from 'const char*' to 'char*' [-fpermissive]
current_char += mbtowc(&_str, c_str+current_char, 2);
~~~~~^~~~~~~~~~~~~
C:\Users\johannschiffmacher\Documents\Arduino\libraries\LiquidCrystal_1602_RUS-master\LiquidCrystal_1602_RUS.cpp:35:9: note: initializing argument 2 of 'uint8_t LiquidCrystal_1602_RUS::mbtowc(wchar_t*, char*, uint8_t)'
uint8_t LiquidCrystal_1602_RUS::mbtowc(wchar_t *_chr, char *_str, uint8_t mb_num) {
^~~~~~~~~~~~~~~~~~~~~~
C:\Users\johannschiffmacher\Documents\Arduino\libraries\LiquidCrystal_1602_RUS-master\LiquidCrystal_1602_RUS.cpp: In member function 'void LiquidCrystal_1602_RUS::print(const String&)':
C:\Users\johannschiffmacher\Documents\Arduino\libraries\LiquidCrystal_1602_RUS-master\LiquidCrystal_1602_RUS.cpp:79:26: warning: invalid conversion from 'const char*' to 'char*' [-fpermissive]
char *c_str = str.c_str();
~~~~~~~~~^~
Впервые вижу подобные ошибки.
Попробуйте удалить все библиотеки дисплея и установить только ту что используется в видео.
Не забудьте перезагрузить Ардуино ИДЕ
Игорь, можете рассказать, как печать русские символы на 1602 с i2c?
ua-cam.com/video/i0rF0YEwmcc/v-deo.html