Introduction: Touchpad Controlled Digital Servo Motor
Here is a quick and simple project where we control a digital servo motor with the slide of our finger on a PS/2 touchpad with the help of an Arduino microcontroller. So, without further ado, let's get started!
Supplies
For this project, you will need:
- A PS/2 touchpad
- An Arduino microcontroller
- An H-bridge motor driver(Examples: DRV8833, L293D, L298N, etc)
- A DC motor with an attached rotary encoder
- A 5-volt supply(For the Arduino microcontroller)
- A DC power source for the motor(If it is intended to be operated at voltages >5-volts)
- A few male to male jumper wires
Step 1: Program the Microcontroller
You can get all the firmware resources, including the Arduino code and the required libraries from here.
Step 2: Connect the Microcontroller to the Motor Driver
Connect the motor driver's +ve input to the 5-volt pin or an external supply if you are using a larger motor. Connect the GND of the motor driver to the GND of the microcontroller(And the GND of the external supply, if used). Make the following connections between the microcontroller and the motor driver:
D9 - IN1
D10 - IN2
A lot of motor drivers have an 'enable' pin(EN) that needs to be connected to the +ve of the logic voltage. If yours has such a pin, connect it to the 5-volt pin of the microcontroller.
Step 3: Connect the Motor to the Motor Driver and the Microcontroller
Check the underside of the PCB attached to the motor showing the pin labels of the connector.
Connect the pins M1 and M2 to the output pins marked OUT1 and OUT2 of the motor driver.
Connect the GND pin to the GND of the Arduino microcontroller and the VCC pin to the 5-volt pin of the Arduino microcontroller.
Make the following connections between the encoder and the microcontroller:
C1 -> D2
C2 -> D3
If you wish to change the pins of the microcontroller to be connected to the encoder, make sure that the ones you are using are interrupt pins.
Step 4: Figure Out the Connections of the Touchpad
If you have a Synaptics touchpad like the above one, the pad 'T22' is +5V(VCC), 'T10' is 'Clock', 'T11' is 'Data' and 'T23' is 'GND'. You can also solder the 'GND' wire to a large exposed copper as shown above.
Click on the above image to know more. If you have a different touchpad, try searching for its part number on the internet with 'pinouts'.
Step 5: Connect the Touchpad to the Microcontroller
Make the following connections between the touchpad and the microcontroller:
VCC -> 5-V
GND -> GND
Clock -> D6
Data -> D5
Step 6: Mount the Motor on a Stand
Though this step is optional, this can help prevent the motor from moving around while rotating.
Step 7: Add a Position Marker to the Motor
You can use something like a wheel, a gear, a shaft attachment, even a piece of tape to see the movement of the motor.
Step 8: Power Up the Setup and Test the Controls
Check if your setup is working in the same way as shown in the video.
Start with sliding the finger slowly for a short distance in any direction. If the motor keeps on rotating for a long time then reverse the polarity of the motor's wires.
Step 9: Try Adding More to the Project
The microcontroller is using only a single axis of movement of the finger to control the motor. Why not try adding another motor and control both of them together, one with the horizontal and the other with the vertical movement of the finger. You can also try and make a touchpad-controlled vehicle with the help of these motors. Whatever you do, all the best!
4 Comments
Tip 1 year ago on Step 4
From my time at Synaptics these test point numbers tend to have the same functions over all boards. It wasnt a hard and fast rule but most adhered to it. Also how old was this touchpad? I find it odd that the T4 asic is still being used today. It was old when i was working there in 2004.
Reply 1 year ago
I am not sure how old is this touchpad as I bought this from a computer repair shop. Though I have seen a similar touchpad in my old Compaq laptop that was bought in 2010.
Reply 1 year ago
Sounds about right. I just know the T4 was old in 2004 and we where using T5 pretty much exclusively. But the weaknesses of the T4 may not have been important in a basic touchpad. That being said i did specialise in the "odd" and "difficult" customer projects and not so much the bog standard touch pads without multi-touch, screens behind them (transparent pads) and the like.
Reply 1 year ago
Interesting.
The thing about these PS/2 touchpads is that even though they are not quite common now, they can be found for cheap and are easy to use with microcontrollers and implement into projects. Controlling things with the slide of a finger is quite fun.