-
-
Erfahrener Benutzer
Roboter-Spezialist
Pepisoft in der einfachen Variante im Code hatte ich noch nen Fehler.
Diese Zeile:
while (!( MESS_PIN & (1<<MESS_BIT)));
muss so heissen. while ( MESS_PIN & (1<<MESS_BIT));
vorher hat er immer gewartet bis der Echo-Pin auf high geht und das ist ziemlich gelich nach dem 200us langen Ultraschalltburst. Aber ein Echo ist erst angekommen wenn der Echo-Trigger Eingang auf low geht.
Ach und bei der Funktion(ohne Input Capture usw.) musst du das ergebniss noch selbst in cm umrechnen. Also:
unsigned int wert;
wert=zeit_messung_us();
wert=(unsigned int) ( wert/58 ); // Jetzt in cm
Gruß Muraad
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen