pinMode помогите

Skeep
Offline
Зарегистрирован: 30.05.2013

плата arduino due. Есть тумблре которые имеет 3 вывода, первый вывод, он общий, я подключаю к цифровому выводу 2, а второй и третий к выходам 0 и 1. 

В программе у меня будет условие: я 2 вывод делаю OUTPUT и подаю на него HIGH. Далее я тумблером переключаюсь между одним и вторым состоянием, а в программе для выполнения условия читаю сотояние входов 0 и 1. Я хочу чтобы сигнал с выхода 2 по переключению тумблера ишел или на 0-вой входи или на 1-й. Но проблема в том, что когда я заливаю эту программу на всех 3 входах стоит высокий уровень. ЧТО ДЕЛАТЬ? 

pinMode (0, INPUT);
pinMode (1, INPUT);
pinMode (2, OUTPUT);
pinMode (12, OUTPUT);
}
void loop() 
{
digitalWrite (12, HIGH);
 digitalWrite(2, HIGH);
 int x=digitalRead(0);
 int y=digitalRead(1);
  if (x==HIGH)
....
...
...
Michal
Michal аватар
Offline
Зарегистрирован: 26.04.2013

м/б подтягивающе резисторы на порту включены... выключите их или подавайте 0 на вход

да и вообще на tx0 и rx0 лучше вообще не садить ничего

Skeep
Offline
Зарегистрирован: 30.05.2013

а как выключить? 

Michal
Michal аватар
Offline
Зарегистрирован: 26.04.2013
pinMode(pin, INPUT);           // назначить выводу порт ввода
digitalWrite(pin, LOW);

вот так

тут посотрите про пины написано.

Если вам надо более продвинуто управлять армом, то надо переходить на ASF от атмел или в др. среде писать

Skeep
Offline
Зарегистрирован: 30.05.2013

А можно пин INPUT на землю замыкать без резистора? 

Michal
Michal аватар
Offline
Зарегистрирован: 26.04.2013

подтягивающее включите и замыкайте

Michal
Michal аватар
Offline
Зарегистрирован: 26.04.2013

а вообще посмотрите в инете как подключаются кнопки и т.п.... главное в DUE 5В не подайте на ножку