There are many racing wheels on the market for the budding sim enthusiast. Unfortunately, lower end models tend to have a limited range of motion and ship with cheap plastic wheels that don’t feel good in the hand. As always, if what’s on the shelf doesn’t meet your needs, you can always build your own. [ilge]’s DIY racing wheel build is a great example of how to go about it.
It’s a no-frills build, with an Arduino Leonardo doing the USB Human Interface Device duties in this case. It reads a standard 10K potentiometer via an analog input to determine wheel position. To enable a realistic 900 degrees of motion, unlike the standard 270 degree rotation of the potentiometer, [ilge] uses 3D printed gears of 15 and 54 degrees respectively. This also has the benefit of allowing the wheel to be mounted to a stout bearing for smooth motion. The steering wheel itself is a high quality drift wheel from MOMO, and the benefit of building your own setup is that you can choose whatever wheel you like to taste.
[Arik Yavilevich] recently upgraded his second-gen Mazda’s control console, going from the stock busy box to an Android head unit that does it all on a nice big touchscreen. It can also take input from the handy steering wheel buttons — these are a great option for keeping your eyes on the road and occasionally startling your unsuspecting passengers when the radio station suddenly changes.
The only problem is that [Arik]’s stock steering wheel doesn’t have any media-specific buttons on it. After a short trip to the junkyard, [Arik] had a fancier wheel to go along with the new head unit.
[Arik] found out that the cruise control buttons don’t ride the CAN bus — they use a resistor ladder/voltage divider and go directly into the ECU. After that it was mostly a matter of finding the right wires and then cutting and re-routing them to make the buttons work on the ACC setting as well as ON. A brief demo video is idling after the break.
Instructables user [Roboro] had a Mad Catz Xbox steering wheel controller he hasn’t had much use for of late, so he decided to hack and use it as a controller for a robot instead.
Conceivably, you could use any RC car, but [Roboro] is reusing one he used for a robot sumo competition a few years back. Cracking open the controller revealed a warren of wires that were — surprise, surprise — grouped and labelled, making for a far less painful hacking process. Of course, [Roboro] is only using the Xbox button for power, the player-two LED to show the connection status, the wheel, and the pedals, but knowing which wires are which might come in handy later.
An Arduino Uno in the wheel and a Nano in the robot are connected via CC41-A Bluetooth modules which — despite having less functionality than the HM10 module they’re cloned from — perform admirably. A bit of code and integration of a SN754410 H-bridge motor driver — the Arduino doesn’t supply enough current to [Roboro]’s robot’s motors — and the little robot’s ready for its test drive.
Many of us have had a radio controlled car at some time in our youth, though it’s probable that none all of us entirely mastered it. There are memories of spectacular crashes, and if we were really unlucky, further boosts to Mr. Tamiya’s bank balance as fresh parts had to be fitted.
[Paul Yan] was watching his young son with a radio controlled toy, and was struck by how the two-joystick control layout is not necessarily as intuitive as it could be. By contrast when faced with a console game with first-person view and a steering wheel the boy had no problem dropping straight into play. This observation led him to investigate bringing a console steering wheel to an RC car, and the result is a rather impressive FPV immersive driving experience.
His build took a PS2 steering wheel peripheral with pedals and mated it to an Arduino Uno via a PS2 shield. The Uno talks to a Nordic NRF24L01 RF module, which communicates with another NRF24L01 on the car. This in turn talks to a car-mounted Arduino Micro, which controls the car servos and speed controller.
FPV video is provided by a miniature camera and transmitter from the world of multirotor flying which is mounted on the car and transmits its pictures over 5GHz to a set of monitor goggles. Sadly he does not appear to have posted any of the software involved, though we doubt there is anything too challenging should you wish to try it for yourselves.
The video below shows the car in action, complete with an over-enthusiastic acceleration and crash from his young son. He tells us it’s a similar experience to playing a racing kart game in the real world, and having seen the video we wish we could have a go.
[Rulof] never ceases to impress us with what he comes up with and how he hacks it together. Seriously, how did he even know that the obscure umbrella part he used in this project existed, let alone thought of it when the time came to make a magnet mount? His hack this time is a real world, tabletop race track made for his little brother, and by his account, his brother is going crazy for it.
His race track is on a rotating table and consists of the following collection of parts: a motor, bicycle wheel, casters from a travel bag, rubber bands (where did he get such large ones?), toy car and steering wheel from his brother, skateboard wheels, the aforementioned umbrella part and hard drive magnets. In the video below we like how he paints the track surface by holding his paint brush fixed in place and letting the track rotate under it.
From the video you can see the race track has got [Rulof] hooked. Hopefully he lets his brother have ample turns too, but we’re not too sure. Some additions we can imagine would be robotics for the obstacles, lighting, sounds and a few simulated explosion effects (puffs of flour?).
He’s not just doing this for the heck of it. It stems from his goal of adding an Android tablet on the dashboard which has been a popular hack as of late. This left [Kristoffer] with steering wheel controls that did nothing. They originally operated the radio, so he set out to make them control the tablet.
He had seen an Arduino used to control the CAN bus, but decided to go a different route. He grabbed a USB CAN bus interface for around $25. The first order of business was to use it with his computer to sniff the data available. From there he was able to decode the traffic and figure out the commands he needed to monitor. The last piece of the puzzle was to write his own Android code to watch for and react to the steering wheel buttons. You can check out the code at his repository and see the demo after the break.
You can make those buttons on your steering wheel much more functional if you have a way of monitoring them. Don’t even think of cracking open the factory finish to get to the solder points, just tap into the CAN bus and monitor the data traffic.
The small board seen above is the result of a project [Peter Shabino] calls the CAN sniffer. The connector on the left will plug into the Control Area Network system on your car, giving the chips on board something to do. There’s an MCP2551 CAN transceiver (hidden under that linear regulator) and an SPI controlled MCP2515 CAN controller which take care of the particulars of the CAN protocol. The big chip in the middle is a PIC 16F876, responsible for making sense out of the data. From there a MAX232 chip is used to provide a serial interface to connect the device to a computer.
This really isn’t tied down to one particular function. Once you have access to the bus for a microcontroller you’ll only be limited by your firmware writing skills. [Peter] has posted an archive with all of the open source files, as well as an illustrated step-by-step board assembly. We’ve embedded the schematic from that archive after the break. Continue reading “CAN Sniffing For Steering Wheel Button Presses”→