lcd 1602 на сдвиговом регистре 74hc164 замена i2c

Создаем свой блок. Вопросы, помощь знатоков.
valand
Рядовой
Сообщения: 64
Зарегистрирован: 15 июл 2018, 15:12
Имя: Андрей

lcd 1602 на сдвиговом регистре 74hc164 замена i2c

Сообщение valand »

Недавно наткнулся на один проект на забугорном сайте, там экран 1602 подключается к ардуино двумя проводами, через сдвиговый регистр. Инфы по этому переходнику там не было, так же как и схемы, только фотка с торца платы которая ни о чем не говорила. И я сначала подумал что это обычный китайский переходник i2c и долго искал где в скетче задается адрес экрана)))
В итоге любопытство взяло верх и была найдена схема похожего переходника, сделал под нее плату и проверил, работает.
И в связи с этим возник вопрос, в FLProg программа может сильно тормозить из за экрана подключенного через i2c. если подключить экран напрямую, то уже вроде не так сильно сказывается.
Так вот, будет ли толк от такого переходника в FLProg? Провода точно сэкономит, кроме того там нет привязки к выводам и можно выбирать любые ноги. А будет ли преимущество в быстродействии (влияние блока экрана на выполнение основного тела программы) по сравнению с китайским i2c?
Сам я сделать пользовательский блок не осилю, но если вдруг кого заинтересует, или может просто для ардуинных проектов кому пригодится.
Все файлы оставляю.
lcd2wire1.jpg
IMG_4574.JPG
IMG_4573.JPG
Newliquidcrystal_1.3.5.zip
test ликвид на 74нс164.lay.zip
У вас нет необходимых прав для просмотра вложений в этом сообщении.
ecoins
Полковник
Сообщения: 4002
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 150 раз

lcd 1602 на сдвиговом регистре 74hc164 замена i2c

Сообщение ecoins »

Значительного выигрыша не будет. Проблема lcd указанного типа в медленном обмене - один байт передаётся в несколько шагов с обязательными задержками между ними.
LCD можно использовать через другие блоки, но с элементами реального времени.
valand
Рядовой
Сообщения: 64
Зарегистрирован: 15 июл 2018, 15:12
Имя: Андрей

lcd 1602 на сдвиговом регистре 74hc164 замена i2c

Сообщение valand »

Как ни странно, но метод научного тыка сработал)
С энного раза получилось создать примитивный блок, который даже как то работает.
делал в 3.0.3. схема выше (управление подсветкой не работает).
Пускай лежит на всякий случай.
lcd_1602_74hc164_(CODE).ubi
У вас нет необходимых прав для просмотра вложений в этом сообщении.
krom23
Лейтенант
Сообщения: 444
Зарегистрирован: 06 сен 2015, 15:18
Откуда: Калуга
Имя: Андрей

lcd 1602 на сдвиговом регистре 74hc164 замена i2c

Сообщение krom23 »

ecoins писал(а): 16 янв 2019, 03:08Значительного выигрыша не будет.
В пять раз производительней любой стандартной библиотеки и занимает на 600 байт меньше памяти, по словам автора. На сайте есть результаты тестирования.
valand
Рядовой
Сообщения: 64
Зарегистрирован: 15 июл 2018, 15:12
Имя: Андрей

lcd 1602 на сдвиговом регистре 74hc164 замена i2c

Сообщение valand »

Вот собрал в кучу пользовательские блоки, для 1602 и 2004.
На сколько хватило познаний облагородил содержимое.
В описании думаю вполне достаточно информации.
v1 для истории. v2 на всякий случай. v3 пока последние.
Все для схемы из первого поста (подсветка по прежнему не работает). Остальное вполне себе успешно.
lcd_1602_74hc164_v1_old_(CODE).ubi
lcd_1602_74hc164_v2_external_erase_(CODE).ubi
lcd_1602_74hc164_v3_autoerase_(CODE).ubi
lcd_2004_74hc164_v2_external_erase_(CODE).ubi
lcd_2004_74hc164_v3_auto_(CODE).ubi
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

lcd 1602 на сдвиговом регистре 74hc164 замена i2c

Сообщение Sancho »

Проверил блок lcd 1602 74hc164 v3 autoerase по времени вывода, железа нет.
Отлично!

Отправлено спустя 1 час 24 минуты 9 секунд:
А если попробовать на двух микрухах, в полно-байтном режиме?!
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
valand
Рядовой
Сообщения: 64
Зарегистрирован: 15 июл 2018, 15:12
Имя: Андрей

lcd 1602 на сдвиговом регистре 74hc164 замена i2c

Сообщение valand »

На официальной страничке библиотеки, таких вариантов к сожалению нет. Так что попробовать наверно не получится.

Отправлено спустя 24 минуты 5 секунд:
хотя... есть еще такой вариант - 8бит
осталось найти желающих)
aidar_i
Полковник
Сообщения: 3357
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 12 раз
Поблагодарили: 100 раз
Контактная информация:

lcd 1602 на сдвиговом регистре 74hc164 замена i2c

Сообщение aidar_i »

Не лучше сделать главный блок и блоки вывода текста отдельно?
Почему автоочистка при изменении длины строки? Не лучше просто при изменении строки? А то совпадут длины старого и нового, новый текст не появится.
Пробовал запустить на Протеус, 74HC595 заработал, а 74LS164 нет.
valand
Рядовой
Сообщения: 64
Зарегистрирован: 15 июл 2018, 15:12
Имя: Андрей

lcd 1602 на сдвиговом регистре 74hc164 замена i2c

Сообщение valand »

aidar_i писал(а): 08 мар 2019, 15:26Не лучше сделать главный блок и блоки вывода текста отдельно?
valand писал(а): 16 янв 2019, 00:40Сам я сделать пользовательский блок не осилю, но если вдруг кого заинтересует,
для себя уже осилил, остальных приветствую.
aidar_i писал(а): 08 мар 2019, 15:26А то совпадут длины старого и нового, новый текст не появится.
никаких проблем нет при совпадении, встроенный в программу блок работает по такому же принципу совпадения, из него и выдрал.
aidar_i писал(а): 08 мар 2019, 15:26запустить на Протеус, 74HC595 заработал, а 74LS164 нет.
Протеуса никогда не видел, 164 уже давно работает живьем.
aidar_i
Полковник
Сообщения: 3357
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 12 раз
Поблагодарили: 100 раз
Контактная информация:

lcd 1602 на сдвиговом регистре 74hc164 замена i2c

Сообщение aidar_i »

Вы не подумайте, что я Вас критикую. Просто как разработчику ПБ высказываю свои соображения, как пользователя программы.
По поводу совпадения длины, на старом есть вход, можно и блок отключить .
Протеус отличная программа, раньше я постоянно бегал в магазин что то покупать, чтобы попробовать.
Сейчас симулирую на нем. И блоки для дисплеев, которых у меня нет, делал тоже на нем
valand
Рядовой
Сообщения: 64
Зарегистрирован: 15 июл 2018, 15:12
Имя: Андрей

lcd 1602 на сдвиговом регистре 74hc164 замена i2c

Сообщение valand »

aidar_i писал(а): 08 мар 2019, 16:58как разработчику ПБ
Это очень громко сказано) некоторые вещи для меня - темный лес.
Если кто боится потери чего либо в строке, есть v2, там ничего не трет без внешней команды, а её можно формировать уже как угодно.
Про главный блок и дополнительные, не пойму принципа, если можно хоть каких подробностей.
krom23
Лейтенант
Сообщения: 444
Зарегистрирован: 06 сен 2015, 15:18
Откуда: Калуга
Имя: Андрей

lcd 1602 на сдвиговом регистре 74hc164 замена i2c

Сообщение krom23 »

Sancho писал(а): 08 мар 2019, 13:42Проверил блок lcd 1602 74hc164 v3 autoerase по времени вывода,
А вы тестили блок с дефолтным LiquidCrystal, или заменяли его на LiquidCrystal из папки библиотеки Newliquidcrystal? Если нет, то попробуйте заменить и протестить, если найдётся время. Автор библиотеки уверяет что такая связка даст ещё лучший результат.
aidar_i
Полковник
Сообщения: 3357
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 12 раз
Поблагодарили: 100 раз
Контактная информация:

lcd 1602 на сдвиговом регистре 74hc164 замена i2c

Сообщение aidar_i »

valand писал(а): 08 мар 2019, 19:18Про главный блок и дополнительные, не пойму принципа, если можно хоть каких подробностей.
Я имел ввиду вот примеры. Если устроит, можете аналогично сделать. Максимально приближен код к штатному.
Блоки автоочисткой
LCD16xx_LiquidCrystal_SR.ubl
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось aidar_i 12 мар 2019, 20:43, всего редактировалось 6 раз.
valand
Рядовой
Сообщения: 64
Зарегистрирован: 15 июл 2018, 15:12
Имя: Андрей

lcd 1602 на сдвиговом регистре 74hc164 замена i2c

Сообщение valand »

Можно попробовать и по аналогии. Спасибо за некоторые идеи, позаимствовал )
Итого: для схемы на 74HC164
Схему подправил, управление подсветкой вряд ли появится, (причины совсем не в блоках)
Поэтому если кто захочет повторять, то лучше сразу делать так -
lcd2wire ok.jpg
управлять подсветкой отдельной ногой ардуины, предусмотреть джампер для ручного включения,
или вообще выкинуть транзистор и запаять подсветку наглухо. В общем выбор широченный)
Ну и сами блоки-конструкторы, если кому интересно -
LCD 74HC164 2wire HD44780 universal.ubl
Главный блок универсальный, можно задать "тип экрана" (1602 \ 2004 \ итд.)
Блоки вывода насочинял разных, на вкус и цвет...
Все подробности указаны в описании.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
aidar_i
Полковник
Сообщения: 3357
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 12 раз
Поблагодарили: 100 раз
Контактная информация:

lcd 1602 на сдвиговом регистре 74hc164 замена i2c

Сообщение aidar_i »

Я себе оставил только такие 4 блока (Здесь74HC595 ).
Сделал пример управления с ними.
LCD 74HC595 HD44780.flp
LCD 74HC164 HD44780.flp
В протеус проверил 74HC595
Arduino 2x16 LCD 74H595.rar
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось aidar_i 12 мар 2019, 14:26, всего редактировалось 2 раза.
valand
Рядовой
Сообщения: 64
Зарегистрирован: 15 июл 2018, 15:12
Имя: Андрей

lcd 1602 на сдвиговом регистре 74hc164 замена i2c

Сообщение valand »

в описаниях путаница, подправить бы, а то не соответствует действительности.
aidar_i
Полковник
Сообщения: 3357
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 12 раз
Поблагодарили: 100 раз
Контактная информация:

lcd 1602 на сдвиговом регистре 74hc164 замена i2c

Сообщение aidar_i »

Хорошо, подправил.

Отправлено спустя 6 часов 34 минуты 43 секунды:
valand, проверьте вот этот скетчи
sketch_mar12b.ino
LCD_74HC595__HD44780.ino
Подключение
[spoiler]
K8LH 2-Pin Backpacks (1).png
[/spoiler]

Должен работать на обоих сдвиговых регисторах
У вас нет необходимых прав для просмотра вложений в этом сообщении.
valand
Рядовой
Сообщения: 64
Зарегистрирован: 15 июл 2018, 15:12
Имя: Андрей

lcd 1602 на сдвиговом регистре 74hc164 замена i2c

Сообщение valand »

О! Это с ходу не проверить, железки такой собранной нет. Надо некоторое время на раскачку.
valand
Рядовой
Сообщения: 64
Зарегистрирован: 15 июл 2018, 15:12
Имя: Андрей

lcd 1602 на сдвиговом регистре 74hc164 замена i2c

Сообщение valand »

Что то инициатор идеи пропал, по крайней мере личка без ответа.
Прошу помощи, если кто хоть как то силен в создании\редактировании библиотек,то...
Суть в чем, есть скетч для "восьмибитной" схемы -
sketch_8bit_2w.ino
просто так в пользовательский блок он не лезет.
пытался спихнуть часть его в "самодельную" библиотеку-
Liquid_8BIT_TEST.zip
но моих познаний и найденных примеров не хватает, никак не пойму приватные не приватные части и прочие принципы оформления.
получается без ошибок, только если все целиком и только в .h файл.
В общем, если кто чем может... нуждаюсь в правильном переносе лишнего, из скетча в библиотеку.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
valand
Рядовой
Сообщения: 64
Зарегистрирован: 15 июл 2018, 15:12
Имя: Андрей

lcd 1602 на сдвиговом регистре 74hc164 замена i2c

Сообщение valand »

С восьмибиткой идея зашла в тупик, ну... туда ей и дорога.
Апну темку по другому поводу.
Немного испытал однопроводной вариант.
595 1wire sxem.jpg
[spoiler]
IMG_5920.JPG
IMG_5921.JPG
[/spoiler]
На столе все четко, как будет в условиях сильных помех не знаю.
В общем если кому интересно,
главный блок и блок управления подсветкой прилагаю.
LCD_universal_1Wire_74HC595_to_HD44780_главный_блок_(CODE).ubi
lcd_74HC595_1wire_подсветка_(CODE).ubi
Блоки вывода текста используются от двухпроводного варианта, и лежат выше.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ответить

Вернуться в «Разработка пользовательских блоков»

Кто сейчас на конференции

Сейчас этот форум просматривают: Dryundel и 1 гость