как узнать зачение цифрового выходы.
- Войдите на сайт для отправки комментариев
Втр, 04/02/2014 - 20:41
Добрый вечер.
Мне нужно ,чтобы на экране печаталось,когда цифровой выход имеет значение 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");}
Как решить данную проблему?
if (LedPin == High) - нельзя.
Но можно использовать некий признак, т.е переменную которая будет принамать значение "1" если LedPin - HIGH и "2" если LOW, и вот ее уже можно проверять. Т.е просто добавит после
digitalWrite (ledpin, HIGH);
k=1;
digitalWrite (ledpin, LOW);
k=2;
if (k==1) ....
Ну в общем принцип понятен?
Да,спасибо огромное.
lcd.print(digitalRead(pin));
lcd.print(digitalRead(pin));
так для digitalRead надо переводить выход на режим входа?
pinMode(ledPin, OUTPUT);
Просто читаем пин. digitalRead(pin)
Если он в режиме входа - возвращает то, что на входе.
Если он в режиме выхода - возвращает то, что вы туда в последний раз записывали digialWrite -ом
так для digitalRead надо переводить выход на режим входа?
pinMode(ledPin, OUTPUT);
особо не заморачивался на эту тему - просто беру и читаю состояние любых пинов, которые меня интересуют.
удобно при отладке - навесить на состояние пина светодиод или на LCD вывести значение.