Здравствуйте
Существует ли возможность подключить датчик расхода воды YF-S201 через расширитель портов pcf8574?
как в функции
…
pcf8574.pinMode(P0, INPUT); // ЖелтыйПроводСенсора первого YF-S201
pcf8574.pinMode(P1, INPUT); // ЖелтыйПроводСенсора вторго YF-S201
В принципе меня это устроит т.к. у меня 2 pcf8574
Как раз хватит на два датчика
В файле PCF8574.h есть конструктор типа:
PCF8574(0x20, uint8_t interruptPin, void (*interruptFunction)() );
PCF8574(0x21, uint8_t interruptPin, void (*interruptFunction)() );
И есть функция void attachInterrupt();
В конструкторе испотзуется uint8_t interruptPin
Если на контроллере только один такой пин то зачем и главное как его указать при создании объекта.
flowsensor =interruptPin;
//Как в настройках пина указать сам пин INT?
//P0-P7 я так и указывал например PCF_20.pinMode(P0, INPUT);
//Чему равно flowsensor lля INT?
PCF_20.pinMode(flowsensor, INPUT);
PCF_20.digitalWrite(flowsensor, HIGH);
PCF_21.pinMode(flowsensor, INPUT);
PCF_21.digitalWrite(flowsensor, HIGH);
Надо два датчика YF-S201 зацепить через расширитель портов pcf8574 ну или через два расширителя
Собственно надо два датчика подключить к Wemos D1R1 но из свободных пинов остались только аналоговые и D0 (он же Rx он же GPIO3) еще есть 2шт pcf8574
на одном pcf8574 висит клавиатура 4*4 какраз INT не занят на втором pcf8574 висит два реле. Пины Wemos D1R1 заняты под экран ST7735 CD карту и pcf8574
Очень не хочется менять Wemos D1R1, потому что я под него уже сделал распаечную плату.
До 200х импульсов в секунду, с учетом того, что rtos работает на частоте 100 тиков, плюс софтварный i2c на 8266. Такой себе фарш получится.
Как всегда, мода экономить 50 рублей на железе выливается в 50 часов геморроя.
В общем придется мне под другой контроллер распаечную платку запилить.
Но так для справки если все же кто-то захочет вдруг
как код в кучу собрать
PCF8574(0x20, uint8_t interruptPin, void (*interruptFunction)() );
что указывать в параметре interruptPin
PCF_20.pinMode(flowsensor, INPUT);
PCF_20.digitalWrite(flowsensor, HIGH);
что указывать в параметре flowsensor
и если
Это ВЫХОДНОЙ пин прерывания для контроллера, а не для датчиков. Он действует на все входы.
то получается что одновременно будут либо YF-S201 либо например клавиатура
interruptFunction будет вызываться всякий раз когда клавиша нажимается и отпускается и чтоб как-то более мнение работало придется под YF-S201 всю плату отдать? и желтый провод датчика без разницы к какому P0-P7 подключать, а
PCF_20.pinMode(flowsensor, INPUT);
PCF_20.digitalWrite(flowsensor, HIGH);
для всех P0-P7?
Прерывание будет срабатывать от любого входа, а дальше уже вам нужно будет смотреть, какой вход его вызвал. В принципе все так же как pcint на контроллере.
Подробнее не могу, я в дороге.