Например TDA7294

Форум РадиоКот :: Просмотр темы - Arduino UNO, LCD1602 и расширитель портов PCF8574AT
Форум РадиоКот
https://radiokot.ru/forum/

Arduino UNO, LCD1602 и расширитель портов PCF8574AT
https://radiokot.ru/forum/viewtopic.php?f=66&t=195351
Страница 1 из 2

Автор:  Limor [ Сб окт 26, 2024 11:18:08 ]
Заголовок сообщения:  Arduino UNO, LCD1602 и расширитель портов PCF8574AT

Всем добрый день!

Я начинающий ардуинщик и начал эксперименты с LCD. Сначала попробовал соединить LCD1602 c Arduino напрямую, все заработало нормально. Теперь, чтобы освободить порты на Arduino, решил подключить LCD через расширитель портов PCF8574AT. Собрал схемку, через сканер портов I2C определил порт расширителя, взял готовый скетч, чуть его подправил, запустил и ... не работает. Что я делаю не так?

Изображение

Код:
#include <LiquidCrystal_I2C.h>        //  Подключаем библиотеку для работы с LCD дисплеем по шине I2C
#define   RS      2
#define   ENABLE  3

LiquidCrystal_I2C lcd(0x20,16,2);     //  Объявляем  объект библиотеки, указывая параметры дисплея (адрес I2C = 0x27, количество столбцов = 16, количество строк = 2)
                                      //  Если надпись не появилась, замените адрес 0x27 на 0x3F
void setup()

    pinMode(RS, OUTPUT);              //  \
    digitalWrite(RS, LOW);            //    \
                                      //      > Этот код добавил я
    pinMode(ENABLE, OUTPUT);          //    /
    digitalWrite(ENABLE, LOW);        //  /

    lcd.init();                       //  Инициируем работу с LCD дисплеем
    lcd.backlight();                  //  Включаем подсветку LCD дисплея
    lcd.setCursor(0, 0);              //  Устанавливаем курсор в позицию (0 столбец, 0 строка)
    lcd.print("LCD");                 //  Выводим текст "LCD", начиная с установленной позиции курсора
    lcd.setCursor(0, 1);              //  Устанавливаем курсор в позицию (0 столбец, 1 строка)
    lcd.print("arduino-tex.ru");     //  Выводим текст arduino-tex.ru, начиная с установленной позиции курсора
}                                     //
                                      //
void loop(){}                         //  Код внутри функции loop выполняется постоянно. Но так как мы выводим статичный текст, нам достаточно его вывести 1 раз при старте, без использования кода loop

Автор:  Базилюк [ Сб окт 26, 2024 14:32:09 ]
Заголовок сообщения:  Re: Arduino UNO, LCD1602 и расширитель портов PCF8574AT

Просто найдите другой скетч. Если и тот не заработает, продолжайте поиски, до тех пор, пока не получится.
Серьезно, между прочим. Такой вариант решения проблем - самый распространенный среди ардуинщиков, просто потому, что они не разбираются во внутрянке. Так что, принимайте это как данность и шуршите поиском.

Ну и в качестве доказательства предыдущего. Вы зачем написали вон те строчки, которые пометили? Что этим хотели сказать?

Типовое подключение диспа через этот расширитель:
подумайте, где в нем эти ваши RS и EN
Изображение

Автор:  smacorp [ Сб окт 26, 2024 15:01:29 ]
Заголовок сообщения:  Re: Arduino UNO, LCD1602 и расширитель портов PCF8574AT

Да неправильно это нападать на Ардуино.

Вот, например, не работал я на AVR с SD картами. Можно:

- купить микроконтроллер и обвязку для него;
- купить разъём карты и обвязку для неё;
- разработать плату, вытравить и спаять;
- ошибиться и либо делать новую плату, либо резать дорожки и колхозить проводами.

При всём при этом затратить неприлично много времени.

А можно купить готовый SD модуль, подключить к Ардуино, понять как это работает хоть через стандартные библиотеки, хоть на низком уровне, и потом уже полученные знания использовать для разработки новых устройств. И всё это займёт несколько часов и, в любом случае, на порядок меньше первого варианта.

А дальше сам решает на каком уровне развития ему останавливаться - на уровне модулей и готовых скетчей или шагать дальше. Только сама платформа Ардуино в этом не виновата.

Автор:  Базилюк [ Сб окт 26, 2024 15:07:51 ]
Заголовок сообщения:  Re: Arduino UNO, LCD1602 и расширитель портов PCF8574AT

Да никто тут не нападает на Ардуино! Наоборот - обеими руками "за", поддерживаю целиком и полностью. Ардуинщики являются поставщиками мемов и приколюх. Так что, всё тут норм, продолжайте.
Хотя конечно непонятно, каким боком SD-карта относится к дисплею-двустрочнику и расширителю портов. Но раз вы считаете, что нужен скетч для SD-карты, то возражать не буду! Продолжайте, мастер.

Автор:  smacorp [ Сб окт 26, 2024 15:17:16 ]
Заголовок сообщения:  Re: Arduino UNO, LCD1602 и расширитель портов PCF8574AT

К сожалению, вынужден констатировать, чтобы корона Вам настолько давит, что пережимает мозг, отчего Вы не в состоянии адекватно понимать, что Вам говорят. Так что это Вы продолжайте, жизнь сама Вам всё подскажет.

Автор:  Базилюк [ Сб окт 26, 2024 15:19:45 ]
Заголовок сообщения:  Re: Arduino UNO, LCD1602 и расширитель портов PCF8574AT

Причем тут я? Вы же Мастер, а я то так, мимо проходил :) (я блин, эти ЖКД-двустрочники 20 лет назад на голом ассемблере, по 4-битному интерфейсу запускал, и без всяких адруин со скетчами) :)
Вы можете сказать по существу темы, как запустить дисплей у топикстартера? С ваших слов получается, что нужен модуль SD-карты. Правильно?

Автор:  JMC.Hard [ Сб окт 26, 2024 15:25:38 ]
Заголовок сообщения:  Re: Arduino UNO, LCD1602 и расширитель портов PCF8574AT

Проверьте, Limor, ещё раз подключение. Arduino UNO обеспечивает работу I2C интерфейса, если SDA подключен к пину A4, а SCL к пину A5 (и только так :wink: )

И почему при инициализации задаёте адрес 0х20? Сканер портов так сказал?

Автор:  Базилюк [ Сб окт 26, 2024 15:35:55 ]
Заголовок сообщения:  Re: Arduino UNO, LCD1602 и расширитель портов PCF8574AT

Я просто оставлю это здесь:
https://wiki.iarduino.ru/page/Working_w ... k135538494
https://github.com/mrkaleArduinoLib/Liq ... v446730548
https://docs.yandex.ru/docs/view?tm=172 ... 26nosw%3D1

Цитата:
LiquidCrystal_I2C lcd(0x20,16,2); Если надпись не появилась, замените адрес 0x27 на 0x3F

Отличительная черта ардуинщиков - невнимательность , неумение курить маны и неумение анализировать ошибки. Именно поэтому я и посоветовал - ПРОСТО МЕНЯЙТЕ СКЕТЧИ до тех пор, пока не заработает. Число скетчей - конечно, поэтому однажды оно заработает! :)

Изображение

хахаха, smacorp обиделся и начал гадить. гыгыгы, приколюха. Я ж говорю - ардуинщики - поставщики мемов и ржак.
Проблема топикстартера решается ИЛИМИНТАРНА, ваще беспраблем! И без всяких SD-карт. Просто нужна обычная внимательность. Или терпеливость в перебирании вариантов, там их не так уж и много.

Автор:  abc [ Сб окт 26, 2024 15:46:12 ]
Заголовок сообщения:  Re: Arduino UNO, LCD1602 и расширитель портов PCF8574AT

OFF
Цитата:
не работал я на AVR с SD картами. Можно:
...

... а можно взять 14-ногий МК из самых недорогих и таки написать для него поддержку FAT16, основываясь на кодах 20-летней давности.
На выходе будет своё, безглючное, в минимальных габаритах и не привязанное к "библиотекам, которые нужно перебирать, пока не заработает".
/OFF

Автор:  BOB51 [ Сб окт 26, 2024 16:46:42 ]
Заголовок сообщения:  Re: Arduino UNO, LCD1602 и расширитель портов PCF8574AT

Limor
Применение порта-расширителя подразумевает использование каскадно нескольких библиотек.
Для интерфейса связи, для самого порта - расширителя и для индикатора.
Бывает и единая библиотека, включающая в свой состав все дополнительные компоненты.
Ищем через менеджер библиотек наиболее подходящее решение (обычно библиотеки идут с примерами).
8)
один из перво попавшихся примеров с раскладкой соединений выводов порт-расширителя и жки под используемый софт:
https://www.mathertel.de/Arduino/Liquid ... F8574.aspx
:sleep:

Автор:  veso74 [ Сб окт 26, 2024 17:02:38 ]
Заголовок сообщения:  Re: Arduino UNO, LCD1602 и расширитель портов PCF8574AT

Подключение дисплея не такое, как должно быть, как писал Базилюк.
Несмотря на низкое разрешение фото, похоже, что PCF->LCD имеет всего 4 провода из 7.

Автор:  Базилюк [ Сб окт 26, 2024 17:11:54 ]
Заголовок сообщения:  Re: Arduino UNO, LCD1602 и расширитель портов PCF8574AT

Да, там скорее всего пораздельно взят дисплей и модуль расширителя, и по мелкофотке очень похоже, что подключение именно 4-битное. Поэтому, классическая библиотека работать не будет. А значит, надо искать тот скетч, где реализовано 4-битное подключение через I2C-расширитель. Либо просто добавить 4 недостающих линии.

Для этого конечно же нужно хоть немного разбираться в вопросе. Но вполне дозволяется решать вопрос простым перебором вариантов. Я нисколько не отговариваю от этого, нет-нет, я совсем не против. :)

Цитата:
подразумевает использование каскадно нескольких библиотек.

Если по-умному, то HD44780 -> PCF8574 -> I2C.
Но для непосвященных вполне допустимо без выпендрежа, одной-единственной библиотекой типа LiquidCrystal_I2C. Я тоже не возражаю, это нормальная практика в среде ардуинщиков.

Автор:  veso74 [ Сб окт 26, 2024 17:19:39 ]
Заголовок сообщения:  Re: Arduino UNO, LCD1602 и расширитель портов PCF8574AT

Нужно только включить RS, R/W, E к PCF. Библиотека работает и на 4-битное управление LCD.

Первое изображение из поисковика:
Изображение

Автор:  OKF [ Сб окт 26, 2024 17:32:28 ]
Заголовок сообщения:  Re: Arduino UNO, LCD1602 и расширитель портов PCF8574AT

...очень похоже, что подключение именно 4-битное. Поэтому, классическая библиотека работать не будет. А значит, надо искать тот скетч, где реализовано 4-битное подключение через I2C-расширитель. Либо просто добавить 4 недостающих линии.

Какая это классическая? Каждая библиотека имеет название. А что с одним PCF в 8-ми битном режиме получится подключиться?) Отож.)

Автор:  Базилюк [ Сб окт 26, 2024 17:45:06 ]
Заголовок сообщения:  Re: Arduino UNO, LCD1602 и расширитель портов PCF8574AT

Я не специалист в ардуино-библах, я об этом сразу говорил, они мне до фени. Зато я знаю, что такое адрес на шине I2C и чем отличается 4-битное от 8-битного подключения двустрочника. А PCF8574A - это всего лишь преобразователь интерфейса, и без разницы, как и что к нему подключено. Важно лишь чтобы подключение соответствовало выбранному ардуино-скетчу.
Поэтому я еще в первом мессаге дал наводящие картинки и ссылки на маны ниже. Я, к сожалению, не знаю, зачем здесь предложили модуль SD-карты, но это уж пусть разбираются те, кто поумнее, зачем оный тут нужен.
хахаха, у smacorp-а подгорел пукан и он начал ссать в тапки ))) блин, вот этот поцык не разбирается даже в примитивном дисплее-двустрочнике на I2C-расширителе. О чем тут еще можно говорить то? Ардуино головного мозга у smacorp-а. Турбодятел какой-то обиженный. Долбоящер, млин
слыш ты, турбоящер smacorp, ты иди ка нахер а. завали свое хлебало, дегенерат. будет тут еще всякая мудила мне чето предявлять. уебок smacorp ссаный, уройся гандон

Ушёл в баню за хамство. Alex

Автор:  OKF [ Сб окт 26, 2024 18:56:04 ]
Заголовок сообщения:  Re: Arduino UNO, LCD1602 и расширитель портов PCF8574AT

Я не специалист в ардуино-библах, я об этом сразу говорил, они мне до фени. Зато я знаю, что такое адрес на шине I2C и чем отличается 4-битное от 8-битного подключения двустрочника. А PCF8574A - это всего лишь преобразователь интерфейса, и без разницы, как и что к нему подключено. Важно лишь чтобы подключение соответствовало выбранному ардуино-скетчу.

Всё верно, только это и есть "классическая" библиотека для I2C - LCD преобразователя. И с одним PCF8574A тут именно 4-х битное подключение иначе не получится. Или это уже будет не только I2C, что теряет смысл.

Автор:  Базилюк [ Сб окт 26, 2024 19:06:44 ]
Заголовок сообщения:  Re: Arduino UNO, LCD1602 и расширитель портов PCF8574AT

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

Автор:  OKF [ Сб окт 26, 2024 19:18:47 ]
Заголовок сообщения:  Re: Arduino UNO, LCD1602 и расширитель портов PCF8574AT

Совершенно верно. Но для любителей Ардуино - чем меньше проводов, тем лучше.) Но даже и в этом случае можно запутаться.) И даже штатные примеры, которые идут с библиотекой, не помогают.

Автор:  abc [ Сб окт 26, 2024 19:24:59 ]
Заголовок сообщения:  Re: Arduino UNO, LCD1602 и расширитель портов PCF8574AT

Цитата:
можно без проблем мультиплексировать с другими функциями
ТССС ! Вы только ардуинщикам об этом не говорите !

Автор:  BOB51 [ Сб окт 26, 2024 19:37:31 ]
Заголовок сообщения:  Re: Arduino UNO, LCD1602 и расширитель портов PCF8574AT

Базилюк писал(а):
...
Отличительная черта ардуинщиков - невнимательность , неумение курить маны и неумение анализировать ошибки....
Я ж говорю - ардуинщики - поставщики мемов и ржак.....

ФФЫРРРШШШШ!!!
я как-то тоже с адуринкой балуюсь...
КУСЬ...
:tea:

Страница 1 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/