const int dataPin = 4;
const int clockPin = 2;
const int latchPin = 3;
void setup() {
Serial.begin(9600);
pinMode(dataPin, INPUT);
pinMode(clockPin, OUTPUT);
pinMode(latchPin, OUTPUT);
}
uint32_t read165() {
digitalWrite(latchPin, LOW);
digitalWrite(latchPin, HIGH);
uint32_t value = 0;
for (int i = 0; i < 24; i++) {
value <<= 1;
value |= digitalRead(dataPin);
digitalWrite(clockPin, HIGH);
digitalWrite(clockPin, LOW);
}
return value;
}
void loop() {
uint32_t v = read165();
for (int i = 23; i >= 0; i--) {
Serial.print((v & (1UL << i)) ? '1' : '0');
}
Serial.println();
delay(200);
}