Технический форум по робототехнике.
Trump » 20 фев 2012, 23:37
Стоит задача подключить несколько дисплеев 16x2 (например HD44780) к одной плате Arduino. Я знаю про возможность использовать сдвиговые регистры. Но с другой стороны Arduino Mega имеет 54 вывода и мне этого должно хватить чтобы не загоняться со сдвигами. Подскажите, пожалуйста, можно ли использовать какие-то выводы ардуины как общие для нескольких дисплеев? Для экономии. Ну, к примеру, могу я подключать к разным выводам ардуины только входы DB4-DB7 дисплеев?
dccharacter » 20 фев 2012, 23:45
Мне кажется наоборот шину данных можно общую, а EN, RST и что там еще - на отдельные
Trump » 21 фев 2012, 00:00
Ну мне просто нужно выводить на дисплеи разные данные. Разве такое подключение позволит мне это сделать?
dccharacter » 21 фев 2012, 00:30
Trump писал(а):Ну мне просто нужно выводить на дисплеи разные данные. Разве такое подключение позволит мне это сделать?
Ну для того, чтобы вывести на дисплей что-то, надо постробить управляющими ногами. Какому дисплею ноги подергаете, тот и покажет то, что прилетело по шине данных.
Myp » 21 фев 2012, 09:20
если мне не изменяет память дисплей 16х2 это уже и так 2 дисплея запараллеленых =)
и ногой CS (Chip Select) выбирается левая или правая половина.
высокий уровень одна половина низкий другая.
так что собственно весь вопрос в разделении этого сигнала на 2 дисплея (или сколько хочется)
нужно добавить переключатель CS на нужное количество дисплеев.
но может быть достаточно будет EN вывести на отдельные ноги ардуины, временно отключая и включая шину данных на нужном дисплее.
Trump » 21 фев 2012, 09:53
Myp писал(а):если мне не изменяет память дисплей 16х2 это уже и так 2 дисплея запараллеленых =)
и ногой CS (Chip Select) выбирается левая или правая половина.
высокий уровень одна половина низкий другая.
так что собственно весь вопрос в разделении этого сигнала на 2 дисплея (или сколько хочется)
нужно добавить переключатель CS на нужное количество дисплеев.
но может быть достаточно будет EN вывести на отдельные ноги ардуины, временно отключая и включая шину данных на нужном дисплее.
Может вы про другой дисплей? Я вот про такой
На нем вроде нет Chip Select. Есть линия адресного сигнала RS. Пишут, что
В зависимости от того, 0 она или 1, дисплей понимает имеем ли мы на линии данных команду вроде «передвинуть курсор» или код символа для отображения.
И есть E - линия разрешения доступа к данным.
Вроде бы то, что пишет
dccharacter правильно. Хотя может просто сильно хочу в это поверить
Уж очень хочется сделать все как можно проще.
Myp » 21 фев 2012, 11:01
не помню какой именно был дисплей у меня, я его сломал ))) но он был большой, строчный и там был CS
щас у меня тока графический, и он как раз имеет 2 чипа.
я долго парился с ним, там оказалось что второй чип мало того что имеет свою персональную ногу CS
так ещё и распаян зеркально, тоесть левая половина изображения выводится как есть, а правая в зеркальном отображении.
я лишь говорю что большие дисплеи часто делают на 2х одинаковых чипах тупо запараллелив их на плате.
и управляются они просто коммутацией ног управления чипа на общий разъём.
на моём мэлте графическом сзади тупо припаяна микруха переключатель которая переключает сигналы управления для каждого чипа на общую шину.
и самостоятельно делать второй дисплей нужно по такому же опробованному принципу, коммутируя нужные ноги.
какие именно сам разберёшься =) может просто E
elmot » 21 фев 2012, 11:07
В википедии написано, что E - строб по спаду. Т.е. вполне себе заведется все. Все контакты кроме E - в параллель, катоды-аноды подсветки и контрасность - по желанию, смотря как подсветку регулировать. E - на каждый дисплей свой. Могут быть проблемы с чтением из дисплея, но, имхо, оттуда можно вообще ничего никогда не читать.
Myp » 21 фев 2012, 11:45
если это импортный дисплей на родной HD44780 то да
но скорей всего это нашемарка
в МЭЛТе википедию не читают поэтому делают как им вздумается =) и сходство с HD44780 иногда у них только в общих чертах.
бывает имеют несколько одинаковых дисплеев с разницей в одну букву в названии и с разной инициализацией и сигналами управления )
вобщим отнестись надо внимательно =) и распиновку брать только из даташита с полностью совпадающим названием, вплоть до последней буквы.
Trump » 21 фев 2012, 13:02
MypНу я фотку просто кинул с амперки. Заказал дисплеи я естесссно в Китае
Я думаю, они-то должны по даташитам делать.
elmotЧитать с дисплея мне не нужно. Так что если нужно будет отдельно подключать только E ноги это совсем хорошо.
Чтож остается попробовать. По крайней мере, IDE не имеет ничего против компилирования скетча в котором задаются одинаковые пины на несколько дисплеев.
Trump » 24 фев 2012, 20:55
Может быть кому-то будет полезна информация о результатах. Проведенный эксперимент показал, что, действительно, достаточно подключать отдельно только ногу ENABLE. Остальные провода будут общими для двух/нескольких дисплеев.