Foooob
08.04.2005, 17:22
Hallo
Ich bin gerade dabei das Programm für meinen Bot zu schreiben.
Der Bot verfügt am Anfang (tja das Geld ^^) nur über 2 Kollisionstaster als Sensoren. Die Taster sind links und rechts von der Front des Bots positioniert.
Wenn der (auf die Wand gesehen) linke Sensor was meldet, soll der Bot seine 2 Räder gegeneinander drehen (nocht nicht das Problem) und das nur für eine ganz bestimmte Zeit. Maybe 1,5s. Wie mache ich das genau mit der Zeit?
Hier mal mein ganzer Code:
'Version 1.0
'----------------------------------------------------------
$regfile = "m8def.dat" 'ATmega8
$crystal = 3686411 'Quarz: 3686411 Hz
Ddrd = &B01111000 'Pin PD3 bis PD6 als Ausgänge
Portd = &B00000000 'Pin PD3 bis PD6 auf Low
Ddrb = &B00000000 'Pin PB4 und 5 als Eingang
Portb = &B00110000 'Pin PB4 und 5 auf High
Do
Portd.3 = 1 'Motoren drehen in gleiche Richtung
Portd.5 = 1
If Pinb.4 = 0 Then
Portd.3 = 1
Portd.4 = 0
Portd.5 = 0
Portd.6 = 1 'Motoren drehen gegeneinander
Else
Portd.3 = 1
Portd.4 = 0
Portd.5 = 1
Portd.6 = 0
Loop
End
Bitte die Motoreneingänge und deren Anschlüsse mal außen vor lassen. Habe ich nur kurz geschrieben, ich weis ned ob der so entgegensetzt drehen würde. Dienen nur als Orientierung. Es geht ja eher um die Dauer.
Würde das so denn bis jetzt funktionieren? Die Platine ist leider noch nicht fertig, möchte mich nur mal im Vorfeld damit vertrauter machen damits nachher leichter läuft.
Ich bin gerade dabei das Programm für meinen Bot zu schreiben.
Der Bot verfügt am Anfang (tja das Geld ^^) nur über 2 Kollisionstaster als Sensoren. Die Taster sind links und rechts von der Front des Bots positioniert.
Wenn der (auf die Wand gesehen) linke Sensor was meldet, soll der Bot seine 2 Räder gegeneinander drehen (nocht nicht das Problem) und das nur für eine ganz bestimmte Zeit. Maybe 1,5s. Wie mache ich das genau mit der Zeit?
Hier mal mein ganzer Code:
'Version 1.0
'----------------------------------------------------------
$regfile = "m8def.dat" 'ATmega8
$crystal = 3686411 'Quarz: 3686411 Hz
Ddrd = &B01111000 'Pin PD3 bis PD6 als Ausgänge
Portd = &B00000000 'Pin PD3 bis PD6 auf Low
Ddrb = &B00000000 'Pin PB4 und 5 als Eingang
Portb = &B00110000 'Pin PB4 und 5 auf High
Do
Portd.3 = 1 'Motoren drehen in gleiche Richtung
Portd.5 = 1
If Pinb.4 = 0 Then
Portd.3 = 1
Portd.4 = 0
Portd.5 = 0
Portd.6 = 1 'Motoren drehen gegeneinander
Else
Portd.3 = 1
Portd.4 = 0
Portd.5 = 1
Portd.6 = 0
Loop
End
Bitte die Motoreneingänge und deren Anschlüsse mal außen vor lassen. Habe ich nur kurz geschrieben, ich weis ned ob der so entgegensetzt drehen würde. Dienen nur als Orientierung. Es geht ja eher um die Dauer.
Würde das so denn bis jetzt funktionieren? Die Platine ist leider noch nicht fertig, möchte mich nur mal im Vorfeld damit vertrauter machen damits nachher leichter läuft.