![Zitat](images/misc/quote_icon.png)
Zitat von
NicMaxFen
ok danke wie/wo soll ich dan teoretisch den Sleep einbauen damit der alles macht?
Alles machen ist ein bisschen viel für ein Atmega8 Roboter. ![Zwinkern](https://www.roboternetz.de/phpBB2/images/smiles/icon_wink.gif)
Er fäht nach vorne----> Stößt an----> Dreht sich---->Stößt wieder an----> Fährt rückwärts
Das folgende Programm macht das. Aber, ist das wirklich genau das verfahren was du möchtest? Nun wird er meistens nur 2 mal ein Anstoss erkennen, und danach Rückwärts fahren.
Code:
#include "asuro.h"
// "Er fäht nach vorne----> Stößt an----> Dreht sich---->Stößt wieder an----> Fährt rückwärts"
int main(void){
Init();
// " Er fäht nach vorne"
MotorSpeed(112,100);
MotorDir(FWD,FWD);
StatusLED(GREEN);
if (PollSwitch()>0) { // Stößt an----> Dreht sich
MotorSpeed(112,100);
MotorDir(RWD,FWD);
BackLED(ON,ON);
FrontLED(ON);
StatusLED(RED);}
for(i=0;i<200;i++) Sleep(72); // Wartet 200 milisekunden weil es dreht.
// Keine ahnung was du mit das hier unter möchtest. Ist kein teil deine Aktion Beschreibung.
// Das wurde er machen wan kein Anstoss erkannt wird. Ist aber auch ein art von Drehung!
/* else {
MotorSpeed(100,0);
MotorDir(RWD,BREAK);
StatusLED(YELLOW);} */
// Obene else-Block ist aus-kommentiert.
if (PollSwitch()>0){ // Stößt wieder an----> Fährt rückwärts
MotorSpeed(112,100);
MotorDir(RWD,RWD);
StatusLED(RED);
BackLED(ON,ON);}
// Und nun für immer Rückwärts fahren????
while(1); // Ich gehe in Zen-zustand, für immer! Doch fahre auch noch Rückwärts
return 0; // Ende der Main-Funktion. Dieses Befehl soll niemals erreicht werden.
}
Lesezeichen