I am planing on making a voting system using a number of IR remotes.
The problem I have is recognising a number of remotes at the same time if they are simultaneously pressed.
I was thinking sending something like 000001,000010,000100 but how do I synchronise them to avoid 2 sending at the same time. and the remotes should be as cheap as possible.
I don't think you can do this, all the remotes would have to be different, that is they would need to send separate codes. However worst would be that you would have no means of detecting collisions. The only way that might work is if you had each remote on a different modulation frequency and a separate receiver for each remote. Even then you are limited to the number of different remote receiver frequencies you could get, I believe this is about five.
However you could have two way IR communications and the remotes are polled and only transmit when asked to. This makes the remotes more expensive.
I've spent years, off and on, thinking along the same lines as both of the previous posters... I'd like to find a way... and I don't think there is one... not with "simple" IR remotes.
I think the way to go is with some simple radio system. Again, collisions will be a major problem.... but more "fixable" over a radio link than over an IR link.
You will probably need bi-directional comms between "ballot box" and "voting booths". All the "voters" will "shout at once". As the ballot box tallies votes from individual booths, it will then send a message the booth to say, "ok, got that (a specified "that", to doublecheck the message got through ungarbled)... now shut up so I can listen to others." The "voting booth" should probably have an LED to say "vote tallied".
would having a 160 bit code work for 8 remotes (with the code divided in 20 groups of 8. first 4 having 0s then 4 each of 1s then 4 groups of 0 and finally 8 group having a 1 in a different place)
timing code then paten code.
That way no matter what at some point each one would be the sole transmitter
You're assuming the bit streams would be synchronized.