vovad153 писал(а): 09 фев 2021, 08:04
Приветствую .
Возможно ли сделать пользовательский блок для программы ...
... и еще , чтобы RX иTX не 1и0 а. 2и3
Благодарю
Здравствуйте! Возможно, и такого рода блок может быть полезен в качестве например безпроводного BT-, Wi-Fi-, RF-, или проводного USB-, I2C-, RS232/RS485- и т.п. многоканального реле (исполнительного устройства). Если Вы готовы приложить собственные усилия, вот Вам демопроект, с блоком- тестируйте. Я не имею в наличии НС-05/06, и не хочу устанавливать не нужных мне приложений, потому с помощью Андроид-приложения "Serial BT terminal" и BlueTooth моcта DX-BT18 проверил проект (отправка комманд, прием сообщений состояний/подтверждения выполнения) на полностью HW Serial, на совмещении HW Serial <-> SW Serial (TX-pin2, RX-pin3) и на полностью SWSerial - всё работает. Скетч предложенный Вами слишком примитивный, сделал по другому, с отправкой отчёта получения комманд и состояния выходов. С помощью 74НС595/164 (сдвиговых регистров) и штатных блоков можно умножить колличество каналов для управления реле до необходимых, что актуально для Wi-Fi мостов ESP-01, ESP-8285 M3 у коих ограниченное колличество выводов и если надо больше 8-каналов. Вам осталось - опробовать с Вашим Андроид приложением и Вашим, не знаю каким, из НС-05/НС-06/MTL-BT05/AT-09/HM-10 мостом.
FLProg преподнесла несколько сюрпризов: индексирует дефайны (потому блок можно использовать только один раз в проекте), и нужно ручками (если планируется применять дисплей) в скетче закомментировать/удалить "вредную строку" штатного блока LCD HD44780 , которая стремится очищать дисплей в каждом цикле

. Это она:
Код: Выделить всё
if (_isNeedClearDisp1) {_lcd1.clear(); _isNeedClearDisp1= 0;}
Потому выкладываю исправленный скетч, демо-проект алгоритма, [spoiler title=скрины, фото как это выглядит в реале]
HSerial_8RelayTerminal.png
DisplayRelayStates.jpg
[/spoiler]
Светодиоды демонстрируют работу выходов, комманды (символы) как и содержание сообщений можно переназначить в параметрах блока, верхняя строка дисплея- битовое представление состояния выходов, нижняя- последние управляющий символ и соответствующая выполненная комманда. Проект проверялся на Massduino UNO LC (MD328D) в режиме 3,3V чтобы не городить преобразователи уровней для DX-BT18 и на обычной Nano R3 ATmega328P для HardWare Serial (UART).
S_H_CMDSerial_8Relay.zip
Удачи!