// Define Connections to 74HC165
// PL pin 1
int latchPin = 7;
// CE pin 15
int clockEnablePin = 4;
// Q7 pin 7
int dataIn = 5;
// CP pin 2
int clockIn = 6;
const int latchPino = 8;
const int clockPino = 3;
const int dataPino= 2;
void setup()
{
// Setup Serial Monitor
Serial.begin(9600);
// Setup 74HC165 connections
pinMode(latchPin, OUTPUT);
pinMode(clockEnablePin, OUTPUT);
pinMode(clockIn, OUTPUT);
pinMode(dataIn, INPUT);
digitalWrite(clockEnablePin,HIGH);
pinMode(latchPino, OUTPUT);
pinMode(dataPino, OUTPUT);
pinMode(clockPino, OUTPUT);
digitalWrite(latchPino, LOW);
shiftOut(dataPino, clockPino, MSBFIRST, 1);
digitalWrite(latchPino, HIGH);
}
void loop()
{
digitalWrite(latchPin, LOW);
delayMicroseconds(5);
digitalWrite(latchPin, HIGH);
delayMicroseconds(5);
// Get data from 74HC165
digitalWrite(clockIn, HIGH);
digitalWrite(clockEnablePin, LOW);
byte incoming = shiftIn(dataIn, clockIn, MSBFIRST);
digitalWrite(clockEnablePin, HIGH);
digitalWrite(clockIn, LOW);
// Print to serial monitor
Serial.println(incoming, BIN);
delay(200);
}