- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 5 von 6 ErsteErste ... 3456 LetzteLetzte
Ergebnis 41 bis 50 von 55

Thema: Anfänger braucht Hilfe

  1. #41
    Erfahrener Benutzer Fleißiges Mitglied Avatar von Filou89
    Registriert seit
    24.12.2010
    Ort
    Thun, Switzerland
    Alter
    35
    Beiträge
    116
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo Crystal Eye,
    zu 2.:
    das Problem ist jicht die Zeitdauer, sondern, dass du mit startStopwatch1() die Stoppuhr erstmal starten musst. Diese Zeile hast du auskommentiert.
    zu 3.:
    Richtig, das ist zwar nicht programmiert, sondern direkt auf der Platine angeschlossen.

    Zum Teil mit dem Rotieren: (eventuell erkläre ich hier sachen, die du schon lange kennst)
    bei der funktion rotate übergibst du vier Argumente:
    1. Gewünschte Geschwindigkeit
    2. Richtung (Rechts oder Links)
    3. Winkel
    4. blocking oder nicht

    da du ja solange rotieren willst, wie du ein Hindernis erkennst, kennst du ja den Winkel nicht, was du aber für rotate müsstest.
    Der RP dreht sich ja, wenn eine Raupe vorwärts, die andere rückwärts dreht.
    Mit setMotorDir(FWD,BWD); kannst du eine Rechtsdrehung einstellen. Der RP bewegt noch nicht.
    Anstelle setMotorDir() kannst du auch changeDirection(Right); schreiben.

    Damit der RP sich bewegt, befiehlst du: moveAtSpeed(60,60);
    Jetzt drehen beide Raupen mit 60, links vorwärts, rechts rückwärts. Das Gibt eine Rechts-Rotation an Ort.
    Sind die Geschwindigkeiten rechts und links nicht gleich, dreht er nicht mehr an Ort, sondern fährt ein Wenig.
    Mit einer while - Anweisung, lässt du den RP solange mit der gewünschten Geschwindigkeit drehen, bis du keine Obstacles mehr hast.
    Irgendwie sowas ähnliches:
    Code:
    if(obstacle_left){     //wollen wir rechts drehen
       stop();                   //mal anhalten
       setMotorDir(FWD,BWD); //Rechtsdrehung einstellen
    
       while (obstacle_left){     //solange wir das Hindernis haben
           moveAtSpeed(80,80);//Geschwindigkeit einstellen
           task_motionControl();//Motoren Starten
       }
       stop();               //dann wieder anhalten, sonst wird moveAtSpeed(); beibehalten, glaube ich zumindest =)
    
    } else if (obstacle_right){
    //......
    }
    Hoffe, du verstehst wie ich es meine. Nochmehr hoffe ich, dass meine Überlegungen aber auch richtig sind =)

    MfG
    Filou

  2. #42
    Halllo Filou89,
    zu2.:
    ok, verstehe = blöder Fehler, wieder einmal hehe
    Jup, die rotate-Funktion verstehe ich schon (ok, bis auf das blocking <= Wird hier die Schleife z.B. angehalten?)
    zum Hindernis-Teil:
    An Hand deines Beispiels verstehe ich es jetzt! - Ich hatte den zusammenhang nicht ganz verstanden , aber jetzt PERFEKT!
    Von Dir kann man sehr gut lernen. Du erklärst es richtig gut! Wird bestimmt mehreren hier helfen! DANKE dafür!
    Das Prinzip ist verstanden. Jetzt versuche ich es selbst mal, und werde gleich meine Ergebnisse/Erkenntnisse schildern.

    Beste Grüße

    Crystal Eye
    Wer braucht Fenster, um an einem Rechner zu arbeiten?

  3. #43
    Erfahrener Benutzer Fleißiges Mitglied Avatar von Filou89
    Registriert seit
    24.12.2010
    Ort
    Thun, Switzerland
    Alter
    35
    Beiträge
    116
    Danke, danke
    Ich tu was ich kann.
    Das mit dem Blocking geht bei mir auch noch nicht so. Wollte mal während dem fahren immer ausgaben über die Schnittstelle zum PC machen. Hab ich aber nicht geschafft.
    eventuell hast du da ja etwas gelesen, das ich nicht gesehen habe.
    MfG
    Filou

  4. #44
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Irgendetwas war mal mit dem Stop() nicht so einfach zu lösen:

    https://www.roboternetz.de/community...eAtSpee-Befehl
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  5. #45
    Also ich habe es abgeändert. Der Robby erkennt das Hinderniss und rotiert schön, jedoch hört er nicht mehr auf. Dann hat ja radbruch den Link gepostet, mit dem Stop. Ich habe mir den Durchgelesen & nicht alles verstanden aber dann habe ich das mit der move - Funktion versucht.

    Der folgende Code beinhaltet die "Stop();" - Funktion:

    Code:
    if(obstacle_left){		//wollen wir rechts drehen
    	stop();					//mal anhalten
    	setMotorDir(FWD,BWD); 	//Rechtsdrehung einstellen
    
    	while (obstacle_left){	//solange wir das Hindernis haben
        moveAtSpeed(80,80);		//Geschwindigkeit einstellen
        task_motionControl();	//Motoren Starten
    	}
    	stop();               //dann wieder anhalten, sonst wird moveAtSpeed(); beibehalten, glaube ich zumindest =)
    	}
    Und dieser die move(); - Funktion:

    Code:
    if(obstacle_left){		//wollen wir rechts drehen
    	stop();					//mal anhalten
    	setMotorDir(FWD,BWD); 	//Rechtsdrehung einstellen
    
    	while (obstacle_left){	//solange wir das Hindernis haben
        moveAtSpeed(80,80);		//Geschwindigkeit einstellen
        task_motionControl();	//Motoren Starten
    	}
    	move(0,FWD,0,BLOCKING);                       //Stop
                mSleep(1500);               //dann wieder anhalten, sonst wird moveAtSpeed(); beibehalten, glaube ich zumindest =)
    	}
    Habe ich da ein fehler im Code, oder warum hört er nicht auf zu drehen... der dreht Kreise wie wild


    Beste Grüße

    Crystal Eye
    Wer braucht Fenster, um an einem Rechner zu arbeiten?

  6. #46
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    while (obstacle_left){

    obstacle_left wird vom task_motionControl() nicht aktuallisiert.
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  7. #47
    Ok, aber ich rufe doch immer die task_motionControl() auf (im Hauptprogramm = task_RP6System() auf, oder?

    Oder stehe ich gerade auf dem Schlauch?
    Wer braucht Fenster, um an einem Rechner zu arbeiten?

  8. #48
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Das macht task_RP6System:

    Code:
    // System control routine
    
    /**
     * Calls all important system tasks.
     */
    void task_RP6System(void)
    {
    	task_ADC();
    	task_ACS();
    	task_Bumpers();
    	task_motionControl();
    }
    Du willst drehen und gleichzeitig das ACS auswerten. Also musst du auch beide Tasks ausführen:
    Code:
    	while (obstacle_left){	//solange wir das Hindernis haben
    		moveAtSpeed(80,80);		//Geschwindigkeit einstellen
    		task_motionControl();	//Motoren Starten
    		task_ACS();	//ACS auswerten
    	}
    ungetestet
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  9. #49
    Ach, jetzt verstehe ich was Du mit...
    while (obstacle_left){

    obstacle_left wird vom task_motionControl() nicht aktuallisiert.
    ...meinst. Ist ja i-wie klar jetzt. Ich habe schon überlegt, wie bekomme ich das task_motionControl() dazu die obstacle(s) zu aktuallisieren... OMG
    *Sorry*

    Crystal Eye

    Nachtrag:
    Da ich mit Eurer Hilfe es geschafft habe Hindernissen noch besser auszuweichen, hier das "Beweisvideo" in meinem Youtube Kanal
    http://www.youtube.com/user/Robottechnik90

    Mal sehen wann ich mich dann an die LED´s mache...

    Beste Grüße

    Crystal Eye
    Geändert von Crystal Eye (10.08.2011 um 16:08 Uhr)
    Wer braucht Fenster, um an einem Rechner zu arbeiten?

  10. #50
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.08.2011
    Ort
    Hannover
    Beiträge
    164
    Klasse Video! BTW: mein zufäliges-Fliehen ist auch fertig. Leider weiß ich (noch) nicht wie ich ein Video herstelle und hier zeigen kann (Smartphone wackelt zu sehr, und zu einem youtube-Account kann mich noch nicht durchringen).

    viele Grüße
    Andreas

Seite 5 von 6 ErsteErste ... 3456 LetzteLetzte

Ähnliche Themen

  1. Anfänger braucht Hilfe
    Von Tonyy im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 14.12.2010, 08:16
  2. hilfe Anfänger braucht hilfe beim start
    Von thomas3 im Forum Robby RP6
    Antworten: 26
    Letzter Beitrag: 20.09.2010, 22:07
  3. Anfänger braucht Hilfe
    Von vitja09 im Forum Controller- und Roboterboards von Conrad.de
    Antworten: 8
    Letzter Beitrag: 07.10.2006, 14:31
  4. Anfänger braucht hilfe!!!!
    Von mathisdedial im Forum Elektronik
    Antworten: 4
    Letzter Beitrag: 22.12.2004, 14:02
  5. Anfänger braucht hilfe
    Von khazad im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 11
    Letzter Beitrag: 25.10.2004, 12:27

Berechtigungen

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

LiFePO4 Speicher Test