how do I count signals... newbie

I am working on a project where I need to count items that drop down a tube, then calculate using data collected from a sensor mounted on drive wheels to determine distance. The drop numbers will be very large, and the distance numbers will too (I think). I think I will need to use the debounce program, but I am sure I will need other as well. I am not sure how to collect the signals in a manner that will not overwhelm the capabilities of the arduino. I would appreciate any suggestions anyone is willing to give me.


Can you elaborate on what you're trying to do? What kinds of "items" will drop down the tube? What are they made of? What size diameter and length of tube? What is the tube made of? How many? You say the drop numbers will be large? How many per minute, hour, day? I don't understand what you mean when you say "a sensor mounted on drive wheels"?

I am trying to set up a planter monitor. I will count seeds as they drop. I have a sensor to capture that data. I also will have a sensor to count revolutions of the drive wheels which will give me distance traveled. Eventually I would like to show air pressure at the planter units as well, but that can come later. The count will be around 4 seeds per foot running along a row up to 1 mile, while monitoring 6-10 individual rows. This adds up to about 35,000 seeds per acre in a field up to 640 acres. I need to monitor 1- that seeds are in fact falling, 2- the number of seeds per foot (or acre), which gives me the population per acre.

Thanks for your interest

In addition to my last post, the count will be around 2,000 seeds per minute...

The numbers would not be too large for the arduino. The largest number you can store in a single variable is an "unsigned long" which will go up to 4,294,967,295.

That means it could keep counting seeds for 192 seasons without having to reset... Our great grand kids will be in the grave by then.

What kind of sensor are you using to count the seeds?

It would seem easier to just determine "seeds sown" by weight, then convert to distance traveled...

And you can always just use any of many types of sensors to ensure seeds are in fact falling, without having to count them individually.

I am using the international sensors that came with this planter. In 1980 the sensing package was nearly state of the art, but not so much now. As for counting seeds by weight, there isn't a good method in the field to record this. Also, there is too much difference in seed size, moisture content, and other variables for this to be accurate. I have a magnetic sensor I plan to put on one of the planter wheels to measure distance as well. It is possible to use gps data for distance, but to attain the level of accuracy I am looking for, I would be beyond what I want to spend on this project. In order to attain maximum yields, the seed count per acre is critical. Too many seeds as well as too few have a major impact on the harvest. In addition, I need to be made aware IMMEDIATELY if my seed rate alters. If a single planter unit plugs up and is not detected for several minutes, you will have an acre or more of bare soil with no crops. If corn sells for $5.00 a bushel with an average yield of 130 bushels per acre, I just lost $650.00! Also, with today's technology different seed counts for different areas of a single field are coming into play. By the way, Thanks for the tip on the unsigned long variable!

The numbers would not be too large for the arduino. The largest number you can store in a single variable is an “unsigned long” which will go up to 4,294,967,295.

And if that’s not enough, the “unsigned long long” goes up to 264-1, or 18,446,744,073,709,551,615.

Which, rather neatly, arrives here