ASURO Projekt Einen Motor pausieren lassen ?



  • Hallo
    Ich bin Schüler und anfänger was Programmieren betrifft... weshalb ich mir leider alles zusammenschnipseln muss.

    Mein Problemm ist, dass ich ein Projekt mit dem ASURO erarbeiten muss. Darum habe ich ihn zu einer Sortiermaschine umgebaut die drei verschieden große Murmeln sortiert. Ein Motor wirft meine Murmel in die Rollbahn und die Fototransistoren erkennen die jeweilige Kugelgröße durch mehr oder weniger helligkeit. Je nach Kugelgröße richtet der zweite Motor meinen Sortierarm aus, so das die Kugel in das gewünschte Fach rollt.
    Problem ist nun, das der Auswerfmotor {rechter Motor} (ganz am Ende des beigefügten Programmes siehe !!!!!!!! ) die ganze zeit läuft er soll aber eine bestimmte zeit pausieren bis die Kugel jnten ankommt. Mit Msleep funktioniert das ja nicht, da sonst das ganze Programm stopt und meine Fototransistoren die vorbeirollende Kugel nicht erkennen.

    Gibt es hier eine Möglichkeit nur den auswerf Motor eine bestimmte Zeit pausieren zu lasen ?
    [code]include <avr/io.h>
    #include "asuro.h"
    int main(void)
    {
    Init();
    unsigned int data[2]; //Initialisiert zwei Int-werte hintereinander
    FrontLED(ON);
    Msleep(1000);
    while (1)
    {

    LineData(data);

    if ((data[0]<700) && (data [1]<700))
    {
    MotorDir(FWD,FWD);
    MotorSpeed(85,0);
    Msleep(160);
    MotorSpeed(0,0);
    Msleep(3000);
    MotorDir(RWD,RWD);
    MotorSpeed(85,0);
    Msleep(160);
    MotorSpeed(0,0);

    }

    if ((data[0]>700) && (data[1]>700))
    {
    MotorDir(FWD,FWD);
    MotorSpeed(0,0);

    }

    if ((data[0]>700) && (data[1]<700))
    {
    MotorDir(RWD,RWD);
    MotorSpeed(85,0);
    Msleep(160);
    MotorSpeed(0,0);
    Msleep(3000);
    MotorDir(FWD,FWD);
    MotorSpeed(85,0);
    Msleep(160);
    MotorSpeed(0,0);
    }

    MotorDir(FWD,FWD); !!!!!!!!!!!!
    MotorSpeed(0,100);
    Msleep(480);
    MotorSpeed(0,0);

    }
    }
    Danke



  • Wie schon im Thread https://www.c-plusplus.net/forum/342608 vermutet, ist dein Beitrag im falschen Unterforum. Dein Code ist in C geschrieben.


Anmelden zum Antworten