Electronic – arduino – Control a lot of IR sensors with Arduino / Build a game board tile

arduinoinfrared

Is it possible to control a lot (let's assume 100) of TCRT5000 IR distance sensors with one Arduino? So just use one or a few pins but not 100?

I am relativly new to the Arduino/electronics area and I know about the I2C protocol which would allow that but the TCRT5000 does not support I2C as far as I know.

I have seen people using it but I am not sure how, maybe there is another chip required? Any recommodations where to start?

Datasheet TCRT5000

UPDATE

Wow, what an overwhelming response! Thank you all for all the time and effort you put into this. I will add more details here, sorry that I didn't include them in the first place.


CLARIFIED QUESTION

As it is not necessary to use the TCRT5000 and I think there might be better options I have to clarify more what I am trying to create:

I want to build the concept for a single tile in a board game which is able to:

  • Illuminate the tile in any colour – I already have a good solution by using a low cost addressable LED strip and control it via the Fast LED library
  • Detect if there is a piece on top of the tile – this is where I want(ed) to use the TCRT5000 for – and it is very cheap. But as there is already light in the tile maybe a photocell measuring the reflected light would be an option too.
  • Optionally detect what type of piece is on top of the tile – that is not required but it would open a few more doors in developing the software driving the game. Thought about low cost RFID or magnet detectors. I don't think it is possible to get this cost efficient enough.
  • It should be scalable – so preferably one tile would work independently.

The amount of tiles used in the game will be determined by the cost of a single tile, therefore it has to be as cost efficient as possible.

The cost efficiency if not for me – If I find good solutions for the concept I would like to publish it. And that is only possible if the game is affordable.


GAME TILE

One tile could look like this (not scaled properly, just a sketch) and contains a SD 5050 LED from a LED strip and a TCRT5000 to detect if there is anything on top of it.

Game Tile

The electronics will be covered by a frosted acrylic plate to diffuse the light and protect the components:

Game Tile frosted

Now the task is to detect a game piece on top of the tile:

Game Tile with piece

The piece is obviously not always perfectly centred as the player will just put it somewhere on top of it. But the tile has to be able to detect if there is anything or not.


HELP

As this starts to go way beyond the initial question and I realized how much I don't know about electronics yet I would like to ask for help with the project.

If anyone finds this idea interesting I would be happy to discuss more details about the project outside of StackOverflow.

As this is a private project I cannot really pay money but if we get to the stage where the game is published you will get a free copy of the game and at least one carton of beer 😉

Please write me at ledboardgame/gmail.com (replace the / with @) including your experience (just tinkering, evil mastermind, …)

Best Answer

Some answers have explained how to 'multiplex' the emitters and sensors. The scheme suggested here can use that, or not. For emitters there is no need if the sensors are well isolated from the emitters.

You seem to be very cost conscious, as am I. The cheapest way to make a simple reflective sensor is with an InfraRed (IR) emitter and IR phototransistor. That pair will be well under 0.20GBP, which is much lower cost than the TCRT5000.

For example 940nm 5mm IR emitter 940nm 5mm IR phototransistor. Most distributers should have parts in this price range. To give some context, these would cost about £4.60 for 100 IR emitters, and £7.50 for 100 phototransistors. These are Farnell prices, which is one of the most expensive distributers. So you should be able to do much better.

You could drive the IR emitters with a chain of shift registers. Use 'Serial In Parallel Out' (SIPO) shift registers. They will take a serial data pattern to choose which emitters to drive. That would consume three or four pins (clock, data, enable, latch) for all 100 emitters. For example TLC5916

If the internal structure of the board shields IR phototransistors from IR emitters you could even drive many emitters simultaneously using each pin of a chip like the TLC5916 which would drive much more current than an Arduino pin. So you might be able to drive all of the emitters with a couple of TLC5916.

With a bit of experiment, you should be able to read all of the sensors using simple logic-level shift-registers too. Parallel In, Serial Out (PISO) shift-registers. The issue is not power, so cheaper parts are sufficient, for example a 74HC165 (which should be available for under $1). These can be 'chained' end to end, and even used with a multiplexing scheme.

Daylight, or electric lighting may interfere, and 'confuse' the IR sensors. One way to cope with that is to 'modulate' the IR LED/emitter. Using one LED+sensor as an example: switch the IR LED on, take a measurement from the sensor, switch the LED off, and take another. When the difference is very small, there is a lot of light interference, and very little reflected light, so the piece is unlikely on the square. When the difference is large, the piece is likely on the square because there is very little light interference, and the reflected light is strong.

Experiments might demonstrate that this is not an issue. However, having the flexibility to deal with this type of interference might become very important. So try to ensure it is practical to with IR LED/emitter on and off, until you have some real evidence to show it is not an issue.