In this example we’ll control the direction of a linear actuator with an Arduino and two momentary switches. This tutorial builds on principles discussed in the tutorial “Motor Driver Speed Control with an Arduino”, we advise reviewing that tutorial before continuing.
This tutorial is broken into two sections: push buttons acting in momentary mode (i.e. actuators stop moving when button is released) and push buttons acting in sustaining mode (i.e. actuators continue moving even when button is released).
Note: This tutorial assumes prior knowledge with basic electronic principles, Arduino hardware and software. If this is your first time using Arduino we suggest learning the basics from one of the many great beginner tutorials available through Google and YouTube searches. Please be aware that we do not have the resources to provide technical support for custom applications and will not debug, edit, provide code or wiring diagrams outside these publicly available tutorials.
Components
- 12V Linear Actuator
- 12V power supply
- Arduino
- Motor Driver
- Two momentary buttons (optionally a third button for latching control)
- Electrical wires for making connections and crimping tool or soldering iron
Wiring
Hardware and software overview for momentary control
Momentary switches are used when you only want the actuator to move while the button is pressed, the actuator will automatically stop moving when the button is released. Upload the code below.
Code for momentary control
https://gist.github.com/Will-Firgelli/aeee209bda6b2246359eed70ec353eb8
Hardware and software overview for sustaining control
Alternatively, sometimes you may wish to use a latching button; have the actuator move when you push a button and then keep moving when you release the button. To achieve this you will need to add one more switch, connected to pin 8 and GND, then upload the program below. Since the actuator won’t stop moving when the button is release, this new switch will act a “stop” button.