В программе есть переменные, в которых хранится состояние реле, это
relays_state1,2,3,4
Вставляем в программу в программу в начало процедуры setup
pinMode(x, OUTPUT), где х - номер пина.
Далее в процедуру relay_state добавляем следующий кусок для каждого реле:
------------------------------------------------
if (relays_state1 && 0x01)==0 //проверяем наличие нулевого бита
{
digitalWrite(х, LOW); //сбрасываем выход
}
else
{
digitalWrite(х, HiGH);//устанавливаем выход
}
--------------------------------------------
для реле 2 использовать 0x02, 3 - 0x04, 4-0x08 и так далее
P.S.
Есть правда одна тонкость: Bersenev отправляет их на порт в обратном порядке (4,3,2,1), почему так - не знаю, и есть вероятность что первое реле на самом деле находится relays_state4, также возможен обратный порядок битов и тогда проверять надо (relays_state4 && 0x80) для первого реле, (relays_state4 && 0x40) для второго и так далее. Также есть вероятность
Последний раз редактировалось Trantor; 12.02.2016 в 16:36.
|