![]() |
![]() |
#1 |
Moderator
Регистрация: 19.10.2013
Сообщений: 479
Вес репутации: 600 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Случайно наткнулся на исходники https://github.com/brnt/openwrt-hd44780, может кому надобно.
Модуль скомпилил, а вот времени проверить на роутере нету. Читать README.md |
![]() |
![]() |
![]() |
#2 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Выложи скомпилированый пакет с файлом packages, я его в репозиторий добавлю
|
![]() |
![]() |
![]() |
#3 |
Moderator
Регистрация: 19.10.2013
Сообщений: 479
Вес репутации: 600 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Проверку контрольной суммы убрал. Но.
А вот какое ядро у вас не знаю что бы в архиве сменить. Компилил под: Linux version 3.10.49 (sem@sa508) (gcc version 4.8.3 (OpenWrt/Linaro GCC 4.8-2014.04 r42993) ) #2 Sun Oct 26 01:02:49 EEST 2014 Установить пакет, а потом перекинуть фаил hd44780.ko с /lib/modules/3.10.49 в тот который у вас (в /lib/modules/3.xxxxx). А папку 3.10.49 удалить. В исходниках выводы gpio исправил под свои на разъёме RS - gpio7 RW - gpio6 // not used if LCD is write-only (typical) E - gpio29 DB4 - gpio13 DB5 - gpio14 DB6 - gpio15 DB7 - gpio16 Вывод RW можно не подключать к роутеру а припаять на корпус. DB0, DB1, DB2, DB3 припаять на корпус Последний раз редактировалось melsem; 05.11.2014 в 01:53. |
![]() |
![]() |
![]() |
#4 |
Moderator
Регистрация: 19.10.2013
Сообщений: 479
Вес репутации: 600 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Подав питание на 44780 и прошелся тестером по выводам: DB0, DB1, DB2, DB3, RS и E.
На них висит +5v, видать в микрухах на входах подтяжка к питанию. На прямую к gpio роутера подключать нельзя. Возможен пробой. Надобно стабилитроны 3,3v параллельно gpio паять на корпус (6-штук RW на корпус). Что бы не лепить преобразователь уровней. На работу это не повлияет. Последний раз редактировалось melsem; 06.11.2014 в 03:35. |
![]() |
![]() |
![]() |
#5 | |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#6 |
Moderator
Регистрация: 19.10.2013
Сообщений: 479
Вес репутации: 600 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Сегодня подпаял выводы gpio от разъёма (колодку поставил ранее что бы не разбирать при экспериментах).Модуль 100% рабочий.
Winstar 1602 работает. Но иногда, после ввода комманд для отбражения на дисплее, слетает инициализация. Надо поправить сами исходники. Что то там не так. Задержки все по "udelay(50)" ????? И почему?? И еще. Кто может подсказать. Какой из gpio7, gpio29, gpio13, gpio14, gpio15, gpio16 выводов, при логической "1", влияет на загрузку роутера. Где то об этом читал, но немогу найти. С подключенным lcd к gpio, при подаче питания роутер не загружается. Отключив только gpio на разъёме (идущие к lcd) роутер загружается. Потом подключаю разъём к lcd все работает. Второй разём с питанием для lcd не вынимаю. +5v припаяно от микро-usb. После команды reboot, так-же все работает с подключенным разъёмом к lcd. Вот что из комманд проверял: Код:
Инициализация с 8-ми на 4-рех разрядную шину printf '\xff\x2c' > /dev/hd44780 4-проводный интерфейс, 5x8 размер символа printf '\xff\x0c' > /dev/hd44780 Показать изображение, курсор не показывать --------------------------------------------------------------------------------------------------- printf '\xff\x01\x0' > /dev/hd44780 Oчистить DDRAM и установить курсор на 0x00 в первой строке echo -n 'hello world' > /dev/hd44780 Вывод на дисплей "hello world" с начала первой строки printf '\xff\x01\x05' > /dev/hd44780 Oчистить DDRAM и установить курсор на 0x05 в первой строке echo -n 'hello world' > /dev/hd44780 Вывод на дисплей "hello world" с 0x05 первой строки printf '\xff\x01\xc0' > /dev/hd44780 Oчистить DDRAM и установить курсор на 0x00 во второй строке echo -n 'hello world' > /dev/hd44780 Вывод на дисплей "hello world" с начала второй строки printf '\xff\x01\x04' > /dev/hd44780 Oчистить DDRAM и установить курсор на 0x04 во второй строке echo -n 'hello world' > /dev/hd44780 Вывод на дисплей "hello world" с 0x04 второй строки Пример вывода даты: printf '\xff\x01\x0' > /dev/hd44780 DATa=$(date +%Y-%H:%M:%S) echo $DATa > /dev/hd44780 Пример вывода температуры с двух датчиков: printf '\xff\x01\x0' > /dev/hd44780 DATa=$(awk -F= '/t=/ {printf "%.01f\n", $2/1000}' /sys/bus/w1/drivers/w1_slave_driver/28-0000034b476c/w1_slave) echo 'Dom1-'$DATa"C" > /dev/hd44780 DATa2=$(awk -F= '/t=/ {printf "%.01f\n", $2/1000}' /sys/bus/w1/drivers/w1_slave_driver/28-0000034b4891/w1_slave) echo 'Dom2-'$DATa2"C" > /dev/hd44780 Последний раз редактировалось melsem; 07.11.2014 в 23:06. |
![]() |
![]() |
![]() |
#7 | |
Moderator
Регистрация: 19.10.2013
Сообщений: 479
Вес репутации: 600 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Регистрация: 15.07.2014
Сообщений: 939
Вес репутации: 990 ![]() ![]() ![]() ![]() ![]() |
![]()
Можно попробывать подключать 5В не с микро-usb, а с usb разьема - на нем 5В появляется через 6сек после включения (703N), возможно нормально будет грузиться
|
![]() |
![]() |
![]() |
#9 |
Senior Member
Регистрация: 19.09.2014
Сообщений: 220
Вес репутации: 0 ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Вещь полезная, но занимает почти все gpio. Такой вариант хоть дороже но ИМХО оптимальней http://www.digole.com/index.php?categoryID=153
Выбор на любой вкус и OLED есть =) Вот даже видео работы есть http://www.youtube.com/watch?v=7qKwjypuzo4 Последний раз редактировалось khseal; 14.03.2015 в 02:05. |
![]() |
![]() |
![]() |
#10 | |
Moderator
Регистрация: 19.10.2013
Сообщений: 479
Вес репутации: 600 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Цитата:
По i2c нормального не нашел. А с теми что кое как работали пришлось и дорожки резать на плате i2c(pcf8574). Минимум выводов 5-6 не совпадали. Сам модуль для ядра к i2c-lcd не могу написать. Занятые на роутере gpio к lcd заменяет pcf8574 без проблем. Управляя силовыми ключами. С gpio для hd44780 разобрался. Виновниками были 14 и 15. Так все работает с ноября, отображает то что мне надо. Код:
gpio-1 (wn1602_D7 ) out hi gpio-6 (wn1602_D6 ) out hi gpio-7 (wn1602_D5 ) out lo gpio-13 (wn1602_RS ) out lo gpio-16 (wn1602_E ) out lo gpio-29 (wn1602_D4 ) out lo Сам модуль, скомпилированный к этим gpio, могу выложить на форум. |
|
![]() |
![]() |
![]() |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|