Bei der Programmierung habe ich diesen Source Code gefunden: 
	Code:
	uint16_t getAbstand(uint8_t sensor) {					//Ultrschallsensoren abfragen
	uint8_t tmp_sreg;
	tmp_sreg = SREG;
	cli();
	uint16_t ergebnis;
	
	DDRC |= sensor;										//Ausgang high
	PORTC |= sensor;
	_delay_us(20);
	PORTC &= ~sensor;									//Pin auf Eingang setzen
	DDRC &= ~sensor;
	while(!(PINC & sensor));							//auf Sensorantwort warten
	TCNT1 = 0;											//Counter Register auf 0 setzen
	while(PINC & sensor);								//warten bis Signalende
	ergebnis=TCNT1;										//Signallänge auslesen
	ergebnis=ergebnis*20;								//Abstand berechnen
	SREG=tmp_sreg;
	return (uint16_t) ergebnis/29;
}
 
Dazu habe ich mir Gedanken gemacht ob der so richtig ist weil hier anstatt durch 58 durch 29 geteilt wird? :/ 
der code ist von robo junior und der meinte auch dass ein Prescaler von 64 benutzt wird und das ergebnis dann in mm ist, in wie fern beeinflusst denn die Prescaler Angabe das Ergebnis?
						
					
Lesezeichen