- Labornetzteil AliExpress         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 12 von 12

Thema: pollSwitch

  1. #11
    Neuer Benutzer Öfters hier
    Registriert seit
    07.09.2006
    Ort
    Hameln
    Beiträge
    15

    voll am verzweifeln......

    Anzeige

    Praxistest und DIY Projekte
    hier ma mein code..... aber asuro fährt zwar nur er macht fünf taster das gleiche und einer nur macht das was er wirklich machen soll!

    Code:
     #include "asuro.h"
     
     /* Um eventuelle Unterschiede zwischen linken und rechtem Motor auszugleichen 
      * definieren wir 2 Werte für fullspeed links und rechts
      */
     #define FULL_L 250    /* Fullspeed linker Motor */
     #define FULL_R 250    /* Fullspeed rechter Motor */
     
     /* Motor vorwärts */
     void MotorFwd(void)
     {
       MotorDir(FWD,FWD);
       MotorSpeed(150,150);
     }
     
     /* Motor rückwärts */
     void MotorRwd(void)
     {
       MotorDir(RWD,RWD);
       MotorSpeed(50,50);
     }
     
     /* Motor rückwärts links */
     void MotorRwdL(void)
     {
       MotorDir(RWD,RWD);
       MotorSpeed(175,100);
     }
     
     /* Motor rückwärts rechts */
     void MotorRwdR(void)
     {
       MotorDir(RWD,RWD);
       MotorSpeed(100, 175);
     }
     
     /* Motor stop */
     void MotorStop(void)
     {
       MotorSpeed(0,0);
     }
     
     int main(void)
     {
       unsigned char t1, t2, t3, t4, t5, t6;
     
       Init();
       while(1)
       {
         t1 = PollSwitch();
         t2 = PollSwitch();
         t3 = PollSwitch();
         t4 = PollSwitch();
         t5 = PollSwitch();
         t6 = PollSwitch();
         
         if(t1 == 0 && t2 == 0 && t3 == 0 && t4 == 0 && t5 == 0 && t6 == 0) /* keine Taste gedrückt*/
         {
           MotorFwd();          /* vorwärts fahren */
           FrontLED(ON);
           BackLED(OFF,OFF);
         }
         else if (t1 && t2 && t1 == t2)
         {
           MotorStop();
           if(t1 & 0x01) /* Taste 1 links gedrückt?*/
           {+
             MotorRwdL();       /* Rückwärtskurve links fahren */
             FrontLED(OFF);
             BackLED(ON,OFF);
           }
           if(t2 & 0x02) /* Taste 2 links gedrückt?)*/
           {
             MotorRwdL();       /* Rückwärtskurve links fahren */
             FrontLED(OFF);
             BackLED(ON,OFF);
           }
           if(t3 & 0x04) /* Taste 3 gedrückt?)*/
           {
             MotorRwdL();       /* Rückwärtskurve links fahren */
             FrontLED(OFF);
             BackLED(ON,OFF);
           }
           if (t4 & 0x08) /* Taste 4 rechts gedrückt? */
           {
             MotorRwdR();       /* Rückwärtskurve rechts fahren */
             FrontLED(OFF);
             BackLED(OFF,ON);
           }
           if (t5 & 0x16) /* Taste 5 rechts gedrückt? */
           {
             MotorRwdR();       /* Rückwärtskurve rechts fahren */
             FrontLED(OFF);
             BackLED(OFF,ON);
           }
           if (t6 & 0x32) /* Taste 6 rechts gedrückt? */
           {
             MotorRwdR();       /* Rückwärtskurve rechts fahren */
             FrontLED(OFF);
             BackLED(OFF,ON);
           }
           Msleep(750);        /* zeit zum rückwärtsfahren egal ob links oder rechts   Msleep(1000) = 1sekunde*/
         }
       }
       return 0;
     }

    PLEASE HELP!

  2. #12
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    37
    Beiträge
    4.063
    /* Motor rückwärts */
    void MotorRwd(void)
    {
    MotorDir(RWD,RWD);
    MotorSpeed(50,50);
    }

    50,50 ist zu wenig. da wird der asuro sich nciht bewegen.

    ausserdem hast du für jeden taster einzeln pollswitch aufgerufen. das ist quatsch.
    die pollswitch funktion gibt EINEN wert zurück, in dem alle taster gespeichert sind.

    aslso steht in allen werten t1 bis t6 in deinem programm der gleiche wert, deshalb wird er zwangsweise nur mist machen...

    wie pollswitch richtig verwendet wird, steht sehr gut erklärt in der anleitung. ausserdem schau mal hier:

    https://www.roboternetz.de/phpBB2/ze...t=25280#232210
    Read... or die.
    ff.mud.de:7600
    Bild hier  

Seite 2 von 2 ErsteErste 12

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

fchao-Sinus-Wechselrichter AliExpress