Help needed saving the endangered Black Footed Ferret with peanut butter pellets

Hello,

I have a project that requires counting how many 0.5" 1 gram pellets have exited a tube, keeping track of how many have dropped and alarming if nothing is dropping when it is supposed to be.

I know next to nothing about custom programming so I need your help. Willing to pay. I can fuddle my way through existing code and sort of tweak it but this project has me baffled.

Overview:

  1. I have quite a few Trinket Pro 16Mhz 5v if we can use them. What ever board we use, this will be the only functions happening on it.

  2. Pellet Dispenser has 3 separate tubes. 1 tube drops pellets straight down, one shoots pellets left and one shoots pellets right. The left/right tubes have adjustable accelerators on them to project the pellets 9 meters each direction. Think miniature tennis ball shooters. (Assembly will be used outdoors)

  3. Pellets will drop into the tubes every 0.5 seconds when person is traveling max speed (approx 20m/s.)

  4. The exit tubes have 5mm holes on each side presently as I was initially using an ambient light sensor with a super bright led shining on it. I had a pulldown resistor on the ALS and tied it to a digital pin. There was a big enough voltage swing that it would register 0 when blocked and 1 unblocked on serial monitor. When I took it outside in the sun it was not so accurate.

I ordered Vishay TSSP4038 IR sensor and corresponding IR LED(with 38Khz signal to keep ambient light issues to minimum) to provide digital output as pellet blocks light. Should I use 555 to do the 38khz pulsing to free up the processor for counting or can the arduino do it all?
Concern has been raised that the 38khz type sensor may not work properly, but just plan on having 3 digital pins to monitor for the counting. I will change to whatever sensor works best and is economical and small.

  1. Need to display count of all three tubes on a 16x2 I2C LCD display
    #1 #2 #3
    xxxx xxxx xxxx

  2. Need to be able to reset counters with momentary push button. One long press (>10 seconds) clears ALL counters on display.

  3. The pellet dispenser is trigger by an APM 2.8 with GPS. As the person is walking/driving ATV, every 9 meters the APM does a camera trigger to tell a servo to move. This opens the door and allows 1 pellet to fall. The one servo does 3 tubes, 3 doors, 3 pellets together.

I need to use that same signal to set up an error counter of "Did a pellet fall when APM sent PWM trigger?" If it did, counter is not incremented. If NO pellet detected then increment counter +1. If counter >3 on any tube, activate piezo buzzer or a flashing LED. ATV may be too noisy to hear a little piezo buzzer.
The PWM signal from the APM is 1100 standby and 1800 when triggered.

  1. Need to be able to silence alarm buzzer/light. Quick press of button.

That is pretty much it.

Thanks in advance,

Kurt

#7 might be difficult, but I'd be interested in helping.