#define SENSOR1_PIN 2 // Pin connected to sensor 1
#define SENSOR2_PIN 3 // Pin connected to sensor 2
#define DATA_PIN 0 // Pin connected to the data pin of 74HC595
#define CLOCK_PIN 1 // Pin connected to the clock pin of 74HC595
#define LATCH_PIN 4 // Pin connected to the latch pin of 74HC595
void setup() {
pinMode(SENSOR1_PIN, INPUT);
pinMode(SENSOR2_PIN, INPUT);
pinMode(DATA_PIN, OUTPUT);
pinMode(CLOCK_PIN, OUTPUT);
pinMode(LATCH_PIN, OUTPUT);
}
void loop() {
if (digitalRead(SENSOR1_PIN) == HIGH) {
shiftOutPattern1(); // Shift out pattern for sensor 1
delay(1000); // Wait for 1 second
}
if (digitalRead(SENSOR2_PIN) == HIGH) {
shiftOutPattern2(); // Shift out pattern for sensor 2
delay(1000); // Wait for 1 second
}
}
void shiftOutPattern1() {
byte patterns[] = {0b00000000, 0b00000001, 0b00000011, 0b00000111, 0b00001111, 0b00011111, 0b00111111, 0b01111111, 0b11111111, 0b00000000};
for (int i = 0; i < 10; i++) {
shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, patterns[i]);
digitalWrite(LATCH_PIN, HIGH);
digitalWrite(LATCH_PIN, LOW);
delay(100); // Adjust delay as needed
}
}
void shiftOutPattern2() {
byte patterns[] = {0b00000000, 0b10000000, 0b11000000, 0b11100000, 0b11110000, 0b11111000, 0b11111100, 0b11111110, 0b11111111, 0b00000000};
for (int i = 0; i < 10; i++) {
shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, patterns[i]);
digitalWrite(LATCH_PIN, HIGH);
digitalWrite(LATCH_PIN, LOW);
delay(100); // Adjust delay as needed
}
}