I posted a snippet about using a microcontroller as a mouse, and it works great, but it moves the mouse as a stepper motion.

How would I go about making it velocity driven? Like when I tilt the accelerometer further, the faster the mouse moves. I've seen it on youtube, and looked at some source code for how they did it, but can't seem to figure it out.

The only way I would know how is a ton of if statments polling for higher values, and I know that wouldn't be the best way.

I've been told that double integrating the acceleration would be a good method, but have no idea how its done. I've been googeling for about 6 hours with no good examples or guides.


I don't think this is double intergration but I have the desired effects from using:

   if int(d[2]) > 2700:
        if x < 1400:
            x += (int(d[2])-2700)/10
    elif int(d[2]) < 2400:
        if x > 0:
            x -= (2400-int(d[2]))/10
    if int(d[5]) > 2600:
        if y > 0:
            y -= (int(d[5])-2600)/10
    elif int(d[5]) < 2400:
        if y < 900:
            y += (2400-int(d[5]))/10

Where int(d[2]) & int(d[5]) are the values from the accelerometer. And 2700, 2600, 2400 are the threshold values. 10 is the base speed.
I don't know what to call it, threshold deference maybe?