Связка LCD + I2C

akass
Offline
Зарегистрирован: 30.11.2015

Radjah пишет:

Я уже в другой теме давал совет и про бибилиотеки и про версию среду и даже со ссылками.

Либы я распаковывал не в "Мои документы", а прямо в папку со средой, удалив тамошнюю либу для дисплея.

Не помогло.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

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

akass
Offline
Зарегистрирован: 30.11.2015

dimax пишет:

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

Можете поподробней пояснить как это сделать?

amedov78
Offline
Зарегистрирован: 26.08.2015

У меня платка с PCF8574AT (адрес должен быть 0х3F), экранчик 1602 (платка впаяна), Uno R3 BTE14-04.

Cканер ничего не находит, пробовал с сопротивлениями на щине и без, на пины A4 A5, на отдельные пины SDA и SCL.

Тест из поста #50  зажег экран сразу и весь первый ряд в залитых квадратиках. Думаю это хорошо. Резюк крутил и не раз.

На библиотеки реагировать отказывается. В лучшем случае засвечивается экран. Резюк картину не меняет.

Каким путем идти дальше ? Как увидеть на шине ?

 

bwn
Offline
Зарегистрирован: 25.08.2014

amedov78, пока сканер адрес не определит, дальше нет смысла копать. По какой то причине нет обмена с шиной. Проверяйте коммутацию, может SDA SCL местами перепутали?

amedov78
Offline
Зарегистрирован: 26.08.2015

менял местами SDA SCL. пробовал с сопротивлениями (4,7кОм на 5V) на шине и без, на пины A4 A5, на отдельные пины SDA и SCL.

Cканер ничего не находит.

Должна ли эта платка (PCF8574AT) видеться на шине без подключенного к ней LCD1602 ? У меня она впаяная пришла.

 

bwn
Offline
Зарегистрирован: 25.08.2014

amedov78 пишет:

менял местами SDA SCL. пробовал с сопротивлениями (4,7кОм на 5V) на шине и без, на пины A4 A5, на отдельные пины SDA и SCL.

Cканер ничего не находит.

Должна ли эта платка (PCF8574AT) видеться на шине без подключенного к ней LCD1602 ? У меня она впаяная пришла.

 

Это расширитель шины I2C, что подключено на выходе не важно. Она самодостаточна и определяться обязана. Сопротивления на плате уже должны быть штатные.
Ссылочку сбросьте на сканер, которым пользовались.

amedov78
Offline
Зарегистрирован: 26.08.2015

сканер:

http://playground.arduino.cc/Main/I2cScanner

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

bwn
Offline
Зарегистрирован: 25.08.2014

amedov78 пишет:

сканер:

http://playground.arduino.cc/Main/I2cScanner

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

Он, бывает по разному это понимают. Тестер и пробуйте прозванивать линии I2C и питания до микрухи. Убить переполюсовкой питания никак не могли?

amedov78
Offline
Зарегистрирован: 26.08.2015

Задача решилась неожиданно. Решил банально померить напряжение. Оказалось, что оно садится до 4,3V, доходя до подключенной платки PCF8574AT с LCD1602. Стал искать причину контакта и в итоге пришлось запараллелить два контакта GND на соседних ножках Uno, рядом с +5V. Напряжение пришло в норму !

И все заработало, как в посте #23 . Всех авторов благодарю!

amedov78
Offline
Зарегистрирован: 26.08.2015

подтягивающие резисторы 4,7кОм с SDA, SCL на +5V ставить обязательно ! без них на экранчике бегает какая-то белеберда ! :)

bwn
Offline
Зарегистрирован: 25.08.2014

amedov78 пишет:

подтягивающие резисторы 4,7кОм с SDA, SCL на +5V ставить обязательно ! без них на экранчике бегает какая-то белеберда ! :)

Они нужны обязательно, а на платке разве нет?

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

bwn пишет:

amedov78 пишет:

подтягивающие резисторы 4,7кОм с SDA, SCL на +5V ставить обязательно ! без них на экранчике бегает какая-то белеберда ! :)

Они нужны обязательно, а на платке разве нет?

На правильной плате их быть не должно, но на реальных платах они, увы, обычно присутствуют.

bwn
Offline
Зарегистрирован: 25.08.2014

andriano пишет:

bwn пишет:

amedov78 пишет:

подтягивающие резисторы 4,7кОм с SDA, SCL на +5V ставить обязательно ! без них на экранчике бегает какая-то белеберда ! :)

Они нужны обязательно, а на платке разве нет?

На правильной плате их быть не должно, но на реальных платах они, увы, обычно присутствуют.

Так чистая выгода, за те же деньги, два резистора и опыт по отпаиванию SMD)))))

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Спасибо. Я как раз на днях выпаивал SMD из RTC. А вот из гироскопа/акселерометра - не рашаюсь - они там в 2 раза меньше. И, самое гоавное, поставили, гады, по 2.2К. А мне на ту же I2C еще вешать экран, компас, EEPROM и второй контроллер. И сколько это будет, если все дотошно впаянные китайцами резисторы окажутся в параллель?

bwn
Offline
Зарегистрирован: 25.08.2014

andriano пишет:

Спасибо. Я как раз на днях выпаивал SMD из RTC. А вот из гироскопа/акселерометра - не рашаюсь - они там в 2 раза меньше. И, самое гоавное, поставили, гады, по 2.2К. А мне на ту же I2C еще вешать экран, компас, EEPROM и второй контроллер. И сколько это будет, если все дотошно впаянные китайцами резисторы окажутся в параллель?

Так оставить на том, с которого сложнее всего убрать. Я как паялку купил, спокойно снимаю, главное увидеть))))

the_wall
Offline
Зарегистрирован: 06.06.2013

amedov78 пишет:

Задача решилась неожиданно. Решил банально померить напряжение. Оказалось, что оно садится до 4,3V, доходя до подключенной платки PCF8574AT с LCD1602. Стал искать причину контакта и в итоге пришлось запараллелить два контакта GND на соседних ножках Uno, рядом с +5V. Напряжение пришло в норму !

И все заработало, как в посте #23 . Всех авторов благодарю!

А если с питанием все впорядке, но все равно ничего не определяет. Значит плохой i2c переходник? И как его на работоспособность проверить?

bwn
Offline
Зарегистрирован: 25.08.2014

the_wall пишет:

А если с питанием все впорядке, но все равно ничего не определяет. Значит плохой i2c переходник? И как его на работоспособность проверить?

Если сканер не определяет адрес, смотреть-звонить линии SDA SCL и питание, на замыкание-обрыв и правильность подключения согласно схеме. Мелкосхема весьма крепкая, скорее где то в монтаже или подсоединении косяк.

Radjah
Offline
Зарегистрирован: 06.08.2014

> Мелкосхема весьма крепкая

Подавал на нее 12 вольт. Дисплей сдох, а схема жива.

Buldakov
Offline
Зарегистрирован: 17.01.2016

Не знаю в какой ветке спросить. Поэтому спрошу здесь. Тема вроде подходит.

У меня есть плата arduino pro mini и к ней хочу подключить дисплей 1602 по шине i2c. Если подключать управление к сигналам А4 и А5 - то все работает. Проблема только в том, что данные выводы смещены на плате на 1.25 мм в сторону. и неудобно делать под них дырки и паять их.

Можно ли найти какую нибудь библиотеку с заменой выводов А4 и А5 на какие нибудь другие? Например на А2 и А3.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Нет. A4-A5 - это аппаратное решение.

Radjah
Offline
Зарегистрирован: 06.08.2014

На самом деле есть либы для программной реализации I2C, но они говно и не нужны. :)

dhog1
Offline
Зарегистрирован: 01.03.2016

2 Radjah

Это сильное утверждение для характеристики реализации 5-ти функций i2c, особенно когда ножки USI уже заняты. Потдверждения не дождемся?

Radjah
Offline
Зарегистрирован: 06.08.2014

Подтвержадю, что программная реализация интерфейса i2c - говно и не нужна. Те, кто её пишут и использую - уроды и биомусор.

Число. Подпись.

dhog1
Offline
Зарегистрирован: 01.03.2016

2 Radjah

Мне нравится подход. Раз - и в дамки, чтобы это ни значило. Сказал как отрезал, ну а что, если мозги отключены.

Вы с "очень маленькими" (Attiny, разными) работали? Или со старым нестандартным оборудованием, выше 15-25 кГц не желающим общаться? Или вы не умеете писать короткие и компактные функции? Может быть не работали с TM1637 (там не i2c, но похоже)? Или не встречали ситуации, когда устройства имеют неперенастраиваемые i2c адреса? Ну может 5-6 ADC каналов на attiny24a развёртывали с отображением на любимом HD44780 LCD, тоже нет?

Ухожу к уродам и биомусору, там мне самое место.

 

 

kokuam
kokuam аватар
Offline
Зарегистрирован: 10.01.2017

Всем привет, если при подключении дисплей светится, первая строчка заполнена квадратиками, но текст не выводится, то, скорее всего ваша библиотека не совместима с вашим i2c адаптером. 

Например, моему адаптеру Mjkdz подошла библиотека Francisco Malpartida ( https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home ) там можно подобрать параметры инициализации и мне подошли такие :  LiquidCrystal_I2C lcd(lcdAdrr, 4, 5, 6, 0, 1, 2, 3, 7, NEGATIVE);

bwn
Offline
Зарегистрирован: 25.08.2014

А если выкинуть адаптер и просто PCF8574 поставить? Может все упроститься?