//2024-04-13
//tes 1 ic = done
//tes 2 ic = done
/*
74HC165 Shift register input example
https://wokwi.com/arduino/projects/306031380875182657
https://wokwi.com/projects/392708048017579009
(C) 2021, Uri Shaked
*/
const int latchPin = 18; /* PL - pin 1 */
const int clockPin = 19; /* CP - pin 2*/
const int dataPin = 5; /* Q7 - pin 7 */
const int numBits = 8 * 2; /* Set to 8 * number of shift registers */
void setup() {
Serial.begin(115200);
delay(200);
Serial.println("Start");
// Serial.println("Please enter your name:");
// while (!Serial.available()); // Wait for input
// String name = Serial.readStringUntil('\n');
// Serial.print("Hello, ");
// Serial.print(name);
// Serial.println("!");
pinMode(dataPin, INPUT);
pinMode(clockPin, OUTPUT);
pinMode(latchPin, OUTPUT);
}
void loop() {
// Step 1: Sample
digitalWrite(latchPin, LOW);
digitalWrite(latchPin, HIGH);
// Step 2: Shift
Serial.print("Bits: ");
for (int i = 0; i < numBits; i++) {
int bit = digitalRead(dataPin);
if (bit == HIGH) {
Serial.print("1");
} else {
Serial.print("0");
}
digitalWrite(clockPin, HIGH); // Shift out the next bit
digitalWrite(clockPin, LOW);
}
Serial.println();
delay(1000);
}