как узнать зачение цифрового выходы.

bezzeb
Offline
Зарегистрирован: 02.11.2013

Добрый вечер.
Мне нужно ,чтобы на экране печаталось,когда цифровой выход имеет значение High или Low.

Допустим используя пример

int ledPin = 13;                 // Светодиод подключенный к вход/выходу 13
void setup()
{
  pinMode(ledPin, OUTPUT);      // устанавливает режим работы - выход
}
 
void loop()
{
  digitalWrite(ledPin, HIGH);   // включает светодиод
  delay(1000);                  // ждет секунду
  digitalWrite(ledPin, LOW);    // выключает светодиод
  delay(1000);                  // ждет секунду
}

Нельзя же написать

if (LedPin == High) 

{lcd.print("ON");}

Как решить данную проблему?

flashman
Offline
Зарегистрирован: 04.02.2014

if (LedPin == High)  - нельзя.

Но можно использовать некий признак, т.е переменную которая будет принамать значение "1" если LedPin - HIGH и "2" если LOW, и вот ее уже можно проверять. Т.е просто добавит после

digitalWrite (ledpin, HIGH);

k=1;

digitalWrite (ledpin, LOW);

k=2;

if (k==1) ....

Ну в общем принцип понятен?

vdk
Offline
Зарегистрирован: 14.04.2013
myledPinValue=HIGH;
digitalWrite(ledPin, myledPinValue);
if (myledPinValue==HIGH) {lcd.print("ON");}

 

bezzeb
Offline
Зарегистрирован: 02.11.2013

Да,спасибо огромное.

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

lcd.print(digitalRead(pin));

bezzeb
Offline
Зарегистрирован: 02.11.2013

Клапауций пишет:

lcd.print(digitalRead(pin));

так для digitalRead  надо переводить выход на режим входа?

pinMode(ledPin, OUTPUT);

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Просто читаем пин.    digitalRead(pin)

Если он в режиме входа - возвращает то, что на входе.

Если он в режиме выхода - возвращает то, что вы туда в последний раз записывали digialWrite -ом

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

bezzeb пишет:

так для digitalRead  надо переводить выход на режим входа?

pinMode(ledPin, OUTPUT);

особо не заморачивался на эту тему - просто беру и читаю состояние любых пинов, которые меня интересуют.

удобно при отладке - навесить на состояние пина светодиод или на LCD вывести значение.