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
hat jemand einen tipp wie ich das mit nem timer hinbekomme oder von mir aus auch ne andere lösungCode: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
mfg







Zitieren

Lesezeichen