As an absolute beginner with little to no experience, I am currently working on a project that I would like to incorporate an Arduino as a counter.
My project is to try to use Arduino to take pulse signal (ranging from a specified voltage to eliminate lower level noise all the way up to 5 V) from a detector with a counting rate to be expected around 300 counts per minute, convert this pulse signal into counts per minute (with timestamp) then store the information on an SD card. The platform I am using now is Arduino Uno R3. I have yet to find good information on what I am trying to achieve so I have no idea how should I do this thing. It involves a lot of functions so I will try to organize them a little bit.
Employ a effective and sufficient ADC to convert the signal;
Set up an adjustable lower level discriminator to throw out noise;
Bundle up the information into counts per minute with timestamp;
Write the information above into a SD card.
Few extra questions I have after some reading.
Do I need to use a faster ADC other than the built-in one judging from my count rate?
Since I do not care about the amplitude of the pulses as long as they are over a certain threshold, maybe there is an easier way to do what I want? Some sort of gate thing?
Feel free to throw in anything related that you think would be helpful (equipment, things to read, etc.), I am trying to learn the stuff.
You could probably make use of the 328P's analog comparator. Put a stable reference voltage on pin A1 and your pulse on A0. When A0 exceeds A1 the ACO bit in the ACSR register is set. You could poll for an SCO state change or configure the hardware to generate an interrupt and use a simple ISR to do your counting.
You say you need to show pulses per minute; do you need a realtime clock to give minutes count or is the internal timing of the CPU sufficient?
How often do you want to write to the SD card? Once a minute? Once per event?
Thank you for pitching in. I mentioned UNO only because I have a spare one lying around, I'd certainly look into MKR ZERO. I am just gathering information and trying to learn everything about it at this point.