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

kandiral
Offline
Зарегистрирован: 15.04.2017
Здравствуйте, уважаемые форумчане!
 
Есть два контроллера Arduino UNO. Оба подключены по USB к одному компьютеру. У контроллеров соединены дискретные входа №2 и земля. На первом контроллере установлен экран LCD Keypad Shield.
 
Скетч первого контроллера:
01#include <LiquidCrystal.h>
02 
03LiquidCrystal lcd(8,9,4,5,6,7);
04bool b=false;
05 
06void setup() {
07  pinMode(2, INPUT);
08  lcd.begin(16, 2);
09  lcd.clear();
10  lcd.print("FALSE");
11}
12 
13void loop() {
14  bool b0=digitalRead(2)==HIGH;
15  if(b!=b0){
16    b=b0;
17    lcd.setCursor(0,0);
18    lcd.print(b ? "TRUE " : "FALSE");
19  }
20}

 

 
Скетч второго контроллера:
01void setup() {
02  pinMode(2, OUTPUT);
03}
04 
05void loop() {
06  digitalWrite(2,LOW);
07  delay(1000);
08  digitalWrite(2,HIGH);
09  delay(1000);
10}

 

 
По идее на экране первого контроллера должны меняться надписи 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 между поставил, вдруго ногам плохо станет от "кривой строки" аналогично как в работе с кнопкой.