Соединение дискретных входов двух контроллеров

kandiral
Offline
Зарегистрирован: 15.04.2017
Здравствуйте, уважаемые форумчане!
 
Есть два контроллера Arduino UNO. Оба подключены по USB к одному компьютеру. У контроллеров соединены дискретные входа №2 и земля. На первом контроллере установлен экран LCD Keypad Shield.
 
Скетч первого контроллера:
#include <LiquidCrystal.h>

LiquidCrystal lcd(8,9,4,5,6,7);
bool b=false;

void setup() {
  pinMode(2, INPUT);
  lcd.begin(16, 2);
  lcd.clear();
  lcd.print("FALSE");
}

void loop() {
  bool b0=digitalRead(2)==HIGH;
  if(b!=b0){
    b=b0;
    lcd.setCursor(0,0);
    lcd.print(b ? "TRUE " : "FALSE");
  }
}

 

 
Скетч второго контроллера:
void setup() {
  pinMode(2, OUTPUT);
}

void loop() {
  digitalWrite(2,LOW);
  delay(1000);
  digitalWrite(2,HIGH);
  delay(1000);
}

 

 
По идее на экране первого контроллера должны меняться надписи TRUE/FALSE, но там постоянно висит FALSE. Скорее всего я не правильно соединил входа контроллеров.
 
Как правильно соединять дискретные входа контроллеров?
Клапауций 112
Клапауций 112 аватар
Offline
Зарегистрирован: 01.03.2017

проводами соединять правильно - двумя проводами.

  bool b0=digitalRead(2); // ==HIGH;

kandiral
Offline
Зарегистрирован: 15.04.2017

То есть, напрямую соединяются вход-выход и земля?

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

kandiral пишет:

То есть, напрямую соединяются вход-выход и земля?

да

Гриша
Offline
Зарегистрирован: 27.04.2014

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

kandiral пишет:

То есть, напрямую соединяются вход-выход и земля?

да

ИМХО  я бы сопрот на 500 между поставил, вдруго ногам плохо станет от "кривой строки" аналогично как в работе с кнопкой.