//ปรับความเร็วstepper Motorด้วย vr
#include <Stepper.h>
const int stepsPerRevolution = 200;
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);
// กำหนดขาโพเทนชิออมิเตอร์
const int potPin = A0;
void setup() {
Serial.begin(9600);
myStepper.setSpeed(60); // ความเร็วเริ่มต้น (RPM)
}
void loop() {
// อ่านค่าจากโพเทนชิออมิเตอร์ (0 - 1023)
int sensorValue = analogRead(potPin);
// แปลงค่า 0-1023 → 0-200 RPM (ปรับได้ตามต้องการ)
int motorSpeed = map(sensorValue, 0, 1023, 0, 200);
// ป้องกันไม่ให้มอเตอร์หยุดหมุนเพราะ speed=0
if (motorSpeed < 1) motorSpeed = 1;
// ตั้งค่าความเร็ว
myStepper.setSpeed(motorSpeed);
Serial.print("ความเร็ว: ");
Serial.print(motorSpeed);
Serial.println(" RPM");
// หมุนตามเข็ม 1 รอบ
myStepper.step(stepsPerRevolution);
// หมุนทวนเข็ม 1 รอบ
myStepper.step(-stepsPerRevolution);
}