1. #define TSL_FREQ_PIN 2 // output use digital pin2 for interrupt 2. #define TSL_S0 5 3. #define TSL_S1 6 4. #define TSL_S2 7 5. #define TSL_S3 8 1. unsigned long pulse_cnt = 0; 2. 3. void setup() { 4. 5. // attach interrupt to pin2, send output pin of TSL230R to arduino 2 6. // call handler on each rising pulse 7. 8. attachInterrupt(0, add_pulse, RISING); 9. 10. pinMode(TSL_FREQ_PIN, INPUT); 11. pinMode(TSL_S0, OUTPUT); 12. pinMode(TSL_S1, OUTPUT); 13. pinMode(TSL_S2, OUTPUT); 14. pinMode(TSL_S3, OUTPUT); 15. 16. digitalWrite(TSL_S0, HIGH); 17. digitalWrite(TSL_S1, LOW); 18. digitalWrite(TSL_S2, HIGH); 19. digitalWrite(TSL_S3, HIGH); 20. } 21. 22. void loop() { 23. 24. } 25. 26. void add_pulse() { 27. 28. // increase pulse count 29. pulse_cnt++; 30. return; 31. }