// Front Torpedo-Launcher LED 74HC 595 Q0
// Front Torpedo-Launcher BTN 74HC 165 D0
// Rear Torpedo-Launcher LED 74HC 595 Q1
// Rear Torpedo-Launcher BTN 74HC 165 D1
// 74HC 595 DS = 13 (Data)
// 74HC 595 STCP = 12 (Latch)
// 74HC 595 SHCP = 8 (Clock)
// 74HC 165 Q7 = 5 (Data)
// 74HC 165 PL = 4 (Latch)
// 74HC 165 CP = 2 (Clock)
// 74HC 165 CE = 3 (Clock Enable)
const int _srOutData = 13;
const int _srOutClock = 8;
const int _srOutLatch = 12;
const int _srInData = 5;
const int _srInClock = 2;
const int _srInLatch = 4; // "load" in example
const int _srInClockEn = 3;
const int _srOutNumBits = 8;
const int _srInNumBits = 8;
int _WriteData[_srOutNumBits];
int _ReadData[_srInNumBits];
bool _FrontTorpedoLauncherBTNLastState = 1;
bool _FrontTorpedoLauncherBTNCurrentState = 1;
bool _RearTorpedoLauncherBTNLastState = 1;
bool _RearTorpedoLauncherBTNCurrentState = 1;
void setup() {
pinMode(_srInData, INPUT);
pinMode(_srOutData, OUTPUT);
pinMode(_srInClock, OUTPUT);
pinMode(_srInClockEn, OUTPUT);
pinMode(_srOutClock, OUTPUT);
pinMode(_srInLatch, OUTPUT);
pinMode(_srOutLatch, OUTPUT);
Serial.begin(9600);
Serial.println(F("Start..."));
}
void loop() {
digitalWrite(_srInLatch, LOW);
digitalWrite(_srInLatch, HIGH);
byte _dataIn;
digitalWrite(_srInClock, HIGH);
digitalWrite(_srInClockEn, LOW);
_dataIn = shiftIn(_srInData, _srInClock, MSBFIRST);
digitalWrite(_srInClockEn, HIGH);
Serial.print("Data of _dataIn: ");
Serial.println(_dataIn, BIN);
delay(200);
digitalWrite(_srOutLatch, LOW);
shiftOut(_srOutData, _srOutClock, MSBFIRST, ~_dataIn);
digitalWrite(_srOutLatch, LOW);
//Serial.print("Data of _dataIn: ");
//Serial.println(~_dataIn, BIN);
}