ESP-01S (или же Wemos Mini) + PCF8575 + TFT-дисплей 128×160 / 1,8”

День добрый, обитатели форума!
Озадачился таким вот вопросом: можно ли технически, т. е. позволяет ли в принципе упомянутое в теме железо, подобную связку?
ESP-01S позволяет программно реализовать связку с модулем PCF8575 по I2C на пинах, скажем GPIO2 и GPIO0. Модуль PCF8575 позволяет сделать входы/выходы для кнопок/светодиодов (например). В такой конфигурации всё работает.

А теперь суть вопроса: если подключить к PCF8575 TFT-дисплей 128×160 / 1,8”, рассчитанный на работу по протоколу SPI, можно ли будет управлять c ESP-01S данным экраном? (типа, по аналогии проброса портов в домашнем роутере)

Или можно задать вопрос иначе: можно ли в принципе, и если можно, то как “объяснить” ESP-01S что пин модуля PCF8575, скажем, P7 это MOSI, а пин P10 - MISO и т.д.?


З.Ы.: или я слишком “жирно” размечтался? ;-))

никак

ага

А что, кроме ESP-01S других плат нет? Что ж вы все к ней цепляете

Дёшево, миниатюрно, Wi-Fi имеется, а значит не нужны кнопки/энкодеры для изменения настроек и параметров…

Вот и я понял, что вроде как-бы получается, что НИКАК… Но в мечтах всё так бы классно получилось…))

Надо устроить SoftSPI на PCF8575 через I2C. Но это будет работать КРАЙНЕ
медленно.

Миниатюрно - это когда хватает ног. А когда не хватает, - это уже не “миниатюрно”, это по-другому называется.
Выберите контроллер, у которого ног изначально хватает для Вашего проекта.

Миниатюрно - это характеристика размеров. Когда хватает ног - это характеристика достаточности в схеме…

Надо устроить SoftSPI на PCF8575 через I2C

До подобного ходом своей логической мысли я дошёл… Но поскольку у меня опыта минимум, не могли бы вы меня “пнуть” в нужном направлении по данному вопросу, а именно: куда смотреть (есть ли подобные образцы или примеры, т. к. по обозначенной теме я не нашёл ничего в инете от слова “совсем”), с чего начать, как добраться до конечной точки… Что касаемо скорости - хз… мож в итоге она и устроит… Сначала бы увидеть в деле этот softSPI через I2C…

Плохо искали: Serial Peripheral Interface — Википедия

Как-то тяжко теория пошла без примера…(( Я хочу сказать, что из того кода, что там представлен никакой ясности нет, как связать его с PCF8575…

Сделай сначала без 8575, а потом уже с ним.

Как вы общаетесь с 8575 ?

В коде из:

надо в строках 11-14 поменять на обращение к 8575 и/или написать соответствующие функции…чуть выше поменять номера выводов, чуть ниже выбрать разрешение и параметры дисплея…
Когда картинка появится - поднимать скорость I2C до тех пор пока будет работать 8575 (видел упоминание про максимум 600 кГц)

Для упрощения можно CS повесить на землю и общаться с дисплеем через три пина D\C MOSI SCK.

Скорость считать лень, но думаю что перерисовка всего дисплея будет занимать несколько секунд … :cry:

Инициализация дисплея ST7789v2 - #28 от пользователя Komandir

так, беру временную паузу для изучения оного…

Сделай сначала без 8575, а потом уже с ним.

Шутку оценил…)) Сделать SPI на ESP-01S без 8575… Это, как примерно по аналогии говорилось у классика, “только состоятельному челу под силу!”
Ну а на Wemos Mini и Nano я уже сделал, дабы нужно было проверить купленный экранчик на работоспособность…

Ну тогда делайте сразу на 8575, если это вам легче.

Напомните, пожалуйста, каков ваш уровень владения языком С++ и опыт в работе с микроконтроллерами? На мой взгляд эта задачка требует если профи, то хотя бы специалиста с уровнем знаний “выше среднего”.

что именно вы сделали? На упомянутых платах SPI работает “из коробки”, там ничего “делать” не надо, фактически вилку в розетку включить.

Тут ведь какое дело? Если человек сознательно пытается сделать “Из говна и палок” - то никакой квалификацией - не пахнет. Вемос Д1 не намного больше и ног там достаточно. По крайней мере обсуждаемый экран - точно в разы больше.

2 лайка

Да, пожалуй соглашусь - уже сама постановка задачи многое говорит о человеке.
На месте ТС я бы решал не задачу, как приколхозить SPI на ESP-01, а задачу как встроить контроллер с нужным количеством ног.
Хотя ТС явно не учитывает, что сам 8575 тоже не микроскопический. Во всяком случае связка есп-01 и 8575 уже больше Вемоса.
Это не говоря уже про экран.

Тс, бросайте заниматься фигней, пора взрослеть. Смотрите на свою конструкцию как инженер, а не как школьник.

1 лайк

На мой взгляд эта задачка требует если профи, то хотя бы специалиста с уровнем знаний “выше среднего”.

Да понял я, что я не достаточно “состоятельный человек” …))

“Из говна и палок” - то никакой квалификацией - не пахнет

Хе… А как по вашему начинаются любые разработки в “непаханом поле”, а (по крайней мере я не нашёл, чтоб кто-то ставил вопрос так, как я в теме)? Так и начинаются: берётся палка и начинается перемешивание говна… А потом приходит понимание, что палка должна быть в качестве плуга из закалённой стали, а говно желательно бы заменить на чистый чернозём… И тогда - уже получается другая стоимость решения вопроса… И только профи, т.е. тот, кто весь этот путь “перемешивания говна” уже прошёл и знает как нужно, чтобы сразу и гарантированно получить результат, может сразу сказать и метод решения, и цену вопроса.

Вемос Д1 не намного больше и ног там достаточно. По крайней мере обсуждаемый экран - точно в разы больше.

Именно так и придётся решить поставленную в заголовке задачу, а именно использовать не Wemos Mini, а сам модуль, например, ESP-12F или ESP8266, предварительно его запрограммировав: и ног хватит, и габариты будут минимальные, и 8575 не понадобится…

Так что, считаю задачу решённой, вернее так: задача модифицировалась в заведомо решённую. т.к. вы правы, что

Тс, бросайте заниматься фигней, пора взрослеть.

Благодарю Вас, b707, за “пинок” в правильном направлении! )) Вы “привели меня в чувства” и напомнили мне, что я не школьник, а 50-и летний инженер. :wink: А дельный совет, данный вовремя и к месту, дорогого стоит. Именно его мне и не хватало. Браво, b707!

З.Ы.: Как когда-то давно в конце 80-х нас (меня и мой физ-мат. класс) в школе учил учитель по программированию: “-Всегда сводите вашу задачу, которую вам необходимо решить, к уже решённой вами, или кем то ещё, и отработанной на практике. Это нужно чтобы не изобретать велосипед и чтобы не делать кучу новых ошибок при программировании, которые придётся придумывать, как вам решить…”