Also hier man Quellcode:
Die nötigen Konstanten:
Diese Funktio ist zunächst mal für den Triggerimpuls:Code:// Konstanten #define TRIGGER_IMPULS PORTB.3 #define ECHO_PIN PIND.6
Diese Funktion dient dann zum eigentlich Messen des Abstandes:Code:// Funktion um Triggerimpuls zu erzeugen void trigger(){ unsigned int i; TRIGGER_IMPULS = 1; for(i = 0;i<1000;i++); TRIGGER_IMPULS = 0; }
Code:// Funktion zum messen der Distanz zwischen Roboter und Gegenstand unsigned int distanzmessen(){ unsigned int entfernung; entfernung = 0; trigger(); while(ECHO_PIN == 0); while(ECHO_PIN == 1){ entfernung++; } return entfernung; }
Und zum Schluss noch eine Funktion mit dem man dass ganze Auswertet und dementsprechende Dinge ausführt wie anhalten und fahren:
Vielleicht hilf es ja noch jemandem weiterCode:// Funktion zum anhalten wenn ein Gegenstand im Weg ist void vorgegenstandhalten(){ unsigned int l, entfernung2; entfernung2 = distanzmessen(); for(l = 0;l<0xffff;l++); if(entfernung2 <= 2000){ Motorstop(); }else if(entfernung2 > 2000){ Motorvor(); } }
Danke nochmal an euch alle!!!!!







Zitieren

Lesezeichen