1. kit de chenille de Tamiya
2. boîte de vitesses Tamiya twin
3. Arduino Diecimila
4. H bridge L293e
5. 8 diodes
6. Conseil de pain
7. 2 résistance de photo
8 beaucoup de fils
le Code Source :
int pinMotorL1 = 2 ;
int pinMotorL2 = 3 ;
int pinMotorR1 = 8 ;
int pinMotorR2 = 9 ;
int pinEnableL = 4 ;
int pinEnableR = 5 ;
int valPWM = 175 ;
void setup()
{
commencer la communication sérielle
Serial.Begin(9600) ;
pinMode (pinMotorL1, sortie) ;
pinMode (pinMotorL2, sortie) ;
pinMode (pinMotorR1, sortie) ;
pinMode (pinMotorR2, sortie) ;
pinMode (pinEnableL, sortie) ;
pinMode (pinEnableR, sortie) ;
}
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() ;
}
void goForward() {}
ForwardR() ;
ForwardL() ;
}
void 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 ("aucun ninguno valido") ;
goForward() ;
Delay(1000) ;
StopAll() ;
}
}
void loop()
{
float ojoDerecho = analogRead(1) ;
float ojoIzquierdo = analogRead(0) ;
Adelante
Move(0) ;
Derecha
if(ojoDerecho > ojoIzquierdo) {}
Move(2) ;
}
Izquierda
d’autre if(ojoIzquierdo > ojoDerecho) {}
Move(3) ;
}
}