Antarius 0 21 июня, 2017 Опубликовано 21 июня, 2017 · Жалоба Здравствуйте. Есть монохромный жк экранчик от бытовых весов, мультиплексированный, 4 разряда. С помощью 3В батарейки нашел ножки подложки, ножки последовательностей сегментов. Знаю, что для отображения информации на нем, нужно формировать довольно сложные формы импульсов, разного напряжения и полярности. Надо его подключить к ардуинке, сделать часики :) В принципе, есть примеры для таких дисплеев, и они работают, но как-то очень сложно, очень нестабильно, засвечивают соседние сегменты, жрут очень много ресурсов и занимают все свободные выводы у ардуино. Существует ли микросхемка, которую можно подключить к такого рода дисплейчикам с одной стороны, с другой - к микроконтроллеру, запитать от 3в батарейки, и записать в нее информацию, которую она будет показывать на дисплее, формируя те многочисленные лесенки напряжения и полярностей. Желательно доставабельную в розницу в Москве. Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xvr 12 21 июня, 2017 Опубликовано 21 июня, 2017 · Жалоба Ну например PCF8576 Если судить по einfo, то доставабельный http://www.chipfind.ru/datasheet/optodrv/lcd-drv/1.htm Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Antarius 0 21 июня, 2017 Опубликовано 21 июня, 2017 · Жалоба Ну например PCF8576 Если судить по einfo, то доставабельный http://www.chipfind.ru/datasheet/optodrv/lcd-drv/1.htm Спасибо, интересный вариант. Даже примеры есть для ардуино. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 119 21 июня, 2017 Опубликовано 21 июня, 2017 · Жалоба Даже примеры есть для ардуино.PCF8566, 8577 чуть поменьше, для вашего дисплея тоже хватит. Предложил бы мегу 169/329/649/3290/6490 с таким драйвером прямо на борту, но тогда придется выкинуть ардуину... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Antarius 0 21 июня, 2017 Опубликовано 21 июня, 2017 (изменено) · Жалоба PCF8566, 8577 чуть поменьше, для вашего дисплея тоже хватит. Предложил бы мегу 169/329/649/3290/6490 с таким драйвером прямо на борту, но тогда придется выкинуть ардуину... Спасибо. Мега 169, кстати, поддерживается средой ардуино, но прямого управления дисплеем вроде как не реализовано. Я на ардуино из-за большого числа готовых примеров, а не из-за аппаратной платформы. Потом все равно травлю платку и ставлю отдельную атмегу, с прошивкой, сделанной ардуиновским компилятором. О! Был такой проект - butteruino. Это адаптация среды ардуино для демоплаты AVRButterfly, которая на atmega 169 и как раз с дофигасегментным экранчиком. Изменено 21 июня, 2017 пользователем Antarius Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k155la3 26 22 июня, 2017 Опубликовано 22 июня, 2017 · Жалоба Можно использовать микроконтроллер с встроенным узлом контроллера LCD, например у Ti - MSP430F449, MSP430FG4618 итд - очень много моделей (мы их используем с LCD) (но Ti - не эконом-вариант по стоимости). Посмотрите у STM, Microchip. Но привязывать "раскладку" сегментов на поле памяти в процессоре - не всегда простая задача. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rx3apf 0 22 июня, 2017 Опубликовано 22 июня, 2017 · Жалоба Это, наверное, самый правильный вариант. MSP430, или, например, ATmega169, PIC16LF1934. Связать по SPI или I2C. Хотя идея "сделать часики" на "ардуинке" сомнительная затея. Уж по крайней мере функцию RTC надо делать с резервным питанием и микропотреблением. Или отдельный RTC, или запихать вместе с тем же контроллером LCD, программно. Но тогда и все остальное надо туда же, и "ардуинка" уже "не при делах". А что до раскладки сегментов - либо таблицей трансляции либо тупо, "в лоб" перестановка позиций (громоздко, зато просто). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Antarius 0 22 июня, 2017 Опубликовано 22 июня, 2017 (изменено) · Жалоба Не-не, господа, только ардуинка, на большее я не рассчитываю :) На крайняк микроС и PIC, но это уж совсем извращение. Не понимаю - PCF8577 мультиплексированные экраны не поддерживает, правильно? Только директ и... дуплекс. Дуплекс - это значит можно объединить две микросхемы для большого дисплея или значит мультиплексирование 1:2? Спасибо. Изменено 22 июня, 2017 пользователем Antarius Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xvr 12 22 июня, 2017 Опубликовано 22 июня, 2017 · Жалоба Только директ и... дуплекс. Дуплекс - это значит можно объединить две микросхемы для большого дисплея или значит мультиплексирование 1:2?мультиплексирование 1:2 http://www.nxp.com/documents/data_sheet/PCF8577C.pdf стр 7 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Antarius 0 22 июня, 2017 Опубликовано 22 июня, 2017 · Жалоба мультиплексирование 1:2 http://www.nxp.com/documents/data_sheet/PCF8577C.pdf стр 7 Спасибо. А можете еще пояснить это понятие мультиплексирования, а то запутался. У меня 4х значный дисплей. От него шлейф - 16 контактов. Я сделал на ардуине тестер - генерирующий прямоугольное переменное напряжение 3В / 64 Гц (или около того). Последовательно "прозванивания" контакты шлейфа, я нашел, что у него три подложки (это три контакта в шлейфе), а остальные контакты в паре с одним из этих трех включают по одному сегменту. Не три или четыре сегмента сразу, а по одному. Это что значит - у меня мультиплекирование 1:3 по числу подложек или вообще нет мультиплексирования? Насколько корректна такая прозвонка для "реверсинжениринга" дисплея? Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 119 23 июня, 2017 Опубликовано 23 июня, 2017 · Жалоба Это что значит - у меня мультиплекирование 1:3 по числу подложек Да. Насколько корректна такая прозвонка для "реверсинжениринга" дисплея?Вполне. Когда мне нужно понять, где какая сторона у дисплея - я просто чешу затылок пластиковой шариковой ручкой, а потом провожу ей по выводам. Сегменты засвечиваются, сразу видно с какой стороны десятичные точки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xvr 12 23 июня, 2017 Опубликовано 23 июня, 2017 · Жалоба а остальные контакты в паре с одним из этих трех включают по одному сегменту.Уточните - если взять ОДИН любой 'остальной контакт' он включает один сегмент в паре с ОДНИМ из 3х общих, или включает по 1 разному сегменту в паре с КАЖДЫМ из 3х общих? Если первое - то у вас вообще нет мультиплексирования (объединяете 3 общих контекта вместе) или любое мультиплексиорвание вплоть до 3:1 (объединяете 3 общих в нужной вам комбинации и остальные по необходимости). Если второе - то у вас мультиплексирование 3:1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Antarius 0 23 июня, 2017 Опубликовано 23 июня, 2017 · Жалоба Да. Понимаю, что я уже достал, но все же попрошу еще помощи. Я купил 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 - нижняя горизонтальная палочка на других знакоместах другие сочетания, и они не повторяются. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xvr 12 23 июня, 2017 Опубликовано 23 июня, 2017 · Жалоба А дальше я вообще нифига не понимаю, просто тупо скопировал пример. Можете подсказать что нужно послать и как чтобы зажечь сегмент на S0 и BP0? Нужно отправить команду LOAD DATA POINTER с 0 в битах P0-P5, и следующим байтом (в той же I2C посылке) отправить 0b10000000 Берем первую левую цифру 8, тогда контакты будут такими:Это 3:1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Antarius 0 23 июня, 2017 Опубликовано 23 июня, 2017 (изменено) · Жалоба Нужно отправить команду LOAD DATA POINTER с 0 в битах P0-P5, и следующим байтом (в той же I2C посылке) отправить 0b10000000 Сделал так - ни на одном выводе ничего не меняется. Они все равны VDD. Может я чего-то недоинициализировал? Че то сложная штука какая-то) Изменено 23 июня, 2017 пользователем Antarius Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться