#define TRANSISTOR_GATE_PIN 2 #define LIGHT_LEVEL_INPUT_PIN A0 #define FLASH_DURATION_MS 5 int lightLevel; int lastLightLevel = 1023; void setup() { pinMode(TRANSISTOR_GATE_PIN, OUTPUT); } void loop() { lightLevel = analogRead(LIGHT_LEVEL_INPUT_PIN); if (lightLevel > ((lastLightLevel + 1023) / 2)) { digitalWrite(TRANSISTOR_GATE_PIN, HIGH); delay(FLASH_DURATION_MS); digitalWrite(TRANSISTOR_GATE_PIN, LOW); } lastLightLevel = lightLevel; }