const int ledDriverPin = 13; // Pin for LED driver
const int microscopePin = 7; // Pin for microscope activation
const int audioPin = 8; // Pin for audio stimulus
int trialCount = 20; // Number of trials
void setup() {
pinMode(microscopePin, OUTPUT);
pinMode(ledDriverPin, OUTPUT);
pinMode(audioPin, OUTPUT);
Serial.begin(9600); // to monitor the progress of the code
}
void loop() {
for (int trial = 1; trial <= trialCount; trial++) {
Serial.print("Trial #");
Serial.println(trial);
// Activate microscope acquisition at the beginning of each trial
digitalWrite(microscopePin, HIGH);
if (trial % 2 == 1) {
// Odd trial: Activate LED and audio stimulus after a 20-second delay
delay(20000); // 20-second delay
digitalWrite(ledDriverPin, HIGH);
digitalWrite(audioPin, HIGH);
delay(500);
Serial.println("LED and audio stimulus done.");
digitalWrite(ledDriverPin, LOW); // Turn off the LED
digitalWrite(audioPin, LOW); // Turn off the audio stimulus
delay(60000); // Have microscope acquisition running for another 60 sec
Serial.println("Microscope acquisition done.");
} else {
// Even trial: Activate audio stimulus after a 20-second delay, no LED
delay(20000); // 20-second delay
// Activate audio stimulus
digitalWrite(audioPin, HIGH);
delay(500); // Adjust this delay if needed for your audio stimulus
Serial.println("Audio stimulus done.");
digitalWrite(audioPin, LOW); // Turn off the audio stimulus
delay(60000); // Have microscope acquisition running for another 60 sec
Serial.println("Microscope acquisition done.");
}
// Turn off microscope acquisition at the end of each trial
digitalWrite(microscopePin, LOW);
digitalWrite(audioPin, LOW);
digitalWrite(ledDriverPin, LOW);
}
}