- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 10 von 255

Thema: IR-bake

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #28
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    hi allerseits,

    eigentlich wollte ich hier ein video reinstellen, dass alles klappt, klappt ja auch aber nur im prinzip. Der RP6 findet brav die bake, fährt hin, bleibt aber per abfrage der bumper nicht zuverlässig genung stehen. mal tut er das, dann wieder nicht, ich glaube, ich habe nun in dem code die möglichkeiten die bumperabfrage zu plazieren ziemlich ausgeschöpft...

    Code:
                task_checkINT0();
                task_I2CTWI();
               if(bumper_left && bumper_right)
               {
                break;
                stop();
                }
    bzw. am ende der do-while schleife:

    Code:
    while(!bumper_left && !bumper_right);
                        break;
                        stop();
    evtl. liegt dort das problem, die abfrage der beiden task liegt innerhalb (am ende) der do-whileschleife? Könnte sich bitte jemand den code anschauen?

    das wird oberhalb der hauptschleife aufgerufen:

    Code:
    I2CTWI_initMaster(100);
        I2CTWI_setTransmissionErrorHandler(I2C_transmissionError);
        I2CTWI_setRequestedDataReadyHandler(I2C_requestedDataReady);


    Code:
    case 3://
                    setLEDs(0b0100);
    
                    writeString_P("suche der bake   \n");
                    writeChar('\n');
                    initRP6Control();
                    initLCD();
                    startStopwatch3();
                    t=0;
    
                    while(true)
                    {
                        do
                        {
    
                            if(getStopwatch3() > 50)
                            {
                                temp = read_IR_value();
    
                                if (temp == 0)
                                {
                                    x = getStopwatch3();
                                    setMultiIOLED3(1);
                                    setMultiIOLED3(0);
                                    if (t<10)
                                    {
                                    t++;
    
                                    if (t == 10)
                                    {
                                    y = getStopwatch3();
                                    z = y-x;
                                    t=0;
                                    setStopwatch3(0);
                                    if (z< 600)
                                    {
                                    move(100, FWD, DIST_MM(100), false);
                                    setStopwatch3(0);
                                    t=0;
                                    mSleep(400);
                                    task_checkINT0();
                                    task_I2CTWI();
                                    if(bumper_left && bumper_right)
                                    {
                                    break;
                                    stop();
                                    }
    
                                    }
    
                                    }
    
                                    }
    
    
                                }
    
                                else
                                {
                                    setMultiIOLED1(1);
                                    setMultiIOLED1(0);
                                    rotate(80, RIGHT, 1, false);
                                    setStopwatch3(0);
                                }
                                task_checkINT0();
                                task_I2CTWI();
                                if(bumper_left && bumper_right)
                                {
                                break;
                                stop();
                                }
    
                            }
    
                        task_checkINT0();
                        task_I2CTWI();
                        }
                        while(!bumper_left && !bumper_right);
                        break;
                        stop();
    
                        /**************************/
                        uint8_t key_1;
                        mSleep(100);
                        key_1 = getMultiIOPressedButtonNumber();
                        if(key_1 != 0) break;
                        stop();
                        /**************************/
                    }
    
                        break;
    Geändert von inka (03.02.2014 um 14:46 Uhr)
    gruß inka

Ähnliche Themen

  1. IR-Bake
    Von tornado im Forum Elektronik
    Antworten: 9
    Letzter Beitrag: 05.07.2007, 17:37
  2. IR-Bake
    Von Bernd-das-Brot im Forum Sensoren / Sensorik
    Antworten: 38
    Letzter Beitrag: 13.12.2005, 16:14
  3. ir-bake
    Von pebisoft im Forum Vorstellungen+Bilder von fertigen Projekten/Bots
    Antworten: 8
    Letzter Beitrag: 17.01.2005, 13:41
  4. ir-bake
    Von pebisoft im Forum Sensoren / Sensorik
    Antworten: 2
    Letzter Beitrag: 17.01.2005, 07:01
  5. Bake
    Von techboy im Forum Elektronik
    Antworten: 6
    Letzter Beitrag: 02.11.2004, 10:17

Berechtigungen

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

Solar Speicher und Akkus Tests