Перейти к содержанию
    

Здравствуйте.

 

Есть монохромный жк экранчик от бытовых весов, мультиплексированный, 4 разряда. С помощью 3В батарейки нашел ножки подложки, ножки последовательностей сегментов. Знаю, что для отображения информации на нем, нужно формировать довольно сложные формы импульсов, разного напряжения и полярности.

 

Надо его подключить к ардуинке, сделать часики :)

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

 

Существует ли микросхемка, которую можно подключить к такого рода дисплейчикам с одной стороны, с другой - к микроконтроллеру, запитать от 3в батарейки, и записать в нее информацию, которую она будет показывать на дисплее, формируя те многочисленные лесенки напряжения и полярностей.

 

Желательно доставабельную в розницу в Москве.

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну например PCF8576

 

Если судить по einfo, то доставабельный

 

http://www.chipfind.ru/datasheet/optodrv/lcd-drv/1.htm

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну например PCF8576

 

Если судить по einfo, то доставабельный

 

http://www.chipfind.ru/datasheet/optodrv/lcd-drv/1.htm

 

Спасибо, интересный вариант.

Даже примеры есть для ардуино.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Даже примеры есть для ардуино.
PCF8566, 8577 чуть поменьше, для вашего дисплея тоже хватит. Предложил бы мегу 169/329/649/3290/6490 с таким драйвером прямо на борту, но тогда придется выкинуть ардуину...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

PCF8566, 8577 чуть поменьше, для вашего дисплея тоже хватит. Предложил бы мегу 169/329/649/3290/6490 с таким драйвером прямо на борту, но тогда придется выкинуть ардуину...

Спасибо.

Мега 169, кстати, поддерживается средой ардуино, но прямого управления дисплеем вроде как не реализовано.

Я на ардуино из-за большого числа готовых примеров, а не из-за аппаратной платформы.

Потом все равно травлю платку и ставлю отдельную атмегу, с прошивкой, сделанной ардуиновским компилятором.

 

О! Был такой проект - butteruino. Это адаптация среды ардуино для демоплаты AVRButterfly, которая на atmega 169 и как раз с дофигасегментным экранчиком.

Изменено пользователем Antarius

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно использовать микроконтроллер с встроенным узлом контроллера LCD,

например у Ti - MSP430F449, MSP430FG4618 итд - очень много моделей (мы их используем с LCD)

(но Ti - не эконом-вариант по стоимости). Посмотрите у STM, Microchip.

Но привязывать "раскладку" сегментов на поле памяти в процессоре - не всегда простая задача.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это, наверное, самый правильный вариант. MSP430, или, например, ATmega169, PIC16LF1934. Связать по SPI или I2C. Хотя идея "сделать часики" на "ардуинке" сомнительная затея. Уж по крайней мере функцию RTC надо делать с резервным питанием и микропотреблением. Или отдельный RTC, или запихать вместе с тем же контроллером LCD, программно. Но тогда и все остальное надо туда же, и "ардуинка" уже "не при делах".

 

А что до раскладки сегментов - либо таблицей трансляции либо тупо, "в лоб" перестановка позиций (громоздко, зато просто).

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не-не, господа, только ардуинка, на большее я не рассчитываю :)

На крайняк микроС и PIC, но это уж совсем извращение.

 

Не понимаю - PCF8577 мультиплексированные экраны не поддерживает, правильно?

Только директ и... дуплекс. Дуплекс - это значит можно объединить две микросхемы для большого дисплея или значит мультиплексирование 1:2?

 

Спасибо.

Изменено пользователем Antarius

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Только директ и... дуплекс. Дуплекс - это значит можно объединить две микросхемы для большого дисплея или значит мультиплексирование 1:2?
мультиплексирование 1:2

http://www.nxp.com/documents/data_sheet/PCF8577C.pdf стр 7

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

мультиплексирование 1:2

http://www.nxp.com/documents/data_sheet/PCF8577C.pdf стр 7

Спасибо.

А можете еще пояснить это понятие мультиплексирования, а то запутался.

У меня 4х значный дисплей. От него шлейф - 16 контактов.

 

Я сделал на ардуине тестер - генерирующий прямоугольное переменное напряжение 3В / 64 Гц (или около того).

Последовательно "прозванивания" контакты шлейфа, я нашел, что у него три подложки (это три контакта в шлейфе), а остальные контакты в паре с одним из этих трех включают по одному сегменту.

Не три или четыре сегмента сразу, а по одному.

Это что значит - у меня мультиплекирование 1:3 по числу подложек или вообще нет мультиплексирования? Насколько корректна такая прозвонка для "реверсинжениринга" дисплея?

 

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это что значит - у меня мультиплекирование 1:3 по числу подложек

Да.

Насколько корректна такая прозвонка для "реверсинжениринга" дисплея?
Вполне. Когда мне нужно понять, где какая сторона у дисплея - я просто чешу затылок пластиковой шариковой ручкой, а потом провожу ей по выводам. Сегменты засвечиваются, сразу видно с какой стороны десятичные точки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а остальные контакты в паре с одним из этих трех включают по одному сегменту.
Уточните - если взять ОДИН любой 'остальной контакт' он включает один сегмент в паре с ОДНИМ из 3х общих, или включает по 1 разному сегменту в паре с КАЖДЫМ из 3х общих?

Если первое - то у вас вообще нет мультиплексирования (объединяете 3 общих контекта вместе) или любое мультиплексиорвание вплоть до 3:1 (объединяете 3 общих в нужной вам комбинации и остальные по необходимости).

Если второе - то у вас мультиплексирование 3:1

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да.

 

Понимаю, что я уже достал, но все же попрошу еще помощи.

Я купил PCF8576T, сделал переходник VSO56 - DIP. Воткнул ардуину, переходник с микросхемой и дисплей в макетку.

Подключил микросхему так:

 

SDA/SCL - к соответствующим выводам ардуино

VDD - 5В

OSC, A0,A1,A2,SA0, VSS - Общий с ардуино нуль

VLCD - 3,3В от ардуино

Дальше воткнул три подложки в BP0-BP2 и один сегмент в S0

 

Что делать с SYNC и CLK не понял, висят в воздухе.

 

Сканером (скетч для ардуино) удостоверился, что адрес микросхемы равен 56, т.е. 00011100, как и положено по даташиту.

Т.е. микросхема живая, работает, отвечает.

 

А вот что делать дальше - я не понимаю, пример, который я скачал не работает.

Пример брал тут https://bluetechs.wordpress.com/zothers/x/arduino-code/

Пытаюсь разобраться.

 

Как я понимаю, сначала надо послать:

 

Wire.beginTransmission (B00111000) ; // адрес микросхемы

 

Затем надо указать режим работы MODE SET (стр. 23 даташита)

Допустим, я хочу режим мультиплексирования трех подложек, LCD BIAS 1/3 (не знаю что это), мигать (чем?) не надо, питание обычное, не экономим

 

Wire.write (B11000011); // MODE SET [C] [10] [LowPower] [Enable] [bias] [Mux]

 

Далее в примере посылается DEVICE_SELECT - не понимаю что это, но т.к. все A0-A2 и SA0 у меня на нуле, то

 

Wire.write (B11100000); // Device select [Command] [1100] [A2 A1 A0]

 

А дальше я вообще нифига не понимаю, просто тупо скопировал пример. Можете подсказать что нужно послать и как чтобы зажечь сегмент на S0 и BP0?

 

Спасибо за уделенное время.

 

Уточните...

Шлейф 16 контактов. Контакты 10-12-13 как я считаю - это подложки, остальные - сегменты, контакт 11 ни к чему не подключен.

Максимум дисплей может показать 88:8.8 и символы кг/фунты/унции/1/4//1/2//3/4/ символами справа

Берем первую левую цифру 8, тогда контакты будут такими:

 

1 - 12 - верхняя горизонтальная палочка

16 -10 - верхняя левая вертикальная палочка

2 - 12 - верхняя правая вертикальная палочка

1-10 - средняя палочка

1-13 - нижняя левая вертикальная палочка

2-10 - нижняя правая вертикальная палочка

2 - 13 - нижняя горизонтальная палочка

 

на других знакоместах другие сочетания, и они не повторяются.

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А дальше я вообще нифига не понимаю, просто тупо скопировал пример. Можете подсказать что нужно послать и как чтобы зажечь сегмент на S0 и BP0?

Нужно отправить команду LOAD DATA POINTER с 0 в битах P0-P5, и следующим байтом (в той же I2C посылке) отправить 0b10000000

Берем первую левую цифру 8, тогда контакты будут такими:
Это 3:1

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нужно отправить команду LOAD DATA POINTER с 0 в битах P0-P5, и следующим байтом (в той же I2C посылке) отправить 0b10000000

Сделал так - ни на одном выводе ничего не меняется. Они все равны VDD.

Может я чего-то недоинициализировал?

Че то сложная штука какая-то)

Изменено пользователем Antarius

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...