-         

Ergebnis 1 bis 4 von 4

Thema: brauche hilfe für projekt für US Asuro

  1. #1

    brauche hilfe für projekt für US Asuro

    Anzeige

    guten tag liebe leute ich brauche dringend hilfe .

    ich habe zur zeit ein asuro projekt .
    mein roboter soll folgendes machen .
    ultraschall so in 10 cm ein hinderniss erkennen soll rückwärts fahren und dann 90grad nach links biegen 5cm fahren und dann 90grad nach rechts biegen und dann gucken ob da ein hinderniss ist wenn nicht dann grade aus weiter fahren .
    also kurz gesagt er muss um diesen hinderniss drum rum fahren . ich habe zwar diesen code hier.

    [/code]
    Code:
    #include "asuro.h"
    #include "ultrasonic.h"
    
    int i,j,abstand=200; // Variablen deklarieren
    
    
    
    
    int main(void) // Hier beginnt das Programm
    {
    Init();	
    	while (1)  //Endlosschleife
    	{	
        abstand = Chirp();
    	SerPrint("\r\n distanz in cm: ");
        PrintInt(abstand);	
    	
       while (abstand>10)
       {
    	MotorDir(FWD,FWD);
    	MotorSpeed(180,180);
    	StatusLED(GREEN);	
    	abstand = Chirp();
    	SerPrint("\r\n distanz in cm: ");
        PrintInt(abstand);		
    			
    	}							// Bei Kollision:
    			
    		for (j=0;j<100;j++)		// kurz warten			
    			{
    			MotorDir(FREE,FREE);
    			Sleep(255);
    			}
    			
    		for (i=0;i<200;i++)
    			{
    			MotorDir(RWD,RWD);	  // rückwärts drehen 
    			MotorSpeed(120,0);
    			BackLED(ON,ON);
    			StatusLED(RED);
    			Sleep(255);
    			}
    			for (j=0;j<100;j++)	// kurz warten
    			{
    			MotorDir(FREE,FREE);
    			Sleep(255);
    			}
    	    
    	}	
    	
    }

    aber mit dem hier fährt der nur nach rechts und weiter grade aus bis ein hinderniss kommt .

    ich hoffe ihr habt erstens verstanden was ich sage und zweiten hoffe ich das ihr mir den quellcode sagen könnt . das wäre eine grosse hilfe .
    danke voraus

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    08.08.2004
    Ort
    Zwolle
    Alter
    61
    Beiträge
    531
    Hallo,

    vielleicht geht's so: (etwas cryptisch...)

    Code:
    	while(1){
    
    		abstand messen
    
    		if ( abstand > 10 ) {
    
    			forwarts fahren
    
    		}
    
    		else {
    
    			ruckwarts
    
    			warte
    
    			90 grad links
    
    			5 cm forwarts fahren
    
    			90 grad rechts
    
    		}
    
    	}
    Gruss,

    Arexx-Henk

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.167
    Mart:

    Dein program sendet die abstand-werten doch zu deinem rechner. Was hat er zuruck gemeldet? Einiger extra SerWrite kommandos vor und nach das "kurz warten" und ''rückwärts drehen" wird das weiter klar machen welcher program stellen er genau durchlaufen hat.

    Ausserdem, MotorDir(FREE,FREE) ist kein bremsen. Free meinst das kein strom fliesst durch den motor. Ähnlich die reibund wie beim oder (MotorSpeed(0,0) ) Er wird dadurch nur weiterfahren und bremsen durch getriebe reibung und so. Richtig bremsen geht mit MotorDir(BREAK,BREAK).

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    14.09.2009
    Beiträge
    5
    ich hab da so ein ähnliches problem wie marth

    ich hab bemerkt, dass der erste abstand der gesendet wird "0" ist egal ob etwas vor dem Sensoren ist oder nicht.
    beim USTest programm liefert das hyperterminal zb in so einer reiehfolge die werte: (halte beim einschalten etwas vor den sensor und bewege es vor und zurück sobald ich das hinderniss komplett entferne stoppt der asuro das senden kommt mir vor als ob er sich aufhängt)???
    entfernung... : 0
    " : 13
    " : 10
    " : 15
    " : 8
    wie erwähnt sobald der gegenstand entfernt wird wird nichts mehr angezeigt!

    dadurch führt er dann beim US-Programm bei mir zuerst die drehung durch anstatt erstmal geradeaus zu fahren!
    wie krieg ich das denn hin das der sensor von anfang an die richtige entfernung sendet?

Berechtigungen

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