So I have a DC train powered by an arduino moving around the track. I'd like to be able to tell where the train is so I can change speed and what not depending on other factors. The accuracy doesn't have to be dead on, for example I could have a market every few feet which would be fine enough. Any ideas on how to best do this so it's cheap? I looked into rfid but I'm not sure it would read quick enough if the train was moving fast. I thought about using IR and having the train read unique codes around the track but there might be reflection issues. I found a nice RGB sensor that I could use to read colors signs or led around the track but I'm not sure how well that would work either. I'm looking for some creative ideas.