Ребята подскажите можно ли подключить 2 лсд 8х2 и 1лсд 20х4 к mega? не будет ли просадок по напряжению и как оформить программу? 2 шт 8Х2 можно подключить к одному пину или разным и как выразить в программе 2 разных типа лсд ? Заранее всем спасибо
Не делал такого, но если бы встала задача - воспользовался бы такой примочкой: http://iarduino.ru/shop/Displei/1602-lcd-konvertor-v-spi-port.html По крайней мере нагрузку на МК она снизит.
на самодельном I2C чипе расширителя выходов (MCP23017 или PCF8575) можно, у готовых китайских такого функционала нет (т.к. адрес у всех одинаковый). Но есть у меня подозрение, что тут архитектурный косяк
http://devdotnet.org/post/16 Здесь описано подключение. Судя по статье, можно посадить три штуки на одну шину, и ронять на управляемом устройстве три ноги в ноль перед передачей информации в него. Но это, конечно, надо экспериментировать.
Как вариант, для каждого LCD сделать свою "видеокарту" в виде отдельного МК, на который пересылать данные по UART. Я так делаю даже для индикаторов иногда. И драйвер, упомянутый выше, использую для LCD, он недорогой, а жизнь упрощает значительно.
Если подключите по совету уважаемого Игоря конвертер IIC/I2C с контактами выбора адреса, можно подключить несколько.
Да, прямо к нему припаивается, чем и радует. Но вот насчет МЭЛТ не уверен, у него вроде бы распиновка другая, вечером могу посмотреть, у меня есть один.
По доке контроллеры дисплеев аналогичные, только контакты подключения совместить для каждого дисплея установить свой адрес
Уточнение по предлагаемым мною микрухам. Для обеих чипов каждой микросхеме можно задать адрес через выводы А0,А1,А2 в двоичном виде , подключив их к минусу или плюсу. Получается, на одну шину I2C можно навесить 2^3=8 штук, т.е. максимум 16 дисплеев. Для PCF8574 есть некоторые ограничения по допустимой нагрузке, но зато с этим чипом полно готовых переходников для дисплеев, т.е. можно купить 3 готовых переходника и на двух просто перепаять адресные перемычки. Цена одного чипа MCP23017 - 1.5$, PCF8574 - 15 рублей, переходника на PCF8574 - 140 р..
Если надо экономить ноги и не городить огород из внешних ненужных контроллеров, то решение простое: - у всех LCD пины D7, D6, D5, D4 и RS общие - пины E заводятся на разные пины Ардуино Т.е. объявление будет такое: Код (C++): LiquidCrystal lcd8_1(RS,EN8_1,D4,D5,D6,D7); LiquidCrystal lcd8_2(RS,EN8_2,D4,D5,D6,D7); LiquidCrystal lcd20(RS,EN20,D4,D5,D6,D7);
Не пробовал, но не вижу что может помешать данной реализации. Посмотрите временные диаграммы обмена данными с индикатором. По фронту входа Е индикатор принимает данные или команду. Когда остальные ножки "шевелятся" для другого индикатора, а фронта на Е нету, так индикатор и не обращает внимания что там происходит