Уважаемые пользователи! Наш сайт и форум содержится на средства полученные от рекламы. Если вы хотите и дальше продолжать общаться, скачивать, и т.п. пожалуйста отключите блокировку рекламы для нашего сайта/форума. Можно и покликать по рекламным ссылкам, так будут больше выплаты. Спасибо за понимание!

Разработки ecoins

Библиотеки для разных контроллеров

ecoins
Лейтенант
Сообщения: 655
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 95
Откуда: Шатура
Имя: Энвер

Разработки ecoins

#601

Сообщение ecoins » 26.05.2020{, 11:32}

tolochko писал(а):
26.05.2020{, 07:52}
Действительно сейчас посмотрел в моем случае можно обойтись обычными блоками
Я просто еще логику не переключил под ваши блоки
Переделаю спасибо за подсказку
Подключил энкодер - у Вас в проекте были неточности. Сделал на простых блоках.
И немного по другому оформил - как в ecoins принято. Но без диспетчера - а его мы в своих проектах ставим всегда.
Период получился 125мкс.
Копия IMG_2699.jpg
Схема тестаПоказать
Схема теста.png
Eсoins LCD_v3_260520.flp
(710.12 КБ) 30 скачиваний
---
Не забудьте поменять адрес LCD на свой (в Вашем проекте он был 39, а здесь 62).

tolochko
Сержант
Сообщения: 106
Зарегистрирован: 30.11.2016{, 16:58}
Репутация: 0
Откуда: Днепропетровск

Разработки ecoins

#602

Сообщение tolochko » 26.05.2020{, 21:26}

ecoins спасибо за помощь начинаю вникать в ваши блоки
И все же один нюанс остался
У меня 28 счетчиков я разбил их на 4 группы чтобы было читабильно на дисплеее
Они имеют заголовок от 1 до 28 а вашем проекте я смогу поставить заголовок от 1 до 7 так как заголовок меняеться только в блоке

ecoins
Лейтенант
Сообщения: 655
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 95
Откуда: Шатура
Имя: Энвер

Разработки ecoins

#603

Сообщение ecoins » 26.05.2020{, 22:12}

tolochko писал(а):
26.05.2020{, 21:26}
Они имеют заголовок от 1 до 28 а вашем проекте я смогу поставить заголовок от 1 до 7 так как заголовок меняеться только в блоке
1.Блоки lcd.str позволяют выводить строковые переменные любой длиной, ограниченные только кол-во колонок дисплея.
2.Блоки lcd.txt - тоже самое, разница в том, что заголовки прописываются внутри блока и вызываются по номеру заголовка.
3.Блоки lcd.val и вывод lcd.float могут иметь также поле любой длины, ограниченные кол-во колонок дисплея.
----
Блоки lcd.txt позволяют прописаться до 5-ти заголовков, но если доработать функцию setVal(num)
switch(n){default: n=1;
case 1: val= ТЕКСТ_1 ; break;
case 2: val= ТЕКСТ_2 ; break;
case 3: val= ТЕКСТ_3 ; break;
case 4: val= ТЕКСТ_4 ; break;
case 5: val= ТЕКСТ_5 ; break;
}
то может быть нужное кол-во заголовок.
--------------------------------
Если правильно понял вопрос, то ответил.

tolochko
Сержант
Сообщения: 106
Зарегистрирован: 30.11.2016{, 16:58}
Репутация: 0
Откуда: Днепропетровск

Разработки ecoins

#604

Сообщение tolochko » 26.05.2020{, 22:27}

Спасибо буду разбираться

ecoins
Лейтенант
Сообщения: 655
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 95
Откуда: Шатура
Имя: Энвер

Разработки ecoins

#605

Сообщение ecoins » 26.05.2020{, 23:00}

tolochko писал(а):
26.05.2020{, 22:27}
Спасибо буду разбираться
И если Вам действительно нужно отображать состояние 28 счетчиков, Вы можете использовать 4-е дисплея 20х4.
Библиотека поддерживает до 15 LCD, тормозить проект не будет.
Последний раз редактировалось ecoins 26.05.2020{, 23:38}, всего редактировалось 1 раз.

tolochko
Сержант
Сообщения: 106
Зарегистрирован: 30.11.2016{, 16:58}
Репутация: 0
Откуда: Днепропетровск

Разработки ecoins

#606

Сообщение tolochko » 26.05.2020{, 23:17}

Все данные выводятся на скаду
Дисплей это на всякий случай если что то случится с компом
Мне главное чтобы счетчики не тормозили недели 3 еще есть пока границы не открыли
буду пробавать разные варианты

ecoins
Лейтенант
Сообщения: 655
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 95
Откуда: Шатура
Имя: Энвер

Разработки ecoins

#607

Сообщение ecoins » 26.05.2020{, 23:39}

tolochko писал(а):
26.05.2020{, 23:17}
Мне главное чтобы счетчики не тормозили недели 3 еще есть пока границы не открыли
буду пробавать разные варианты
Успехов.
P.S. Сами дисплеи подключать постоянно не обязательно - они могут подключаться/отключаться в "горячем" режиме.

ecoins
Лейтенант
Сообщения: 655
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 95
Откуда: Шатура
Имя: Энвер

Разработки ecoins

#608

Сообщение ecoins » 29.05.2020{, 21:30}

НУЖНА КОНСУЛЬТАЦИЯ, ПОМОЩЬ, НАВОДКА по шине 1-Wire (вопрос тем, кто в теме).
----------------------------
Добрался наконец до библиотеки 1-Wire - OneWire.h.
Она используется в FLProg, Arduino IDE.
Там есть что поправить (в т.ч. и по задержкам по времени), да и библиотеки с одним наименованием попадаются разные.
Первое желание при знакомстве с библиотекой это отказаться от управления пинами напрямую(через номер регистра и маску) и
перевести на операторы pinMode(),digitalRead(),digitalWrite(). Они конечно помедленнее, но зато компактнее и на время преобразования это практически не влияет.
Вроде бы никаких противоречий нет.
К слову так написано у AlexGyver и вроде проблем нет.
Раньше сталкивался с подобным - делалось так для совсем младших контроллеров (8мгц и ниже), и то мне кажется все успевать будет.
Или есть какая-то глубокая мысль, или это издержки древности прототипа библиотеки она уже в 2007г. дорабатывалась. Возможно даже с 2000г. фирма Dallas написала 1-ю версию.
Или это писалось до Arduino IDE, а теперь только дорабатывается.
------------------------------
Внешне конечно выглядит и заумно, и "уродливо" (если конечно там нет потайного смысла).
-------------------------------
Если у кого-то есть рекомендации, возможно меня это освободит от ненужной работе.
Делать начал, но вдруг при глубоком тестировании возникнет нечтo?
Можно конечно оставить в основе то, что есть - но "глаза на это не хотят смотреть"!

ecoins
Лейтенант
Сообщения: 655
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 95
Откуда: Шатура
Имя: Энвер

Разработки ecoins

#609

Сообщение ecoins » 01.06.2020{, 16:17}

Ответ на вопрос пользователя.
--------------------------------------------------
Блок MCP23017 активно используем и он в отличии от стандартного "не тормозит".

Прикрепленный блок содержит более подробное описание и по нему проще будет освоить его использование:
БЛОК ВВОДА-ВЫВОДА mcp23017/mcp23s17
1. Блок содержит два 8-разрядных регистра A и B, каждый из которых может настроен на вывод или ввод.
2. Настройка режимов работы регистров А и В:
R -ввод с инверсией и подтяжкой входов к +Vcc. Выполняется при каждом обращении к регистру.
r - ввод. Выполняется при каждом обращении к регистру.
w - вывод. Выполняется при каждом обращении к регистру.
W -вывод с записью по изменению. Выполняется при инициализации(1 раз) и при каждом
изменении значения регистра.
Использование режим W существенно разгружает шину i2c, и соответственно проект меньше "тормозит".
3. Обмен с регистрами осуществляется через шину i2c по адресу=adr или через SPI через пин cs=adr.
3. Если входное значение адреса устройств=adr <0, устройство не используется.
4. Для i2c: Обычно mcp23017 выпускаются с базовым адресом 0x20 (32 десятичный).
Это адрес по умолчанию установлен в библиотеке как "базовый адрес".
Пространство адресов может меняться входами a0,a1,a2 mcp23017 - всего восемь адресов.
Для удобства возможно применение значение аdr в диапазоне 0-7, он будет преобразован в 32/38.
5. Алгоритм поиска устройства на шине i2c. Период опроса в режиме поиска устройства постепенно
увеличивается со 100 мс до 2 сек с шагом 100 мс. После обнаружения устройства оно инициируется и
работа с ним выполняется в периодом опроса, определенный параметром пользователя
ПЕРИОД ОБНОВЛЕНИЯ В ТИКАХ 10_МС пока не будет обнаружено устройство.
6. Обмен с регистрами выполняется с периодом = ПЕРИОД ОБНОВЛЕНИЯ В ТИКАХ 10_МС.
Например, если значение этого параметра =5(установлен по умолчанию), период=10 х 5=50 мс.
7. Если ПЕРИОД ОБНОВЛЕНИЯ В ТИКАХ 10_МС=0, то обмен с регистрами выполняется
при каждом обращении к блоку.
8. Вход EN разрешает работу блока. Через этот вход можно также управлять периодом обмена с устройством.
В этом случае удобнее установить ПЕРИОД ОБНОВЛЕНИЯ В ТИКАХ 10_МС=0.
9. Если требуется управление через побитовое управление или побитовое чтение, можно применить стандартные
блоки FLProg из меню "Операции с битами": Bits->Byte, Byte->Bits.
10. Параметр пользователя ИНТЕРФЕЙС ПОДКЛЮЧЕНИЯ может принимать два значения (по умолчанию 'i'):
'i' - интерфейс i2c (используется чип mcp230170);
's' - интерфейс SPI (используется чип mcp23s170);
11. Параметр пользователя ИНИЦИАЛИЗИРОВАТЬ ИНТЕРФЕЙСЫ может принимать два значения (по умолчанию 'Y'):
'Y' - инициируется используемые интерфейсы функциями Wire.begin() или SPI.begin();
'N' - инициализация не выполняется. В этом случае считается, что интерфейсы уже инициализированы.
Опция может быть полезна при использовании контроллеров с настраиваемым пинами интерфейсов,
например ESP8266.
Примечание: со временем этот параметр будет устранен из параметров пользователя.
-----------------------------------------------------------------------------------------------------------------------------------
ecoins@mail.ru 12.07.19; 21.07.19; 28.10.19. new 07.04.2020, 01.06.20.
--------------------
Если у Вас возникают трудности, сделайте автономно работающий фрагмент проекта на стандартном блоке FLProg,
а мы доработаем под блок ecoins.
Последний раз редактировалось ecoins 01.06.2020{, 18:19}, всего редактировалось 1 раз.

Gordon0007
Рядовой
Сообщения: 85
Зарегистрирован: 19.04.2018{, 13:37}
Репутация: 12
Откуда: Набережные челны
Имя: Павел

Разработки ecoins

#610

Сообщение Gordon0007 » 01.06.2020{, 17:14}

ecoins, Так не смог адаптировать ваш блок и заставить его работать :smile390:
Проверка MCP23017 урезаная.flp
(661 КБ) 16 скачиваний

ecoins
Лейтенант
Сообщения: 655
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 95
Откуда: Шатура
Имя: Энвер

Разработки ecoins

#611

Сообщение ecoins » 01.06.2020{, 20:07}

Gordon0007 писал(а):
01.06.2020{, 17:14}
ecoins, Так не смог адаптировать ваш блок и заставить его работать
Проверка MCP23017 урезаная.flp
1.Ваш пример для ESP32.
2.Проверил его ESP32 - контроллер висит.
3.Проверил его на Nano - контроллер висит.
4.Раньше я проверял стандартные блоки FLPtog и они работали. Что-то в них либо убрали, либо еще что-то...
Разбираться и не хочется и не стоит. И вот почему -->(пункт 5).
5. FLProg в начале кода, впереди всех плат вставляет следующий код по блоку MCP23017
_MCP2307_1_O_IO1 = _MCP2307_1.digitalRead(0);
_MCP2307_1_O_IO2 = _MCP2307_1.digitalRead(1);
_MCP2307_1_O_IO3 = _MCP2307_1.digitalRead(2);
_MCP2307_1_O_IO4 = _MCP2307_1.digitalRead(3);
_MCP2307_1_O_IO5 = _MCP2307_1.digitalRead(4);
_MCP2307_1_O_IO6 = _MCP2307_1.digitalRead(5);
_MCP2307_1_O_IO7 = _MCP2307_1.digitalRead(6);
_MCP2307_1_O_IO9 = _MCP2307_1.digitalRead(8);
_MCP2307_1_O_IO10 = _MCP2307_1.digitalRead(9);
_MCP2307_1_O_IO11 = _MCP2307_1.digitalRead(10);
_MCP2307_1_O_IO12 = _MCP2307_1.digitalRead(11);
_MCP2307_1_O_IO13 = _MCP2307_1.digitalRead(12);
_MCP2307_1_O_IO14 = _MCP2307_1.digitalRead(13);
_MCP2307_1_O_IO15 = _MCP2307_1.digitalRead(14);

Во-первых забыт один вход - 15.
Во-вторых каждый цикл loop() даже если плата не вызывается (например выполнение по условию),
выполняется 15 транзакций через шину i2c - а это результат гарантированного торможения.
И еще там есть похожие проблемы.

6.На блоках ecoins проверил на вывод. Все хорошо работает.
7.Со вводом - надо стенд немного перестроить - сегодня постараюсь сделать.

ecoins
Лейтенант
Сообщения: 655
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 95
Откуда: Шатура
Имя: Энвер

Разработки ecoins

#612

Сообщение ecoins » 02.06.2020{, 14:36}

Gordon0007 писал(а):
01.06.2020{, 17:14}
ecoins, Так не смог адаптировать ваш блок и заставить его работать
Проверка MCP23017 урезаная.flp
------
1.Работало на Nano,ESP8266 - c ESP32 возникли нюансы по вводу (очень уж он быстрый). Пришлось немного "отполировать" библиотеку.
2.Прикрепляю библиотеку.
RT_11_HW_MCP23017_2.2.ZIP
(16.13 КБ) 23 скачивания
3.На основании Вашего проекта сделал вариант - вместо 18 пина использую 25 пин (мне на стенде так удобнее - на 18 пине SPI).
Проверка MCP23017 урезаная_в03_ESP32.flp
(811.07 КБ) 20 скачиваний
Схема проектаПоказать
Схема mcp23017 ESP32.png
4.На пине 4 контрольный сигнал для контроля цикла loop() - на ESP32 это "летает" 10 мкс. Если ввести диспетчер будет меньше 3мкс.
5.На плате 2 - её можно отключить - на LCD 16x2 вывод всех регистров 2-х mcp23017 и мерцающий символ.
Период loop() 10мкс - это вместе с дисплеем.

Gordon0007
Рядовой
Сообщения: 85
Зарегистрирован: 19.04.2018{, 13:37}
Репутация: 12
Откуда: Набережные челны
Имя: Павел

Разработки ecoins

#613

Сообщение Gordon0007 » 02.06.2020{, 16:47}

попробовал залит зависло
error.log
(36.88 КБ) 14 скачиваний

ecoins
Лейтенант
Сообщения: 655
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 95
Откуда: Шатура
Имя: Энвер

Разработки ecoins

#614

Сообщение ecoins » 02.06.2020{, 18:45}

Попробуйте последовательно сделать следующие вещи:
1.В FLProg установите какой-нибудь нейтральный контроллер - например Nano или Mega.
На этом этапе это позволит убрать все настройки ESP32, которые добавляет FLProg - например сторожевой таймер.
Было бы хорошо, если бы в скетче оставался бы только код, который связан с тем что, размещено на плате.
При загрузке из Arduino IDE указывайте контроллер ESP32 Dev Module.
2. Распространенная причина - это проблемы с i2c - пины 21,22 надо подтянуть к Vcc(3.3v).
3. На второй плате подключен LCD. Сделайте проект - оставьте только плату 2 (если просто закомментировать плату 1, то со входов LCD надо убрать название клемм - иначе будет ошибка компиляции.).
На экране в первой позиции должен мерцать символ "звездочка".
4. Можете прислать мне скетч, который грузится в контроллер - может я что-нибудь увижу в нем проблемное.
5. Сейчас еще раз попробую загрузить и напишу.

ecoins
Лейтенант
Сообщения: 655
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 95
Откуда: Шатура
Имя: Энвер

Разработки ecoins

#615

Сообщение ecoins » 02.06.2020{, 19:06}

Попробовал еще раз.
FLProg 6.3.1. Контроллер в FLProg выбран ESP32.
Только две дополнительные библиотеки:
Проверка MCP23017 урезаная_в03_ESP32_2.flp
(787.09 КБ) 14 скачиваний
RT_11_HW_MCP23017_2.2.ZIP
(16.13 КБ) 21 скачивание
RT_10_HW_LCD44780_v2.3.zip
(27.49 КБ) 19 скачиваний
pr1_mc23017_FLProg.ino
(10.29 КБ) 14 скачиваний
----
Работает.
------
Вы прислали error.log - это файл FLProg?
Вы до компиляции и загрузке Arduino доходили - скетч грузится?

ecoins
Лейтенант
Сообщения: 655
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 95
Откуда: Шатура
Имя: Энвер

Разработки ecoins

#616

Сообщение ecoins » 02.06.2020{, 19:19}

Стенд.jpg
НастройкиПоказать
Настройка ESP32.jpg
Два модуля mcp23017Показать
Две mcp23017.jpg
-----
Дополнительная визуальная информация - может будет полезна.

Gordon0007
Рядовой
Сообщения: 85
Зарегистрирован: 19.04.2018{, 13:37}
Репутация: 12
Откуда: Набережные челны
Имя: Павел

Разработки ecoins

#617

Сообщение Gordon0007 » 04.06.2020{, 09:29}

ecoins, добрый день спасибо что помогаете мне, вчера не смог добраться до компьютера (ездил в др. город в больницу).
Все заработало и прошилось, сделал по вашей инструкции.
Win7(64), FLProg 6.3.1, Контроллер в FLProg выбрал ESP32.

Реле переключается, модуль для приема сигналов DI работает и отправляет в контроллер данные
Но есть, но
1. Почему то у меня реле работает в инверсном виде (видимо у меня другая реле они бывают с постоянным "+" или "-"). Все реле кроме одного включены ну и по очереди выключаются и включаются.
СпойлерПоказать
WhatsApp Image 2020-06-04 at 08.29.22.jpeg
WhatsApp Image 2020-06-04 at 08.29.23.jpeg
2. На второй плате MCP23017 в исходнике модуль работает не только как DI, а как DI/DO (видимо по этой причине вы не нашли 15 пин). В данный момент там стоит два светодиода и по очереди моргают подтверждая, что связь с платой есть. В дальнейшем это будет работать как - нажал кнопку и на этой же плате загорается светодиод потверждающий нажатие кнопки и что контроллер обработал нажатие и обработал прекращение нажатой кнопки, тем самым уменьшается пучок проводов до кнопок и светодиодов.
Во-первых забыт один вход - 15.
Снимок 23017.PNG
Это кусок кода, который я собираюсь использовать для своего аквариума, проект большой и интересный. Мне нужно было разобраться с данным модулем как он работает и столкнулся с зависанием при его использование. Если интересно могу скинуть перечень сигналов и оборудования которое будет использоваться в моем проекте. Причина использования ESP32 и модулей расширения в том, что хочу сделать управление через комп/телефон и не хватает портов управления.

Есть у меня еще вопросы, если можно по задаю:
1. как управлять каждым каналом в отдельности, как встроенного блока?
2. Можно ли использовать как модуль ввода/вывода или только по отдельности ввод или вывод?
3. На какую длинны максимально можно выводить провода от контроллера до модуля (у меня в с вашей прошивкой не зависает про длине проводов 20см)?
4. Можно ли после испытания этих блоков согласовать с автором "Сергеем" их использование как штатные блоки в новых версиях программы?
5. Так же мне не очень понятны как и где присваиваются ноги контроллера ESP32, МЕГИ и УНЫ, они же разные (в родном блоке все прозрачно)? Ну и у ESP32 2 x I2C а у остальных по одному.
6. этот вопрос может быть моим не верным суждением но, мне хочется как можно больше использовать штатные блоки, что бы не зависить от пользовательских блоков при изменение версии программы. Можно ли как то договориться с создателем для внесения в штатные блоки проверенные блоки пользователей, что бы при изменение программы не искать библиотеки и ПБ?

ecoins
Лейтенант
Сообщения: 655
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 95
Откуда: Шатура
Имя: Энвер

Разработки ecoins

#618

Сообщение ecoins » 04.06.2020{, 12:22}

Gordon0007 писал(а):
04.06.2020{, 09:29}
1. как управлять каждым каналом в отдельности, как встроенного блока?
1. Побитное управление отброшена - что один бит, что 8 бит требует одного времени при обмене с i2c. При SPI это еще и могло иметь смысл. Общая рекомендация такая - ставьте дополнительные модули, если есть проблемы с нехваткой входов при порегистровой (побайтной) настройке.
Gordon0007 писал(а):
04.06.2020{, 09:29}
2. Можно ли использовать как модуль ввода/вывода или только по отдельности ввод или вывод?

В библиотеке каждый из двух регистров А и B могут работать в одном из режимов - ввод или вывод: например А на ввод и В на выход, или А и В на выход и т.д.
Gordon0007 писал(а):
04.06.2020{, 09:29}
3. На какую длинны максимально можно выводить провода от контроллера до модуля (у меня в с вашей прошивкой не зависает про длине проводов 20см)?
Поставьте поменьше подтягивающие резисторы к пинам 21,22 (SDA,SCL) - i2c будет работать устойчивее. Ошибки обрабатываются еще и библиотекой и потому модуль работает устойчиво.
Gordon0007 писал(а):
04.06.2020{, 09:29}
4. Можно ли после испытания этих блоков согласовать с автором "Сергеем" их использование как штатные блоки в новых версиях программы?

Думаю всему своё время. Это возможно. Но у автора есть свои представления, а то что мы делаем не всегда совпадает с этими представлениями.
Gordon0007 писал(а):
04.06.2020{, 09:29}
5. Так же мне не очень понятны как и где присваиваются ноги контроллера ESP32, МЕГИ и УНЫ, они же разные (в родном блоке все прозрачно)? Ну и у ESP32 2 x I2C а у остальных по одному.
SDA,SCL UNO - 18,19 (или А4,А5) - не меняются;
SDA,SCL MEGA - 20,21 - не меняются;
SDA,SCL ESP32 - 21,22 - могут быть перенастроены на другие пины;
Gordon0007 писал(а):
04.06.2020{, 09:29}
6. этот вопрос может быть моим не верным суждением но, мне хочется как можно больше использовать штатные блоки, что бы не зависить от пользовательских блоков при изменение версии программы. Можно ли как то договориться с создателем для внесения в штатные блоки проверенные блоки пользователей, что бы при изменение программы не искать библиотеки и ПБ?
Вопрос несколько сложнее. Часть блоков (например счетчики) у нас автономные. Блоки для работы с устройствами основаны на собственных библиотеках и их всегда надо подключать к FLProg в директорию ideV5. Сейчас мы реализуем собственную концепцию библиотек для Arduino IDE, библиотеки развиваются вместе с концепцией. В концепции применен другой подход по совместимости проекта с разными контроллерами - он сильно отличается от текущего подхода FLProg.
О взглядах и планах автора в этой части (переносимость проектов вплоть до кода проекта) нам не известно. Предполагаем, что он пока просто наблюдает.
Последний раз редактировалось ecoins 07.06.2020{, 13:32}, всего редактировалось 1 раз.

ecoins
Лейтенант
Сообщения: 655
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 95
Откуда: Шатура
Имя: Энвер

Разработки ecoins

#619

Сообщение ecoins » 04.06.2020{, 12:29}

Gordon0007 писал(а):
04.06.2020{, 09:29}
Реле переключается, модуль для приема сигналов DI работает и отправляет в контроллер данные
Но есть, но
1. Почему то у меня реле работает в инверсном виде (видимо у меня другая реле они бывают с постоянным "+" или "-"). Все реле кроме одного включены ну и по очереди выключаются и включаются.
Не понял о каких блоках Вы пишите. Если о наших то любой бит можно проинвертировать по входу (байт в 8-бит и 8-бит в байт) или все одновременно через блок вычитания (255-значение байта).
Gordon0007 писал(а):
04.06.2020{, 09:29}

2. На второй плате MCP23017 в исходнике модуль работает не только как DI, а как DI/DO (видимо по этой причине вы не нашли 15 пин). В данный момент там стоит два светодиода и по очереди моргают подтверждая, что связь с платой есть. В дальнейшем это будет работать как - нажал кнопку и на этой же плате загорается светодиод потверждающий нажатие кнопки и что контроллер обработал нажатие и обработал прекращение нажатой кнопки, тем самым уменьшается пучок проводов до кнопок и светодиодов.
Во-первых забыт один вход - 15.

В посте выше я привел код С++, последний бит который читается - это 14. 15-го нет. Возможно там как-то сложнее - просто обратил внимание.

Gordon0007
Рядовой
Сообщения: 85
Зарегистрирован: 19.04.2018{, 13:37}
Репутация: 12
Откуда: Набережные челны
Имя: Павел

Разработки ecoins

#620

Сообщение Gordon0007 » 04.06.2020{, 17:00}

ecoins писал(а):
04.06.2020{, 12:22}
SDA,SCL ESP32 - 20,21 - могут быть перенастроены на другие пины;
Где это можно переназначить в FLprog?

Ответить

Вернуться в «Библиотеки пользователей»