Hi,
ich bin grade dabei für für ein projekt einen asuro zu programmieren...nun wollte ich gerne das er es schafft durch ein unbekanntes labyrinth zu kommen,hab auch schon eine idee wie das klappen sollte nur happert es bei einem punkt der umstezung

erstmal meine idee
Unser labyrinth soll nur einen weg haben,also keine sackgassen usw...meine idee war deshalb wenn er einmal aneckt dreht er sich nach rechts und versucht weiter zu fahren,wenn er hier gleich wieder aneckt dreht er sich um 180 grad,da das ja nun nurnoch der einzigste weg ist bei dem es weiter gehen kann

Nun happert es bei der umsetzung an folgendem:
Ich weiß nicht genau wie ich es anstelle das der kleine kerl erkennt das er 2mal ganz kurz hintereinander angeeckt ist und sich dann um 180 grad drehen muss.Ich würde das jetzt irgendwie über timer lösen weiß aber noch nicht so richtig wie

Hier ist mal mein code bis jetzt
Hier ist noch ein Fehler drinne,der asuro dreht sich beim 2. anecken immer 180 grad
Code:
EXT_INT1:
	
	push r16			// alles auf Stack retten!
	push R20
	push r21
	in   r16, SREG
	push r16
	
	ldi r20, MOSP		// Motorgeschwindigkeit einstellen
	ldi r21, MOSP
	rcall Motorspeed

	cpi r25, 0			// 1. Interrupt Drehen 90 grad		
	breq Drehen

	cpi r25, 1			// 2. Interrupt Drehen 180 grad
	breq Drehen180



	Drehen:

		Motorschnelldrehenrechts	
		ldi r18, KUZeit
		rcall wait		
		inc r25				
	rjmp Ende

	Drehen180:

		Motorschnelldrehenrechts	
		ldi r18, KUZeit
		rcall wait
		Motorschnelldrehenrechts	
		ldi r18, KUZeit
		rcall wait
		clr r25	
	rjmp Ende


	Ende:

	Motorvor		
	ldi r16, 0x80		
	out GIFR, R16	
	pop r16				
	out SREG, r16
	pop r21
	pop r20
	pop r16				
reti
hat jemand einen tipp wie ich das mit nem timer hinbekomme oder von mir aus auch ne andere lösung

mfg