Skip to content

Instantly share code, notes, and snippets.

@myarduinosale
Created May 3, 2019 16:55

Revisions

  1. myarduinosale created this gist May 3, 2019.
    85 changes: 85 additions & 0 deletions Arduino_Stepmotor_Full_Step1
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,85 @@
    int motorPin1 = 8;// Blue - 28BYJ48 pin 1
    int motorPin2 = 9;// Pink - 28BYJ48 pin 2
    int motorPin3 = 10;// Yellow - 28BYJ48 pin 3
    int motorPin4 = 11;// Orange - 28BYJ48 pin 4
    int motorSpeed = 4; //variable to set stepper speed
    char val = '0';
    void setup() {
    //declare the motor pins as outputs
    pinMode(motorPin1, OUTPUT);
    pinMode(motorPin2, OUTPUT);
    pinMode(motorPin3, OUTPUT);
    pinMode(motorPin4, OUTPUT);
    Serial.begin(9600);
    }
    void loop(){
    if (Serial.available()> 0)
    {
    val = Serial.read();
    Serial.println(val);
    }
    if (val == '1'){
    counterclockwise(); //หมุนวนขวา
    }
    if (val == '2'){
    clockwise(); //หมุนวนซ้าย
    }
    if (val == '0'){ //หยุดหมุน
    digitalWrite(motorPin1, LOW);
    digitalWrite(motorPin2, LOW);
    digitalWrite(motorPin3, LOW);
    digitalWrite(motorPin4, LOW);
    }
    }
    void counterclockwise (){
    // 1
    digitalWrite(motorPin1, HIGH);
    digitalWrite(motorPin2, LOW);
    digitalWrite(motorPin3, LOW);
    digitalWrite(motorPin4, LOW);
    delay(motorSpeed);
    // 2
    digitalWrite(motorPin1, LOW);
    digitalWrite(motorPin2, HIGH);
    digitalWrite(motorPin3, LOW);
    digitalWrite(motorPin4, LOW);
    delay (motorSpeed);
    // 3
    digitalWrite(motorPin1, LOW);
    digitalWrite(motorPin2, LOW);
    digitalWrite(motorPin3, HIGH);
    digitalWrite(motorPin4, LOW);
    delay(motorSpeed);
    // 4
    digitalWrite(motorPin1, LOW);
    digitalWrite(motorPin2, LOW);
    digitalWrite(motorPin3, LOW);
    digitalWrite(motorPin4, HIGH);
    delay(motorSpeed);
    }
    void clockwise(){
    // 1
    digitalWrite(motorPin1, LOW);
    digitalWrite(motorPin2, LOW);
    digitalWrite(motorPin3, LOW);
    digitalWrite(motorPin4, HIGH);
    delay(motorSpeed);
    // 2
    digitalWrite(motorPin1, LOW);
    digitalWrite(motorPin2, LOW);
    digitalWrite(motorPin3, HIGH);
    digitalWrite(motorPin4, LOW);
    delay (motorSpeed);
    // 3
    digitalWrite(motorPin1, LOW);
    digitalWrite(motorPin2, HIGH);
    digitalWrite(motorPin3, LOW);
    digitalWrite(motorPin4, LOW);
    delay(motorSpeed);
    // 4
    digitalWrite(motorPin1, HIGH);
    digitalWrite(motorPin2, LOW);
    digitalWrite(motorPin3, LOW);
    digitalWrite(motorPin4, LOW);
    delay(motorSpeed);
    }