In this lesson we give you several examples of how to connect and program a stepper motor. Stepper motors are useful because they can produce very large torque at low RPM and are capable of extremely precise positioning. They are somewhat tricky to use, and you must be careful to not try and power them from an Arduino. Arduino can control stepper motors, but they must be powered from an external power supply.
If you want to follow along at home, an official Arduino Uno R3 is available HERE. In this new series of lessons, I will be using the sensor and other components found in this KIT.
This is the code that allows you to toggle the direction of the stepper motor by pressing a pushbutton. The video shows all the details and how to connect the motor up.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
#include <Stepper.h> int stepsPerRevolution=2048; int motSpeed=3; int dt=500; int buttonPin=2; int motDir=1; int buttonValNew; int buttonValOld=1; Stepper myStepper(stepsPerRevolution, 8,10,9,11); void setup() { // put your setup code here, to run once: Serial.begin(9600); myStepper.setSpeed(motSpeed); pinMode(buttonPin,INPUT); digitalWrite(buttonPin,HIGH); } void loop() { buttonValNew=digitalRead(buttonPin); if (buttonValOld==1 && buttonValNew==0){ motDir=motDir*(-1); } myStepper.step(motDir*1); buttonValOld=buttonValNew; } |