The DIY Turntable is a low-fi DJ set made with a PC fan for the scratching turntable, a hacked walkman to play cassette tapes at the desired speed, and an Arduino to map these two. There are also some LEDs to show the speed of the song in another way.
The initial idea was to have the fan acting as input and output at the same time. I intended to have it rotating all time at the speed of the music (output) and let the user slow it down or speed it up to control the song (input). However, it seems the so-called hall effect only appears at high rpm, not the ones you can produce manually. So I had to think of another trick: use the motor as a generator. This way I can measure the amount of current generated by the manual rotation of the fan.
One of the most delicate parts of the project is the mapping, which is not linear at all, since there are so many factors to take in consideration: