Keresés

Hirdetés

Új hozzászólás Aktív témák

  • vargalex

    félisten

    válasz Teasüti #10178 üzenetére

    A saját forrásod könyvtárában nincsenek ezek a header file-ok teljesen más tartalommal esetleg?

    Alex

  • Imy

    veterán

    válasz Teasüti #10178 üzenetére

    Ez a programom, és így kellene működnie, de most már nem tudom, hogy mit is, és hova kellene beleraknom...

    Nekem így működik most:
    - Motor megy x fordulatot
    - LED villog x ideix x-szer, jelzi, hogy vár
    - Motor megy x fordulatot
    - LED villog x ideix x-szer, jelzi, hogy vár
    - ... (végtelenségig megy, ha nincs gombnyomás)

    A gombnak ennyit kellene csinálnia:
    - Gomb megnyom röviden, akkor indul el a motor
    - Motor megy x fordulatot
    - LED villog x ideix x-szer, jelzi, hogy vár
    - Motor megy x fordulatot
    - LED villog x ideix x-szer, jelzi, hogy vár
    - ... (végtelenségig megy, ha nincs gombnyomás)
    - Gomb megnyom hosszan, akkor megáll a motor
    - LED, motor áll, nem csinál semmit

    - Gomb megnyom röviden, akkor indul el a motor
    - Motor megy x fordulatot
    - LED villog x ideix x-szer, jelzi, hogy vár
    - Motor megy x fordulatot
    - LED villog x ideix x-szer, jelzi, hogy vár
    - ... (végtelenségig megy, ha nincs gombnyomás)

    Programkód:

    /*
    ===============
    Stepper wiring:
    ===============
    Arduino - Driver
    D8 - IN1
    D9 - IN2
    D10 - IN3
    D11 - IN4

    ===========
    LED wiring:
    ===========
    LED "-" : GND
    LED "+" : D13

    */
    #include <Stepper.h>
    #define STEPS 100
    #define IN1 8
    #define IN2 9
    #define IN3 10
    #define IN4 11

    Stepper small_stepper(STEPS, 8, 10, 9, 11);


    int Steps2Take = 0;
    long temps = 0;
    int Cycle;
    int Rotate_n_temp;
    int Rotate_n;
    int PSW = 5;
    void setup()
    {
    Serial.begin(9600);
    pinMode(13,OUTPUT);
    pinMode(IN1,OUTPUT); //stepper motor coil-1
    pinMode(IN2,OUTPUT); //stepper motor coil-2
    pinMode(IN3,OUTPUT); //stepper motor coil-3
    pinMode(IN4,OUTPUT); //stepper motor coil-4
    pinMode(PSW, INPUT); // Push Switch
    }

    void loop()
    {

    Rotate_n=1;
    Rotate_n_temp = Rotate_n-1;
    digitalWrite(13, HIGH);
    delay(100);

    Serial.println("Stepper motor working, one cycle is OK ");
    small_stepper.setSpeed(300);

    if (Cycle<=Rotate_n_temp){

    Steps2Take = -4096;
    temps = millis();
    small_stepper.step(Steps2Take);
    temps = millis()- temps ;
    Serial.println("Rotate cycle noumber:");
    Serial.println(Rotate_n);
    Serial.println("Motor step noumber:");
    Serial.println(temps);
    digitalWrite(IN1, LOW);
    delay(2);
    digitalWrite(IN2, LOW);
    delay(2);
    digitalWrite(IN3, LOW);
    delay(2);
    digitalWrite(IN4, LOW);
    delay(2);
    delay(2000); //pause

    Steps2Take = 4096;
    temps = millis();
    small_stepper.step(Steps2Take);
    temps = millis()- temps ;
    Serial.println(temps);
    digitalWrite(IN1, LOW);
    delay(2);
    digitalWrite(IN2, LOW);
    delay(2);
    digitalWrite(IN3, LOW);
    delay(2);
    digitalWrite(IN4, LOW);
    delay(2);
    delay(2000); //pause
    digitalWrite(13, LOW);
    delay(100);
    digitalWrite(13, HIGH);
    delay(100);
    Cycle++;
    }
    else{
    digitalWrite(IN1, LOW);
    delay(2);
    digitalWrite(IN2, LOW);
    delay(2);
    digitalWrite(IN3, LOW);
    delay(2);
    digitalWrite(IN4, LOW);
    delay(2);

    digitalWrite(13, LOW);
    delay(2000);
    digitalWrite(13, HIGH);
    delay(2000);
    digitalWrite(13, LOW);
    delay(2000);
    digitalWrite(13, HIGH);
    delay(2000);
    digitalWrite(13, LOW);
    delay(2000);
    digitalWrite(13, HIGH);
    delay(2000);
    /* digitalWrite(13, LOW);
    delay(2000);
    digitalWrite(13, HIGH);
    delay(2000);
    digitalWrite(13, LOW);
    delay(2000);
    digitalWrite(13, HIGH);
    delay(2000);
    digitalWrite(13, LOW);
    delay(2000);
    digitalWrite(13, HIGH);
    delay(2000);
    digitalWrite(13, LOW);
    delay(2000);
    digitalWrite(13, HIGH);
    delay(2000);
    digitalWrite(13, LOW);
    delay(2000);
    digitalWrite(13, HIGH);
    delay(2000);
    digitalWrite(13, LOW);
    delay(2000);
    digitalWrite(13, HIGH);
    delay(2000);
    digitalWrite(13, LOW);
    delay(2000);
    digitalWrite(13, HIGH);
    delay(2000);
    digitalWrite(13, LOW);
    delay(2000);
    digitalWrite(13, HIGH);
    delay(2000);
    digitalWrite(13, LOW);
    delay(2000);
    digitalWrite(13, HIGH);
    delay(2000);
    digitalWrite(13, LOW);
    delay(2000);
    digitalWrite(13, HIGH);
    delay(2000);
    digitalWrite(13, LOW);
    delay(2000);
    digitalWrite(13, HIGH);
    delay(2000);
    digitalWrite(13, LOW);
    delay(2000);
    digitalWrite(13, HIGH);
    delay(2000);*/
    //1 min waiting, and restart motor

    Cycle=0;
    }
    }

Új hozzászólás Aktív témák