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

Дисплей LCD 4004

Добавлено: 14.03.2019{, 14:31}
aidar_i
В форуме задавали вопрос на счет дисплея LCD 4004 (MDLS40466).
Накидал основные ПБ.
Два варианта подключения. Внимание: Для смены варианта подключения меняется только главный блок!

Блоки
LCD4004.ubl
(52.33 КБ) 151 скачивание
Первый вариант: параллельное подключение на библиотеке LiquidCrystal440.
Библиотека
Liquidcrystal440.rar
(6.96 КБ) 147 скачиваний
Пример
Пример LCD 4004.flp
(142.97 КБ) 169 скачиваний
Второй вариант: подключение по I2C.
Эти файлы библиотеки установить в штатную библиотеку LiquidCrystal_I2C с заменой одноименных.
LiquidCrystal4004_I2C.rar
(4.01 КБ) 135 скачиваний
Пример
Пример LCD 4004_2C.flp
(139.31 КБ) 156 скачиваний
С этими библиотеками и ПБ работают и другие размеры дисплеев.
В Протеус здесь.
Подключение по I2C там же.

Дисплей LCD 4004 (библиотека Liquidcrystal440)

Добавлено: 14.03.2019{, 14:39}
KulibinOrsk
Если бы на I2C + кирилицу -я бы не пожалел, прикупил бы дисплей для теста.

Дисплей LCD 4004 (библиотека Liquidcrystal440)

Добавлено: 14.03.2019{, 16:14}
pan
KulibinOrsk писал(а):
14.03.2019{, 14:39}
Если бы на I2C
если написать 4 строки длинной 40 символов, да по i2c, представьте на сколько "замрет" ардуина

Дисплей LCD 4004 (библиотека Liquidcrystal440)

Добавлено: 14.03.2019{, 16:40}
Sancho
pan, Лёха, поспорю.
Если грамотно подойти к написанию блока, отправлять по изменениям, то особо заметно не будет.

Дисплей LCD 4004 (библиотека Liquidcrystal440)

Добавлено: 14.03.2019{, 18:01}
pan
Sancho, ну я говорил про полную запись
pan писал(а):
14.03.2019{, 16:14}
4 строки длинной 40 символов
то есть " распространенное" использование как в большинстве проектов народ использует.

Дисплей LCD 4004 (библиотека Liquidcrystal440)

Добавлено: 14.03.2019{, 18:36}
aidar_i
Здесь по i2c обсуждали https://forum.arduino.cc/index.php?topic=492553.0

Дисплей LCD 4004 (библиотека Liquidcrystal440)

Добавлено: 15.03.2019{, 09:09}
Alias
pan писал(а):
14.03.2019{, 18:01}
я говорил про полную запись
А научите, как правильно отправлять данные?
Сейчас как-раз хочу задействовать 2004 на кучу информации, часть которой статична для страницы, часть - разнообразные параметры.
Для статики достаточно вывести один раз несколькими блоками, а меняющиеся числа как? На каждый отдельный блок данных выделять плату, работающую по условию? Изменился конкретный параметр - запустили плату с блоком.
Я для себя пока так и не вывел оптимального правила применения дисплеев. Если правильно понимаю, то блок вывода информации будет отправлять данные на дисплей в каждом цикле независимо от того, есть обновления данных или нет, вход En на штатном блоке просто включает его.
Буду признателен за краткие пояснения тонкостей работы с выводом на дисплей для таких как я непрограммистов!
Спасибо!

Дисплей LCD 4004 (библиотека Liquidcrystal440)

Добавлено: 15.03.2019{, 09:23}
pan
Alias, конкретно эти блоки не смотрел что там и как.
а по поводу штатных - правильно делаете.
пожалуй было хорошо в настройках блока дисплея изменять назначение входа EN, - не отображать инфу (как сейчас) или просто не обрабатывать блок.
это уже вопрос к автору.

Дисплей LCD 4004

Добавлено: 15.03.2019{, 11:52}
aidar_i
Сейчас мой блок работает в режиме отображения информации, после подачи на En импульса (через R триггер, например), информация не будет обновляться при каждом цикле. Далее информацию можно стирать только блоком очистки экрана.
В штатных стоит автоочистка при изменении длины строки. Можно сделать и к штатной библиотеке такие же блоки.

Дисплей LCD 4004

Добавлено: 15.03.2019{, 20:21}
aidar_i
Протеус
Adafruit Alphanumeric LCD 4004.rar
(26.25 КБ) 111 скачиваний
I2C.
Alphanumeric LCD 4004_I2C.rar
(27.81 КБ) 102 скачивания
Подключение с помощью модуля I2C из Китая
Connection.txt
(825 байт) 126 скачиваний
Отправлено спустя 18 минут 52 секунды:
KulibinOrsk писал(а):
14.03.2019{, 14:39}
Если
Кириллицу можно добавить с блоками , выложенными в форуме. Правда не более 8 букв кириллицы одновременно.

Выложил в первом сообщении блоки и для I2C.

Дисплей LCD 4004

Добавлено: 07.08.2019{, 22:52}
tronik1
Почему при выводе информации на дисплей 2004 у меги2560 на совсем других выводах в других платах где по логике должна статически висеть единица, то эта единица дергается. И причем чем больше информации выводится, тем сильнее дергается вывод. У меня на этих выводах твердотельное реле, которое включает пускатель двигателя. Ток вот если много выводится информации на дисплей, то очень сильно дергается этот пускатель. Как быть?

Дисплей LCD 4004

Добавлено: 08.08.2019{, 07:14}
aidar_i
Где проект?
Если убираете дисплей, не дёргается?
Скорее что то напутали или помехи.

Дисплей LCD 4004

Добавлено: 08.08.2019{, 07:55}
tronik1
Не дергается когда убираю информацию с дисплея полностью. Чем больше символов на дисплей выводится тем больше дергается. Проект будет вечером после работы. Есть подозрение что дисплей занимает оооооочень много ресурсов, и уже думаю на логику одну ардуину, а на дисплей другую. Вот только не придумал как устроить общение ардуин между собой т.к. асли передавать много разных переменных по уарту то получается много ошибок.

Дисплей LCD 4004

Добавлено: 08.08.2019{, 08:04}
nalnik
tronik1 писал(а):
07.08.2019{, 22:52}
то эта единица дергается.
Скажите, а как Вы подключили питание на дисплей? Надеюсь Вы его НЕ к 5v МЕГИ подключили?

Дисплей LCD 4004

Добавлено: 08.08.2019{, 08:39}
tronik1
импульсный блок питания 220/12 30вт - понижаюций модуль LM2596s 12/5в - плата TP4056 для зарядки 18650 - повышающий модуль - MT3608 на выходе 5в. Эти 5в паралельно подключены на мегу на пин +5В, на 8-канальный блок твердотельных реле, на дисплей. По току смотрел на все хватает, просадок нет, плюс еще кандер на 1000мкф паралельно выходу 5в. Но опять же повторяю Если дисплей пуст и на нем нет никаких засвеченых символов то ногу (и соотвественно пускатель) не дергает, с увеличением колличества символов увеличивается строб на выходах.

Отправлено спустя 1 минуту 18 секунд:
Пробовал подключать дисплей и по I2C и напрямую -разницы нет.

Отправлено спустя 1 минуту 45 секунд:
На меге еще и gsm модуль sim800l, но он подключен к TP4056 на питание 4в., а к меге по одному из юартов.

Дисплей LCD 4004

Добавлено: 26.06.2021{, 21:26}
aidar_i
tronik1 писал(а):
08.08.2019{, 08:42}
импульсный блок питания 220/12 30вт - понижаюций модуль LM2596s 12/5в - плата TP4056 для зарядки 18650 - повышающий модуль - MT3608 на выходе 5в. Эти 5в паралельно подключены на мегу на пин +5В, на 8-канальный блок твердотельных реле, на дисплей. По току смотрел на все хватает, просадок нет, плюс еще кандер на 1000мкф паралельно выходу 5в. Но опять же повторяю Если дисплей пуст и на нем нет никаких засвеченых символов то ногу (и соотвественно пускатель) не дергает, с увеличением колличества символов увеличивается строб на выходах.

Отправлено спустя 1 минуту 18 секунд:
Пробовал подключать дисплей и по I2C и напрямую -разницы нет.

Отправлено спустя 1 минуту 45 секунд:
На меге еще и gsm модуль sim800l, но он подключен к TP4056 на питание 4в., а к меге по одному из юартов.
Старый вопрос тут, оказывается, висит, решили?
Проблема, мне кажется, в повышающем модуле. С ним у меня были проблемы.

Дисплей LCD 4004

Добавлено: 01.07.2021{, 09:42}
tronik1
aidar_i писал(а):
26.06.2021{, 21:26}
tronik1 писал(а):
08.08.2019{, 08:42}
импульсный блок питания 220/12 30вт - понижаюций модуль LM2596s 12/5в - плата TP4056 для зарядки 18650 - повышающий модуль - MT3608 на выходе 5в. Эти 5в паралельно подключены на мегу на пин +5В, на 8-канальный блок твердотельных реле, на дисплей. По току смотрел на все хватает, просадок нет, плюс еще кандер на 1000мкф паралельно выходу 5в. Но опять же повторяю Если дисплей пуст и на нем нет никаких засвеченых символов то ногу (и соотвественно пускатель) не дергает, с увеличением колличества символов увеличивается строб на выходах.

Отправлено спустя 1 минуту 18 секунд:
Пробовал подключать дисплей и по I2C и напрямую -разницы нет.

Отправлено спустя 1 минуту 45 секунд:
На меге еще и gsm модуль sim800l, но он подключен к TP4056 на питание 4в., а к меге по одному из юартов.
Старый вопрос тут, оказывается, висит, решили?
Проблема, мне кажется, в повышающем модуле. С ним у меня были проблемы.
Да, решил, там была ошибка в коде. Одна переменная одновременно в разных местах была 0 и 1. Поэтому и колбасило.