Slt ! je vous recontacte car nous avons des pb au niveau de la programmation de la carte moteur.
Voici un de nos 1er programme teste qui fait tourner nos moteurs :
int motor1PWM1 = 5;
int motor1Direction1 =6;
int led=13;
int motor2PWM2 = 10;
int motor2Direction2 =11;
void setup () {
pinMode (motor1PWM1, OUTPUT);
pinMode (motor1Direction1, OUTPUT);
pinMode (motor2PWM2, OUTPUT);
pinMode (motor2Direction2, OUTPUT);
pinMode (led, OUTPUT);
digitalWrite (motor1PWM1, LOW);
digitalWrite (motor1Direction1,LOW);
digitalWrite (motor2PWM2, LOW);
digitalWrite (motor2Direction2,LOW);
digitalWrite(led,LOW);
}
void loop (){
digitalWrite(led,LOW);
analogWrite(motor1PWM1,0);
analogWrite(motor2PWM2,0);
digitalWrite(led ,HIGH) ;
digitalWrite(motor1Direction1,LOW);
analogWrite(motor1PWM1,255);
digitalWrite(motor2Direction2,LOW);
analogWrite(motor2PWM2,255);
digitalWrite(led,LOW);
analogWrite(motor1PWM1,0);
analogWrite(motor2PWM2,0);
}
Jusque là tout vas bien notre carte fonctionne correctement les moteur tourne dans un sens puis dans l'autre.
Mais nous n'arrrivons pas a la programmation des touches qui permetrons le pilotage des moteurs:
int motor1PWM1 = 5;//declaration des variables
int motor1Direction1 =6;
int led=13;
int motor2PWM2 = 10;
int motor2Direction2 =11;
void setup () {
Serial.begin(115200); // initialise connexion série à 115200 bauds0
pinMode (motor1PWM1, OUTPUT);//initialise des variables
pinMode (motor1Direction1, OUTPUT);
pinMode (motor2PWM2, OUTPUT);
pinMode (motor2Direction2, OUTPUT);
pinMode (led, OUTPUT);
digitalWrite (motor1PWM1, LOW);
digitalWrite (motor1Direction1,LOW);
digitalWrite (motor2PWM2, LOW);
digitalWrite (motor2Direction2,LOW);
digitalWrite(led,LOW);
}
void loop () {
digitalWrite(led,LOW);
analogWrite(motor1PWM1,0);
analogWrite(motor2PWM2,0);
if Keyboard "up";
{ digitalWrite(led ,HIGH) ;
digitalWrite(motor1Direction1,HIGH);
analogWrite(motor1PWM1,160);
digitalWrite(motor2Direction2,HIGH);
analogWrite(motor2PWM2,160);
break;
}
if Keyboard "left";
{digitalWrite(led ,HIGH) ;
digitalWrite(motor1Direction1,LOW);
analogWrite(motor1PWM1,160);
digitalWrite(motor2Direction2,HIGH);
analogWrite(motor2PWM2,160);
break;
}
if Keyboard "down";
{
digitalWrite(led ,HIGH) ;
digitalWrite(motor1Direction1,LOW);
analogWrite(motor1PWM1,160);
digitalWrite(motor2Direction2,LOW);
analogWrite(motor2PWM2,160)
break;
}
if Keyboard "right";
{
digitalWrite(led ,HIGH) ;
digitalWrite(motor1Direction1,HIGH);
analogWrite(motor1PWM1,160);
digitalWrite(motor2Direction2,LOW);
analogWrite(motor2PWM2,160);
break;
}
Qu'est ce qui ne va pas ?
Svp j'ai encor besoin de vous les gas :s
Merci d'avance!
Modifié par Black Templar, 09 avril 2013 - 02:33 .
Ajout des balises code