1. Tamiya caterpillar kit
2. Tamiya twin versnellingsbak
3. Arduino Diecimila
4. H brug L293e
5. 8 diodes
6. brood bord
7. 2 foto weerstand
8 veel draden
de broncode:
int pinMotorL1 = 2;
int pinMotorL2 = 3;
int pinMotorR1 = 8;
int pinMotorR2 = 9;
int pinEnableL = 4;
int pinEnableR = 5;
int valPWM = 175;
VOID Setup
{
beginnen de seriële communicatie
Serial.begin(9600);
pinMode (pinMotorL1, OUTPUT);
pinMode (pinMotorL2, OUTPUT);
pinMode (pinMotorR1, OUTPUT);
pinMode (pinMotorR2, OUTPUT);
pinMode (pinEnableL, OUTPUT);
pinMode (pinEnableR, OUTPUT);
}
VOID ForwardR() {}
digitalWrite(pinEnableR,valPWM);
digitalWrite(pinMotorR1,HIGH);
digitalWrite(pinMotorR2,LOW);
}
VOID ForwardL() {}
digitalWrite(pinEnableL,valPWM);
digitalWrite(pinMotorL1,HIGH);
digitalWrite(pinMotorL2,LOW);
}
VOID BackwardR() {}
digitalWrite(pinEnableR,valPWM);
digitalWrite(pinMotorR1,LOW);
digitalWrite(pinMotorR2,HIGH);
}
VOID BackwardL() {}
digitalWrite(pinEnableL,valPWM);
digitalWrite(pinMotorL1,LOW);
digitalWrite(pinMotorL2,HIGH);
}
VOID StopR() {}
digitalWrite(pinEnableR,valPWM);
digitalWrite(pinMotorR1,HIGH);
digitalWrite(pinMotorR2,HIGH);
}
VOID StopL() {}
digitalWrite(pinEnableL,valPWM);
digitalWrite(pinMotorL1,HIGH);
digitalWrite(pinMotorL2,HIGH);
}
VOID StopAll() {}
StopR();
StopL();
}
ongeldig goForward() {}
ForwardR();
ForwardL();
}
ongeldig goBackward() {}
BackwardR();
BackwardL();
}
VOID TurnR() {}
ForwardL();
BackwardR();
}
VOID TurnL() {}
ForwardR();
BackwardL();
}
VOID move(byte val) {}
if(Val==0) {}
Serial.println ("Caso 0-Adelante");
goForward();
delay(1000);
StopAll();
} else
if(Val==1) {}
Serial.println ("Caso 1-Atras");
goBackward();
delay(1000);
StopAll();
} else
if(val==2) {}
Serial.println ("Caso 2-Derecha");
TurnR();
delay(1000);
StopAll();
} else
if(val==3) {}
Serial.println ("Caso 3-Izquierda");
TurnL();
delay(1000);
StopAll();
}
else {}
Serial.println ("geen valido ninguno");
goForward();
delay(1000);
StopAll();
}
}
void loop
{
zweven ojoDerecho = analogRead(1);
zweven ojoIzquierdo = analogRead(0);
ADELANTE
Move(0);
Derecha
if(ojoDerecho > ojoIzquierdo) {}
Move(2);
}
Izquierda
anders if(ojoIzquierdo > ojoDerecho) {}
Move(3);
}
}