Hi all.
I have a VR headset, and a number of games/sims (racing, rolleroaster, etc) which are all working great. I've stuck a desk fan in front of me a couple of times, which makes an incredible difference to the whole VR experience, but is pretty clunky and weird.. What I want to create is a small bank of fans (computer case fans probably) which will be speed controlled according to data coming from the various games.
I have checked, and the games that I want to plug in to do have API's available (REST style API's). I'm OK with coding, but haven't really done anything like this before, so not sure about the feasability, or what sort of hardware I would need to create the controller.
My initial thoughts are that I can create a controller with an arduino that listens over the USB interface for a number (1-100 or similar), and controls the connected fans using PWM according to that value. I would then need to just create a piece of middleware to read the data from the REST API's, extract (and convert/scale) the velocity data, and send it over the USB interface to the controller. Probably not the most elegant solution, but as a lot of the API's are different, I think for now that's the best way.
In terms of physical hardware, I was thinking about something like:
- 3 x 12V PC fans (like 120mm 12VDC Thin Ball Bearing Cooling Fan | Jaycar Electronics) - power draw is 380mA units each
- Just a small, cheap unit like the Genuino Micro to drive it
So my questions are:
- Before I go too far, is this a viable path to take? I've seen a couple of thermal/light controlled projects similar to this, so I guess I'm really thinking more here around whether the whole middleware/data over USB idea is a good one, or if I should be handling this a different way.
- If all looks OK, then in terms of components, what kinds of components am I looking at to make a working circuit that won't blow up? I did see a post at Arduino for Beginners: Controlling fan or motor speed with PWM which was helpful, but me being more of a software guy, I'd be worried that I'll fry a board or something because I've missed an important component!
Sorry if that's too vague at all - first post and all
Cheers,
Nathan