-         

Ergebnis 1 bis 8 von 8

Thema: PollSwitch wird nicht zurückgesetzt

  1. #1
    Erfahrener Benutzer Roboter Genie Avatar von pinsel120866
    Registriert seit
    18.12.2007
    Ort
    Hohenems
    Alter
    51
    Beiträge
    847

    PollSwitch wird nicht zurückgesetzt

    Anzeige

    Hallo,

    ich habe folgenden Code:

    Code:
    #include "asuro.h" 
    #define STOP 100 
    
    int main(void) 
    { 
    
    while(1) 
    { 
    
    unsigned int lineData[2];
    unsigned char running = TRUE; 
    unsigned char i;
    unsigned char taste=0;
    
    Init();
    FrontLED(ON); 
    Sleep(255);
    LineData(lineData); 
    
    for(i=0;i<10;i++) 
    { 
    PollSwitch(); 
    } 
    t=PollSwitch();
    
    if ((lineData[0] > STOP) && (lineData[1] > STOP) && (t==0))
    { 
    MotorDir(FWD,FWD); 
    MotorSpeed(140,150); 
    
    for(i=0;i<10;i++) 
    { 
    PollSwitch(); 
    } 
    
    } 
    else
    { 
    MotorSpeed(0,0);
    BackLED(ON,ON); 
    Sleep(100); 
    for(i=0; i<210; i++)
    { 
    MotorDir(RWD,RWD); 
    MotorSpeed(130,130); 
    Sleep(100); 
    } 
    MotorSpeed(0,0); 
    
    for(i=0; i<140; i++)
    { 
    MotorDir(FWD,RWD); 
    MotorSpeed(140,140); 
    Sleep(100); 
    } 
    BackLED(OFF,OFF); 
    } 
    
    Sleep(100); 
    } 
    return 0; 
    }
    Mein Asuro verhält sich aber so als wäre ein Taster betätigt worden. Was ist falsch?

  2. #2
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    26.11.2006
    Ort
    Hamburg
    Alter
    25
    Beiträge
    384
    Hi pinsel,

    ich denke dein Problem liegt an den Linien werten, da 100 unter normalbedingungen eigentlich nur erreicht wird, wenn du mit ner Lampe draufleuchtest. Hast du dir deine Werte mal angeschaut, denn wenn du die Sensoren nicht getunt hast, dann solltest du eigentlich werte über weißem Papier von 50-70 vielleicht mal 80 erhalten, aber 100 sind da recht abwegig.

    mfg
    Erik

  3. #3
    Erfahrener Benutzer Roboter Genie Avatar von pinsel120866
    Registriert seit
    18.12.2007
    Ort
    Hohenems
    Alter
    51
    Beiträge
    847
    Hallo sloti,

    kannst du mir sagen, wie ich die Linensensorwerte messen kann?

  4. #4
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    26.11.2006
    Ort
    Hamburg
    Alter
    25
    Beiträge
    384
    Hi Pinsel,

    Das ist eigentlich ganz simpel. du musst allerdings die Lib version 2.6 benutzen (glaub ich zumindest kann sein, dass es die Funktion printint schon vorher gab). Ein \t in dem Code bedeutet ein tab zwischen den Werten ein \n bedeutet neue Zeile und ein \r bedeutet zum Zeilenanfang zurück.
    Code:
    #include "asuro.h"
    
    
    int main(void) 
    {
    unsigned int data[2];
    
    Init();
    
    FrontLED(ON);
    
    while (1)
    {		
    	LineData(data);
    	PrintInt(data[0]);
    	SerWrite("\t",1);
    	PrintInt(data[1]);
    	SerWrite("\n\r",2);
    }
    	
    return 0;
    }
    mfg
    Erik

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    31.12.2007
    Beiträge
    131
    Hallo,
    ich schätze auch das dies an deinen Linienwerten liegt. Ich hatte selbiges Problem. Versuchs mal mit 40 oder 50.

  6. #6
    Erfahrener Benutzer Roboter Genie Avatar von pinsel120866
    Registriert seit
    18.12.2007
    Ort
    Hohenems
    Alter
    51
    Beiträge
    847
    Morgen,

    danke für die Tipps. Das Messprogramm hat Werte zwischen 28 und 37 (wusste nicht dass es hier soooo dunkel ist ) ausgegeben. Damit hat es bei mir mit STOP=27 funktioniert. Die PollSwitch Funktion war's nicht.

  7. #7
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    26.11.2006
    Ort
    Hamburg
    Alter
    25
    Beiträge
    384
    Zitat Zitat von pinsel120866
    Das Messprogramm hat Werte zwischen 28 und 37 (wusste nicht dass es hier soooo dunkel ist ) ausgegeben.
    Das ist aber arg wenig. Hast du die Liniensensoren+ LED direkt an die Platine gelötet oder haste die ein wenig abstehen lassen?

    mfg
    Erik

  8. #8
    Erfahrener Benutzer Roboter Genie Avatar von pinsel120866
    Registriert seit
    18.12.2007
    Ort
    Hohenems
    Alter
    51
    Beiträge
    847
    Das kommt vermutlich daher, weil mein CD-Spindelgehäuse einiges an Schatten macht. Ausserdem sind meine LEDs nur gesteckt, wegen dem Umbau für die US-Erweiterungsplatine.

Berechtigungen

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