Считывание значений нескольких выходов

shurrup
Offline
Зарегистрирован: 06.01.2014

Друзья осваиваю ардуино. А как мне код написать, что если на двух выходах (именно выходах, установились HIHG, установить на третьем выходе HIGH.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

С выходов читается так же как и с входов..

if (digitalRead(pin)==HIGH && digitalRead(pin)==HIGH) digitalWrite(pin,HIGH);

 

shurrup
Offline
Зарегистрирован: 06.01.2014

Спасибо большое! И еще возник более интересный вопросик! А как мне предположим присвоить digitalRead(pin)==HIGH и digitalRead(pin2)==HIGH какие то числовые значения, ну предположим 3 и 4 при HIGH и HIGH; 0и0 при LOW и LOW, а затем их сложить и с результатом работать

maksim
Offline
Зарегистрирован: 12.02.2012

Зачем вы городите такой изврат?

int hernia = digitalRead(pin)*3+digitalRead(pin2)*4;

 

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Можно ввести промежуточные переменные, но мне кажется что вы что-то начинаете странное придумывать, наверняка есть более элегантное и очевидное решение. Какая у вас конкретная задумка, что потом делать с этими итоговыми 4 -мя вариантами состояний (0,3,4,7) ?

 

shurrup
Offline
Зарегистрирован: 06.01.2014

Понимаете есть три заслонки вентиляционные и трехскоростной общий вытяжной вентилятор и разные условия включения скоростей. Ну например если одна заслонка открылась включить первую скорость, еторуюсли вторая одна то вторую. Если первая и вторая, то вторую. если третья то вторая и т.д. Причем реле скоростей должно одно сработать. Вот я подумал присвоить каждой заслонки число и в зависимости от суммы чисел включать какое-то реле. У меня же выйдет так?

Dimus
Offline
Зарегистрирован: 25.11.2012

можно, для 3 заслонок числа 1,2,4 по сумме можно однозначно определить какая открыта, а какая закрыта

Клапауций
Offline
Зарегистрирован: 10.02.2013

shurrup пишет:

Понимаете есть три заслонки вентиляционные и трехскоростной общий вытяжной вентилятор и разные условия включения скоростей. Ну например если одна заслонка открылась включить первую скорость, еторуюсли вторая одна то вторую. Если первая и вторая, то вторую. если третья то вторая и т.д. Причем реле скоростей должно одно сработать. Вот я подумал присвоить каждой заслонки число и в зависимости от суммы чисел включать какое-то реле. У меня же выйдет так?

каждой заслонке присвоить "0" - закрыто, "1" - открыто, скорость вентилятора вычислять суммируя состояния заслонок, соответсвующий номер включаемого скоростного реле и получите в результате.

shurrup
Offline
Зарегистрирован: 06.01.2014

Спасибо большое, очень все помогли!