Arduino sketch for the Open Grade Simulator - an open hardware and software incline simulator for indoor cycle training
Matt Ockendon
This is the controller for a 3D printed elevation or 'grade' simulator to use with an indoor trainer The project in inspired by the Wahoo Kickr Climb but shares none of its underpinnings.
Elevation is simulated on an indoor trainer by increasing resistance over that generated by frictional losses.
I found the equation of a best fit line from points plotted using an online calculator of frictional losses vs speed and then took the residual power to calculate the incline being simulated
Rather than using a servo linear actuator (expensive) I'm using the Arduino Nano 33 IoT BLE's built in accelerometers to find the position of the bicycle. This method is prone to noise and I have tried some filtering (moving average) to reduce this.
The circuit: Arduino Nano 33 BLE 3.3 to 5v level shifter L298N H bridge 750Newton 200mm Linear Actuator 1x2 pushbutton pad 128x32 I2C OLED display 3D printed parts and boxes At present a NPE CABLE ANT+ to BLE bridge is required (due to the lack of authentication in the AdruinoBLE library 1.1.2)
3D files will be pulished on Thingiverse and more details on Instructables https://www.instructables.com/howto/Opengradesim/