Arduino 电位器控制步进电机正反转
//电位器控制步进电机正反转
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
#include <Stepper.h>
const int stepsPerRevolution = 80;
Stepper myStepper(stepsPerRevolution, 7, 9, 8, 10);
const int aInPin=A0; //电位器信号
int val;
void setup() {
myStepper.setSpeed(90);
Serial.begin(9600);
lcd.begin(16, 2);
}
void loop() {
val=analogRead(aInPin);
val=map(val,0,1023,0,99);
lcd.setCursor(0, 0);
lcd.print("val=");
lcd.setCursor(5, 0);
lcd.print(val);
//Serial.println(val);
// 如果阻值小于50 反时针转
if(val<50){
lcd.setCursor(0, 1);
lcd.print(" ");
lcd.setCursor(0, 1);
lcd.print("counterclockwise");
//Serial.println("反时针");
myStepper.step(stepsPerRevolution);
delay(500);
} else{
// 如果阻值大于50 顺时针转
lcd.setCursor(0, 1);
lcd.print(" ");
lcd.setCursor(0, 1);
lcd.print("clockwise");
//Serial.println("顺时针");
myStepper.step(-stepsPerRevolution);
delay(500);
}
}
视频:
https://pan.baidu.com/s/19WgWEnB7VyFKmbcZSehgkA
|