Hey!
Ne vous faites pas de bill, j'ai fait un petit montage pour intégrer une puce l298 (double pont h) qui remplace mon shield motor

Par contre j'ai un problème:
Actuellement vu que je ne sais pas encore comment fonctionne le shield wifi, j'ai essayer de piloter mes 2 moteurs du pc à la carte via un cable usb.
Seulement, je me suis rendu compte que la carte prenais entre 1 et 6 sec avant d'interpréter la commande que je lui est envoyer.
J'ai cherché un peu partout et je me suis rendu compte que le problème devait certainement venir du Baud.
Voici mon code:
int i=0;
int lu;
int z=1;
// déclaration de fonction
void efface(void);
void setup() {
pinMode(2, OUTPUT); //Moteur 1 Sens 1
pinMode(4, OUTPUT); //Moteur 1 Sens 2
pinMode(7, OUTPUT); // ON/OFF 1
pinMode(12, OUTPUT); //Moteur 2 Sens 1
pinMode(13, OUTPUT); //Moteur 2 Sens 2
pinMode(8, OUTPUT); // ON/OFF 2
Serial.begin(9600);
}
void loop() {
if (Serial.available() > 0){
lu = Serial.read();
delay(100);
}
switch(lu){ //interrupteur "lu" (g,d,a,r,s) Correspond a la lettre envoyé depuis le moniteur.
case 'g': // Si case g envoyé dans le moniteur :
case 'G':
efface(); // Appelé la fonction efface qui éteint tout les moteurs.
while (z=1) { // Tant que z=1 faire tourner dans le sens g.
digitalWrite(2, HIGH);
digitalWrite(4, LOW);
digitalWrite(12, LOW);
digitalWrite(13, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
break;
}
//
case 'd': // Si case g envoyé dans le moniteur :
case 'D':
efface();
while (z=1) { // Tant que z=1 faire tourner dans le sens d
digitalWrite(2, LOW);
digitalWrite(4, HIGH);
digitalWrite(12, HIGH);
digitalWrite(13, LOW);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
break;
}
//
case 'a': // Lorsque la case a est envoyé dans le moniteur :
case 'A':
efface();
while (z=1) { // Tant que z=1 faire avancer.
digitalWrite(2, HIGH);
digitalWrite(4, LOW);
digitalWrite(12, HIGH);
digitalWrite(13, LOW);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
break;
}
//
case 'r': // Lorsque la case a est envoyé dans le moniteur :
case 'R':
efface ();
while (z=1) { // Tant que z=1 faire reculer.
digitalWrite(2, LOW);
digitalWrite(4, HIGH);
digitalWrite(12, LOW);
digitalWrite(13, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
break;
}
//
case 's': // Lorsque la case s est envoyé dans le moniteur :
case 'S':
efface ();
while(z=1) { // Tant que z=1 arrêter tout = STOP.
digitalWrite(2,LOW);
digitalWrite(4, LOW);
digitalWrite(12, LOW);
digitalWrite(13, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
break;
}
default: // Par défault, tout est éteint.
efface();
} // fin du switch
} // fin de loop()
void efface(){ // Cette fonction éteint tout les moteurs.
digitalWrite(2, LOW);
digitalWrite(4, LOW);
digitalWrite(12, LOW);
digitalWrite(13, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
}
Du coup j'ai modifier cette ligne:
Serial.begin(9600);
j'ai remplacé le 9600 par 115200, j'ai téléversé le programme, dans le moniteur j'ai modifier le canal par 115200, mais quand j'envoie des données, rien, la carte ne reçois rien...
J'ai essayer quelques canaux mais rien, la carte ne reçois les information que si je suis en canal 9600... Quelqu'un pourrait m'aider ?
(j'ai une arduino uno)
Merci tout le monde =)