- 12V Akku mit 280 Ah bauen         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 13 von 13

Thema: kollisions programm

  1. #11
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.01.2009
    Ort
    NRW
    Beiträge
    562
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo

    versuchs mal so:


    Code:
    #include <asuro.h>
    int main (void)
    {
    Init();
    int p;
    while(1){
    MotorDir(FWD,FWD);
    MotorSpeed(125,125);
    if(PollSwitch()>=8 )
    {
    if(PollSwitch()>=8 )
    {
    MotorDir(RWD,RWD);
    MotorSpeed(125,125);
    for(p=0;p<300;p++)
    {Sleep(72);}
    
    MotorDir(BREAK,RWD);
    MotorSpeed(0,125);
    for(p=0;p<1000;p++)
    {Sleep(72);}
    }
    }
    if((PollSwitch()<8 && PollSwitch()>1))
    {
    if((PollSwitch()<8 && PollSwitch()>1))
    {
    MotorDir(RWD,RWD);
    MotorSpeed(125,125);
    for(p=0;p<300;p++)
    {Sleep(72);}
    
    MotorDir(RWD,BREAK);
    MotorSpeed(125,0);
    for(p=0;p<1000;p++)
    {Sleep(72);}
    }
    }
    }
    while(1){}
    return 0;
    }
    Dann wird 2 mal abgefragt ob ein Taster auch gedrückt wurde.

    PS Funktioniert das Tischkantenprogramm?

    Gruß Thund3r

  2. #12
    Benutzer Stammmitglied
    Registriert seit
    25.05.2009
    Ort
    Cleebronn
    Alter
    31
    Beiträge
    80
    Also danke werde ich gleich veruschen ob es jetzt geht.
    Das mit der Tischkante geht nicht. egal welche Zahl ich eingegeben ahbe der Asuro ist immer stehen geblieben. Ist egal ich hab ein anderes Tischkanten Programm gefunden.

    Code:
    #include "asuro.h"
    
    #define STOP 40
    int main(void)
    {
     
     unsigned int lineData[2];
     unsigned char running = 1;
     Init () ;
     MotorDir (FWD,FWD);
     MotorSpeed(180,180);
     FrontLED(ON);
     do {
         LineData (lineData) ;
        if ((lineData[0] < STOP) && (lineData[1] < STOP)) {
          MotorSpeed(0,0);
          BackLED(ON,ON);
          running = 0;
          
       }
    } while (running);
    while(1);
    return(0);
    }

    bei diesem Programm stürt mich ,dass der Asuro nich nach hintenfährt wenn er an der tischkante ist. Auch gut wäre wenn er an der Tischkante steht, dass die Backleds blincken. wäre coll wenn das Jemand so umschreiben könnte

    Gruß Cele

  3. #13
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.01.2009
    Ort
    NRW
    Beiträge
    562
    Hallo

    Mit geblinke und nun wird das Programm dauerhaft ausgeführt wenn du den Asuro nachdem er ne Tischkante gefunden hat wieder auf den Tisch stellst sucht er wieder ne Tischkante:

    Nich getestet:
    Code:
    #include "asuro.h"
    
    #define STOP 40
    int main(void)
    {
     
     unsigned int lineData[2];
     unsigned char running = 1;
     Init () ;
    int p;
     MotorDir (FWD,FWD);
     FrontLED(ON);
     while (1) {
         LineData (lineData) ;
        if ((lineData[0] < STOP) && (lineData[1] < STOP)) {
         MotorSpeed(0,0);
         BackLED(ON,OFF);
         for(p=0;p<200;p++)
         {Sleep(72);}
         BackLED(OFF,ON);
         for(p=0;p<200;p++)
         {Sleep(72);} 
         
       }
    else
    {
    
     MotorSpeed(180,180);
    }
    
    } 
    while(1);
    return(0);
    }
    Gruß Thund3r

Seite 2 von 2 ErsteErste 12

Berechtigungen

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

Solar Speicher und Akkus Tests