Например TDA7294

Форум РадиоКот • Просмотр темы - Arduino UNO, LCD1602 и расширитель портов PCF8574AT
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Пн июл 28, 2025 04:27:29

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 23 ]  1,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Arduino UNO, LCD1602 и расширитель портов PCF8574AT
СообщениеДобавлено: Сб окт 26, 2024 11:18:08 
Родился

Зарегистрирован: Ср окт 23, 2024 14:51:46
Сообщений: 5
Рейтинг сообщения: 0
Всем добрый день!

Я начинающий ардуинщик и начал эксперименты с 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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Arduino UNO, LCD1602 и расширитель портов PCF8574AT
СообщениеДобавлено: Сб окт 26, 2024 14:32:09 
Нашел транзистор. Понюхал.

Карма: 4
Рейтинг сообщений: 20
Зарегистрирован: Чт сен 19, 2024 19:18:28
Сообщений: 159
Рейтинг сообщения: 0
Просто найдите другой скетч. Если и тот не заработает, продолжайте поиски, до тех пор, пока не получится.
Серьезно, между прочим. Такой вариант решения проблем - самый распространенный среди ардуинщиков, просто потому, что они не разбираются во внутрянке. Так что, принимайте это как данность и шуршите поиском.

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Arduino UNO, LCD1602 и расширитель портов PCF8574AT
СообщениеДобавлено: Сб окт 26, 2024 15:01:29 
Друг Кота
Аватар пользователя

Карма: 61
Рейтинг сообщений: 1537
Зарегистрирован: Вт окт 22, 2013 04:37:23
Сообщений: 3327
Откуда: Казань
Рейтинг сообщения: 1
Да неправильно это нападать на Ардуино.

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

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

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

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

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

_________________
Платы для HLDI - установки лазерной засветки фоторезиста.
Фоторезисты Ordyl Alpha 350 и AM 140.
Жидкое олово для лужения плат (видео) - самое лучшее и только у меня.
Паяльная маска XV501T-4 и KSM-S6189 (5 цветов).
Заказ печатных плат - pcbsmac@gmail.com


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Arduino UNO, LCD1602 и расширитель портов PCF8574AT
СообщениеДобавлено: Сб окт 26, 2024 15:07:51 
Нашел транзистор. Понюхал.

Карма: 4
Рейтинг сообщений: 20
Зарегистрирован: Чт сен 19, 2024 19:18:28
Сообщений: 159
Рейтинг сообщения: 0
Да никто тут не нападает на Ардуино! Наоборот - обеими руками "за", поддерживаю целиком и полностью. Ардуинщики являются поставщиками мемов и приколюх. Так что, всё тут норм, продолжайте.
Хотя конечно непонятно, каким боком SD-карта относится к дисплею-двустрочнику и расширителю портов. Но раз вы считаете, что нужен скетч для SD-карты, то возражать не буду! Продолжайте, мастер.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Arduino UNO, LCD1602 и расширитель портов PCF8574AT
СообщениеДобавлено: Сб окт 26, 2024 15:17:16 
Друг Кота
Аватар пользователя

Карма: 61
Рейтинг сообщений: 1537
Зарегистрирован: Вт окт 22, 2013 04:37:23
Сообщений: 3327
Откуда: Казань
Рейтинг сообщения: 0
К сожалению, вынужден констатировать, чтобы корона Вам настолько давит, что пережимает мозг, отчего Вы не в состоянии адекватно понимать, что Вам говорят. Так что это Вы продолжайте, жизнь сама Вам всё подскажет.

_________________
Платы для HLDI - установки лазерной засветки фоторезиста.
Фоторезисты Ordyl Alpha 350 и AM 140.
Жидкое олово для лужения плат (видео) - самое лучшее и только у меня.
Паяльная маска XV501T-4 и KSM-S6189 (5 цветов).
Заказ печатных плат - pcbsmac@gmail.com


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Arduino UNO, LCD1602 и расширитель портов PCF8574AT
СообщениеДобавлено: Сб окт 26, 2024 15:19:45 
Нашел транзистор. Понюхал.

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


Вернуться наверх
 
Распродажа паяльного оборудования ATTEN!
Паяльные станции, паяльники и аксессуары по самой выгодной цене.

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения: Re: Arduino UNO, LCD1602 и расширитель портов PCF8574AT
СообщениеДобавлено: Сб окт 26, 2024 15:25:38 
Мучитель микросхем
Аватар пользователя

Карма: 7
Рейтинг сообщений: 100
Зарегистрирован: Ср сен 16, 2020 20:38:41
Сообщений: 413
Откуда: Краснодарский край, г.Абинск
Рейтинг сообщения: 1
Проверьте, Limor, ещё раз подключение. Arduino UNO обеспечивает работу I2C интерфейса, если SDA подключен к пину A4, а SCL к пину A5 (и только так :wink: )

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

_________________
Лучше сделать и жалеть, чем жалеть, что не сделал ...


Последний раз редактировалось JMC.Hard Сб окт 26, 2024 15:54:12, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Arduino UNO, LCD1602 и расширитель портов PCF8574AT
СообщениеДобавлено: Сб окт 26, 2024 15:35:55 
Нашел транзистор. Понюхал.

Карма: 4
Рейтинг сообщений: 20
Зарегистрирован: Чт сен 19, 2024 19:18:28
Сообщений: 159
Рейтинг сообщения: -5
Я просто оставлю это здесь:
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-карт. Просто нужна обычная внимательность. Или терпеливость в перебирании вариантов, там их не так уж и много.


Последний раз редактировалось Базилюк Сб окт 26, 2024 16:11:43, всего редактировалось 3 раз(а).

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Arduino UNO, LCD1602 и расширитель портов PCF8574AT
СообщениеДобавлено: Сб окт 26, 2024 15:46:12 
Друг Кота
Аватар пользователя

Карма: 58
Рейтинг сообщений: 389
Зарегистрирован: Чт мар 20, 2008 01:06:40
Сообщений: 3271
Откуда: Севастополь
Рейтинг сообщения: 0
OFF
Цитата:
не работал я на AVR с SD картами. Можно:
...

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

_________________
>(*.*)<
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Arduino UNO, LCD1602 и расширитель портов PCF8574AT
СообщениеДобавлено: Сб окт 26, 2024 16:46:42 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1472
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15108
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Limor
Применение порта-расширителя подразумевает использование каскадно нескольких библиотек.
Для интерфейса связи, для самого порта - расширителя и для индикатора.
Бывает и единая библиотека, включающая в свой состав все дополнительные компоненты.
Ищем через менеджер библиотек наиболее подходящее решение (обычно библиотеки идут с примерами).
8)
один из перво попавшихся примеров с раскладкой соединений выводов порт-расширителя и жки под используемый софт:
https://www.mathertel.de/Arduino/Liquid ... F8574.aspx
:sleep:


Последний раз редактировалось BOB51 Сб окт 26, 2024 17:06:57, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Arduino UNO, LCD1602 и расширитель портов PCF8574AT
СообщениеДобавлено: Сб окт 26, 2024 17:02:38 
Говорящий с текстолитом

Карма: 25
Рейтинг сообщений: 450
Зарегистрирован: Сб май 05, 2012 20:24:52
Сообщений: 1636
Откуда: KN34PC, Болгария
Рейтинг сообщения: 0
Подключение дисплея не такое, как должно быть, как писал Базилюк.
Несмотря на низкое разрешение фото, похоже, что PCF->LCD имеет всего 4 провода из 7.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Arduino UNO, LCD1602 и расширитель портов PCF8574AT
СообщениеДобавлено: Сб окт 26, 2024 17:11:54 
Нашел транзистор. Понюхал.

Карма: 4
Рейтинг сообщений: 20
Зарегистрирован: Чт сен 19, 2024 19:18:28
Сообщений: 159
Рейтинг сообщения: 0
Да, там скорее всего пораздельно взят дисплей и модуль расширителя, и по мелкофотке очень похоже, что подключение именно 4-битное. Поэтому, классическая библиотека работать не будет. А значит, надо искать тот скетч, где реализовано 4-битное подключение через I2C-расширитель. Либо просто добавить 4 недостающих линии.

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

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Arduino UNO, LCD1602 и расширитель портов PCF8574AT
СообщениеДобавлено: Сб окт 26, 2024 17:19:39 
Говорящий с текстолитом

Карма: 25
Рейтинг сообщений: 450
Зарегистрирован: Сб май 05, 2012 20:24:52
Сообщений: 1636
Откуда: KN34PC, Болгария
Рейтинг сообщения: 0
Нужно только включить RS, R/W, E к PCF. Библиотека работает и на 4-битное управление LCD.

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Arduino UNO, LCD1602 и расширитель портов PCF8574AT
СообщениеДобавлено: Сб окт 26, 2024 17:32:28 
Сверлит текстолит когтями

Карма: 12
Рейтинг сообщений: 124
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 1217
Рейтинг сообщения: 0
...очень похоже, что подключение именно 4-битное. Поэтому, классическая библиотека работать не будет. А значит, надо искать тот скетч, где реализовано 4-битное подключение через I2C-расширитель. Либо просто добавить 4 недостающих линии.

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Arduino UNO, LCD1602 и расширитель портов PCF8574AT
СообщениеДобавлено: Сб окт 26, 2024 17:45:06 
Нашел транзистор. Понюхал.

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Arduino UNO, LCD1602 и расширитель портов PCF8574AT
СообщениеДобавлено: Сб окт 26, 2024 18:56:04 
Сверлит текстолит когтями

Карма: 12
Рейтинг сообщений: 124
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 1217
Рейтинг сообщения: 0
Я не специалист в ардуино-библах, я об этом сразу говорил, они мне до фени. Зато я знаю, что такое адрес на шине I2C и чем отличается 4-битное от 8-битного подключения двустрочника. А PCF8574A - это всего лишь преобразователь интерфейса, и без разницы, как и что к нему подключено. Важно лишь чтобы подключение соответствовало выбранному ардуино-скетчу.

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Arduino UNO, LCD1602 и расширитель портов PCF8574AT
СообщениеДобавлено: Сб окт 26, 2024 19:06:44 
Нашел транзистор. Понюхал.

Карма: 4
Рейтинг сообщений: 20
Зарегистрирован: Чт сен 19, 2024 19:18:28
Сообщений: 159
Рейтинг сообщения: 0
Вообще, я даже в бытность PIC16 не использовал расширитель портов для двустрочника. Поскольку подключается он 6-ю ножками, и экономия всего в 4 ножки не шибко то помогает делу. Зато 5 из 6 выводов можно без проблем мультиплексировать с другими функциями. В частности, в то время за них вешалась матричная клавиатура.
Сейчас, когда микроконтроллеры стали многоножными, необходимость экономить каждую ножку очень сильно уменьшилась.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Arduino UNO, LCD1602 и расширитель портов PCF8574AT
СообщениеДобавлено: Сб окт 26, 2024 19:18:47 
Сверлит текстолит когтями

Карма: 12
Рейтинг сообщений: 124
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 1217
Рейтинг сообщения: 0
Совершенно верно. Но для любителей Ардуино - чем меньше проводов, тем лучше.) Но даже и в этом случае можно запутаться.) И даже штатные примеры, которые идут с библиотекой, не помогают.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Arduino UNO, LCD1602 и расширитель портов PCF8574AT
СообщениеДобавлено: Сб окт 26, 2024 19:24:59 
Друг Кота
Аватар пользователя

Карма: 58
Рейтинг сообщений: 389
Зарегистрирован: Чт мар 20, 2008 01:06:40
Сообщений: 3271
Откуда: Севастополь
Рейтинг сообщения: 1
Цитата:
можно без проблем мультиплексировать с другими функциями
ТССС ! Вы только ардуинщикам об этом не говорите !

_________________
>(*.*)<
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Arduino UNO, LCD1602 и расширитель портов PCF8574AT
СообщениеДобавлено: Сб окт 26, 2024 19:37:31 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1472
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15108
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Базилюк писал(а):
...
Отличительная черта ардуинщиков - невнимательность , неумение курить маны и неумение анализировать ошибки....
Я ж говорю - ардуинщики - поставщики мемов и ржак.....

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


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 23 ]  1,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y