- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 10 von 25

Thema: Asuro steigt nicht aus while schleife aus

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #12
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Ne, Kommentare ändern natürlich nichts an der Funktionsweise, aber sie helfen auch dir selbst dein eigenes Programm zu verstehen. Ich hab' mal versucht deine Gedanken in ein Programm zu packen:

    PHP-Code:
    #include "asuro.h"
    #include "myasuro.h"

    int main(void)
    {
        
    unsigned int data[2]; // Speicherplatz für Odo- und Linedaten
        
    int i// Integervariable zur freien Verwendung

        
    Init();
        
    FrontLED(ON); // Linienbeleuchtung einschalten
        
    Sleep(255); // warten bis LED volle Helligkeit erreicht hat
        
    LineData(data); // ADC anwärmen
        
    while(1)
        {
            
    MotorSpeed(200,200); // und losfahren

            
    while(PollSwitch() == 0// folge der Linie bis zum ersten Hinderniss
            
    {
                
    LineData(data);
                if (
    data [0] > data [1])
                    
    MotorSpeed(200,100);
                else
                    
    MotorSpeed(100,200);
                
    Sleep(100); // Regelung etwas dämpfen
            
    }

            
    MotorSpeed(0,0); // anhalten weil Hinderniss erkannt wurde
            
    Msleep(500);

            for (
    i=0i<40i++) // Becher aufnehmen (Servoimpuls 40x senden)
            
    {
                
    BackLED(OFF,ON);
                
    Msleep(1); // Impulslänge 1ms
                
    BackLED(OFF,OFF);
                
    Msleep(19); // Impulspause 19ms
            
    }

            
    OdometrieData(data); // Becherfarbe ermitteln
            
    if (data[0] > 500)
            {
                
    MotorSpeed(0,200); // hell bedeutet nach links abbiegen
                
    StatusLED(YELLOW);
            }
            else
            {
                
    MotorSpeed(200,0); // dunkel bedeutet nach rechts abbiegen
                
    StatusLED(RED);
            }

            
    Msleep(1000); // eine Sekunde drehen
            
    StatusLED(GREEN); //fertig
            
    MotorSpeed(200,200); // weiterfahren (und hoffen, dass die Linie noch da ist ;)
            
            
    while(PollSwitch() == 0// folge der Linie bis zum zweiten Hinderniss
            
    {
                
    LineData(data);
                if (
    data [0] > data [1])
                    
    MotorSpeed(200,100);
                else
                    
    MotorSpeed(100,200);
                
    Sleep(100);
            }

            
    MotorSpeed(0,0); // nochmals anhalten
            
    Msleep(500);

            for (
    i=0i<40i++) // und Becher wieder ablegen
            
    {
                
    BackLED(OFF,ON);
                
    Msleep(2); // Impulslänge 2ms
                
    BackLED(OFF,OFF);
                
    Msleep(18); // Prima!
            
    }
            
            
    // Vermutlich sollten wir jetzt nochmals drehen. Da wir aber vergessen haben,
            // welche Farbe der Becher hatte, wissen wir nicht, wohin wir drehen sollen ;)
        
    }
        return(
    0);

    Allerdings kann ich nicht sagen, ob das so funktioniert.

    Schicker Greifer. Irgendwo habe ich den auch schon mal gesehen ;)

    Gruß

    mic

    Edit: Ich vermute, hell und dunkel für die Becherfarbe sind vertauscht...
    Geändert von radbruch (19.06.2011 um 20:14 Uhr)
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

Ähnliche Themen

  1. FOR-Schleife von -1 bis +1 nicht möglich?
    Von V:X im Forum Robby RP6
    Antworten: 3
    Letzter Beitrag: 29.12.2010, 17:16
  2. Helligkeit des Dimmers steigt nicht linear an
    Von 8undzwanzigs im Forum PIC Controller
    Antworten: 28
    Letzter Beitrag: 14.11.2010, 15:18
  3. While Schleife funktioniert nicht!
    Von Wiederstand im Forum Software, Algorithmen und KI
    Antworten: 6
    Letzter Beitrag: 18.08.2010, 19:37
  4. Antworten: 1
    Letzter Beitrag: 09.03.2009, 15:19
  5. While-Schleife geht nicht!!!
    Von Undergroundi im Forum Asuro
    Antworten: 14
    Letzter Beitrag: 22.12.2007, 21:34

Stichworte

Berechtigungen

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

Solar Speicher und Akkus Tests