Перейти к содержимому

Фотография

Подключение LCD 1602 (wh1602) по интерфейсу I2C

wh1602 LCD 1602 I2C AVR CodeVisionAVR MEGA8

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 26

#1
igor_efremenko

igor_efremenko

    Пользователь

  • Разработчик ATMEL
  • PipPip
  • 24 сообщений
  • ГородБрянск

Предлагаю обсудить вариант подключения LCD 1602 (wh1602) по интерфейсу I2C.

У кого есть опыт освоения - прошу делиться информацией.

 

Единственное, что смог найти СТОЯЩЕЕ в интернете, только эту статью:  http://www.doneathome.ru/archives/848

 

Остальное преимущественно касается ардуино и т.п.

 

Но реализовать у меня не получилось - подозреваю, что проблема в инициализации LCD.

 

Прошу помощи.

 

PS Программирую в CodeVisionAVR на AVR MEGA8



#2
Gipsy

Gipsy

    Продвинутый пользователь

  • Разработчик MICROCHIP
  • PipPipPip
  • 626 сообщений
  • ГородСтаниславів

А собственно зачем?

Во первых - зачем городить переход из параллельного интефейса в последовательныйесть? Есть готовые LCD экраны именно с последовательными интерфейсами.

Но если очень уж хочется - то "во-вторых" - почему именно I2C?  Поставьте НС595 за три рубля  и рулите через  SPI   :)

http://radioparty.ru...74hc595-hd44780

http://arduino.ru/fo...registr-74hc595


Заказ прошивок:  oleg.gerega (a) i.ua


#3
djon0007

djon0007

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 30 сообщений
  • ГородЛуганск

Как Вы об этом догадались ? 



#4
igor_efremenko

igor_efremenko

    Пользователь

  • Разработчик ATMEL
  • PipPip
  • 24 сообщений
  • ГородБрянск

А собственно зачем?

Во первых - зачем городить переход из параллельного интефейса в последовательныйесть? Есть готовые LCD экраны именно с последовательными интерфейсами.

Но если очень уж хочется - то "во-вторых" - почему именно I2C?  Поставьте НС595 за три рубля  и рулите через  SPI   :)

http://radioparty.ru...74hc595-hd44780

http://arduino.ru/fo...registr-74hc595

в своё время я уже поглядывал в сторону HC595, но сейчас другая ситуация...
В разрабатываемом устройстве имеется несколько модулей, работающих по I2C, причём оставшиеся ноги распределены полностью, - т.о. не осталось выбора :(
Замечу, что в продаже довольно давно продаются готовые переходники для подключения обычных LCD на шину I2C, но у меня не получается произвести инициализацию дисплея (по крайней мере с той библиотекой, что описана в статье выше. Точнее на выходе с интерфейса I2C "пины дёргаются", но явно не так как необходимо.

 

Прошу Вашей помощи.

 

PS

Подозреваю, что в 595 подобная ситуация.....

хм....  надо подсмотреть код, может получится сгородить сборный велосипед...

В любом случае, - спасибо за ответ.

 

PPS

В наличии уже имеется обычный LCD (без последовательного интерфейса) - поэтому необходимо заюзать именно его.



#5
igor_efremenko

igor_efremenko

    Пользователь

  • Разработчик ATMEL
  • PipPip
  • 24 сообщений
  • ГородБрянск

Переделал код из статьи http://radioparty.ru...74hc595-hd44780

под МЕГУ328 на CodeVision - аналогичная ситуация:  ножками дёргает, но инициализация дисплея не проходит :(



#6
igor_efremenko

igor_efremenko

    Пользователь

  • Разработчик ATMEL
  • PipPip
  • 24 сообщений
  • ГородБрянск

Как Вы об этом догадались ? 

Кто и очём??



#7
rgb

rgb

    Продвинутый пользователь

  • Разработчик MICROCHIP
  • PipPipPip
  • 865 сообщений
  • ГородКременчуг

В инициализации LCD с этой библиотекой тайминги правильные?



#8
rgb

rgb

    Продвинутый пользователь

  • Разработчик MICROCHIP
  • PipPipPip
  • 865 сообщений
  • ГородКременчуг

Может кварц другой или настройка генератора.



#9
igor_efremenko

igor_efremenko

    Пользователь

  • Разработчик ATMEL
  • PipPip
  • 24 сообщений
  • ГородБрянск

В инициализации LCD с этой библиотекой тайминги правильные?

использую внутренний генератор на 8 МГц

по осцилограммам - полное НЕсоответствие...

Точную последовательность инициализации по даташитам я не нашёл :(

 

Может кто сталкивался с подобной задачей/проблемой???



#10
rgb

rgb

    Продвинутый пользователь

  • Разработчик MICROCHIP
  • PipPipPip
  • 865 сообщений
  • ГородКременчуг

Должны сравнить выходящую частоту данных с даташитом.



#11
rgb

rgb

    Продвинутый пользователь

  • Разработчик MICROCHIP
  • PipPipPip
  • 865 сообщений
  • ГородКременчуг

А вообщё как правило при использовании библиотек указывается частота текущего генератора.



#12
rgb

rgb

    Продвинутый пользователь

  • Разработчик MICROCHIP
  • PipPipPip
  • 865 сообщений
  • ГородКременчуг

Может просто в коде строчку пропустили.



#13
rgb

rgb

    Продвинутый пользователь

  • Разработчик MICROCHIP
  • PipPipPip
  • 865 сообщений
  • ГородКременчуг

Решение рядом, сразу не видно, но спустя пару минут, окажется ОЧЕВИДНЫМ.



#14
rgb

rgb

    Продвинутый пользователь

  • Разработчик MICROCHIP
  • PipPipPip
  • 865 сообщений
  • ГородКременчуг

В LCD временные интервалы приёма данных  нужно придерживаьтся.



#15
rgb

rgb

    Продвинутый пользователь

  • Разработчик MICROCHIP
  • PipPipPip
  • 865 сообщений
  • ГородКременчуг

Даташита.



#16
djon0007

djon0007

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 30 сообщений
  • ГородЛуганск

В помощь Вам  файлы точнее библиотеки для работы с I2C и LCD.

Прикрепленные файлы


  • rgb это нравится

#17
djon0007

djon0007

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 30 сообщений
  • ГородЛуганск

 Если светятся кубики одного из рядов значит нет инициализации . Проверте как Вы настраиваете LCD  на 4 бита или на 8 бит .



#18
djon0007

djon0007

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 30 сообщений
  • ГородЛуганск

Бывает такое питание перепутал и прощай LCD . Подсветка и контрастность работают и всё. Питание 1 и 2 ножки LCD . У каждого своя комбинация 1 может быть плюсом или минусом и 2 может быть минусом  или плюсом .



#19
igor_efremenko

igor_efremenko

    Пользователь

  • Разработчик ATMEL
  • PipPip
  • 24 сообщений
  • ГородБрянск

 Если светятся кубики одного из рядов значит нет инициализации . Проверте как Вы настраиваете LCD  на 4 бита или на 8 бит .

Я пока тестирую в протосе...

На 4 бита использую стандартный метод подключения и библиотеку (из примера CodeVision) и анализирую 7 ног LCD при помощи осциллографа...

 

При работе библиотеки с LCD по I2C - картинка на осциллографе кардинально отличается, - как следствие на экране ничего нету... Явно проблема с инициализацией!!!

 

PS За библиотеку спасибо - буду анализировать..



#20
igor_efremenko

igor_efremenko

    Пользователь

  • Разработчик ATMEL
  • PipPip
  • 24 сообщений
  • ГородБрянск

Бывает такое питание перепутал и прощай LCD . Подсветка и контрастность работают и всё. Питание 1 и 2 ножки LCD . У каждого своя комбинация 1 может быть плюсом или минусом и 2 может быть минусом  или плюсом .

...да, есть такой факт - как раз у меня 2 LCD таких лежат.... 

Там на уровне перемычек можно выбирать как будет идти питание на 1-2 ноге     +/-  или  -/+

Перепаял под одинаковую разводку :)







Темы с аналогичным тегами wh1602, LCD, 1602, I2C, AVR, CodeVisionAVR, MEGA8

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных