Keresés

Hirdetés

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

  • Vladi

    nagyúr

    válasz Vladi #9902 üzenetére

    Nokéremszépen, ez a javított:

    /*
    Ez a vágási ciklus. Az enkóder gyári értéke 100/fordulat, 200-ra lett gyorsítva áttéttel, 8 rpm-ről 16 rpm-re.
    Egy lap kb 16 secundum, azaz 26-27 impulzus/sec. 1600 imp/min. 420-430 impulzus között lesz a szabvány 390 mm
    0.91 mm/imp ezzel lehet számolni. 420 mm-es lap így kb: 460 imp.
    */

    volatile const int enko = 3; //2-as pinbe van enkóder érzékelője, OPTÓN A JOBB OLDALI!!!, vezetékelésnél összekevertem, ezért a kódban cseréltem fel, ezért van itt keveredés!
    volatile const int piros = 2; //3-es pinbe dugva az azonnali vágó kapcsoló
    volatile const int rele = 5; // a kapcsoló relé.
    volatile const int alapled = 13;
    const int pulzus = 425; // EZ A LENYEG!
    const int releido = 300; // a relé nyitás-zárás ideje, mechanikusnál adatlap írja le, minimum 400 milisec, de inkább jóval több, 0.8-1 vagy mégtöbb sec!
    volatile int currentpulse;
    volatile bool voros;

    void setup() {
    pinMode(piros, INPUT); // a 2-es a piros az bemenet lett
    pinMode(enko, INPUT); // a kettes hurkázó is bemenet
    pinMode(rele, OUTPUT); // relé a 6-on kimenet
    pinMode(alapled, OUTPUT);
    //Serial.begin(9600); //debug céllal került bele
    attachInterrupt(1, szamlalo, CHANGE); //3-as az enkóder, megszakítást állítottam rá
    attachInterrupt(0, nyissz, FALLING);//2-es a piros, azon is megszíktás van
    //digitalWrite(alapled, LOW); // franc tudja miért, de HIGH-on tartja a ledet végig. Ártani nem árt, de inkább lekapcsolom.
    }

    void loop(){
    if(currentpulse >= pulzus || voros) {
    digitalWrite(rele, HIGH);
    delay(releido);
    digitalWrite(rele, LOW);
    //Serial.println("Vágtam, kövi.");
    voros = false;
    currentpulse = 0;
    }
    }

    void szamlalo(){
    currentpulse++;
    }

    void nyissz(){
    voros = true;
    }

    Vázlat használ 1314 bájt (4%) -ot a program tárhelyből. A maximum 32256 bájt.
    A globális változók 24 bájt (1%)-ot használnak a dinamikus memóriából, 2024 bájtot hagyva a helyi változóknak. A maximum 2048 bájt.

    :D

    [ Szerkesztve ]

    Nem félünk! Nem félünk! Itthon vagyunk e földön. Nem félünk! Nem félünk! Ez nem maradhat börtön!

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