Skip to content

Instantly share code, notes, and snippets.

@maxpromer
Created June 24, 2024 16:04
Show Gist options
  • Save maxpromer/d018beb907a8d5ffe52ebefaf6067797 to your computer and use it in GitHub Desktop.
Save maxpromer/d018beb907a8d5ffe52ebefaf6067797 to your computer and use it in GitHub Desktop.
#define IN1_PIN 6 // กำหนดขาต่อ IN1 เป็นขา 6
#define IN2_PIN 5 // กำหนดขาต่อ IN2 เป็นขา 5
void soft_start(int pin, int start, int end) {
if (start < end) {
for (int i=start;i<=end;i++) {
analogWrite(pin, i);
delay(5);
}
} else if (start > end) {
for (int i=start;i>=end;i--) {
analogWrite(pin, i);
delay(5);
}
}
}
void setup() {
pinMode(IN1_PIN, OUTPUT); // กำหนดขาที่ IN1 เป็น OUTPUT
pinMode(IN2_PIN, OUTPUT); // กำหนดขาที่ IN2 เป็น OUTPUT
}
void loop() {
// กำหนดให้มอเตอร์หมุนตามเข็ม
analogWrite(IN1_PIN, 255); // ล็อกลอจิก IN1 = 1
soft_start(IN2_PIN, 255, 127); // กำหนดความเร็ว 0% -> 50%
delay(3000); // ให้ค้างการทำงาน 1 วินาที
soft_start(IN2_PIN, 127, 0); // กำหนดความเร็ว 50% -> 100%
delay(3000); // ให้ค้างการทำงาน 1 วินาที
soft_start(IN2_PIN, 0, 255); // กำหนดความเร็ว 100% -> 0%
delay(3000); // ให้ค้างการทำงาน 1 วินาที
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment