Étape 6: 4ème étape - vidéo et Tests
Il s’agit de mon premier essai de la "double pont en H" fait maison, avec l’IC-L298N dans une carte de dérivation.
Le chariot était contrôlé par bluetooth (en utilisant l’application « Bleue de contrôle » de l’Android market).
Chaque fois que nous avons atteint chez les témoins (en avant ou en arrière) le moteur de C.C pour 1 s, de cette façon, si nous avons touché deux fois les moteurs se déroulera pendant 2 secondes et ainsi de suite.
Pour la gauche et la droite, chaque fois que nous avons atteint le contrôle, les moteurs seront déroulera sur 500ms. Cette temporisation peut être modifiée dans le programme ci-dessous.
Voir toute la vidéo pour plus d’informations ; Ahh désolé pour mon anglais j’étudie encore...
/* definição de variáveis, constantes e valores inA1 int = 10 ; Broches pour la PONTE-H Initialisation de l’Arduino principaux de la boucle programa moteurs en cours d’exécution
#####################################################################################
# Du dossier : BlueTooth_Bot_R1.pde
# Micro contrôleur : Arduino UNO UO Teensy++ 2.0
# Langue : Câblage / C /Processing /Fritzing / IDE Arduino
#
# Objectifs : Un chariot contrôlé de bluetooth
#
# Funcionamento : Juste un test simple de la maison L298N breakout Board
#
#
# Auteur : Marcelo Moraes
# Date : 13/02/13
# Lieu : Sorocaba - SP - Brazil
#
#####################################################################################Ce projet contient du code du domaine public.
La modification n’est autorisée sans préavis.
*/
int inA2 = 11 ;
int inB1 = 5 ;
int inB2 = 6 ;
void setup() {}
Initialisation de la communication série
Serial.Begin(9600) ;
set_motors(0,0) ;
}
void loop() {}
Si (Serial.available() > 0) {/ / si les données sérielles sont disponibles
char de varC = Serial.read() ; la lecture des données du port série
Si (varC == « U ») {/ / aller de l’avant
set_motors(80,75) ;
Delay(1000) ;
set_motors(0,0) ;
}
Si (varC == avait ') {/ / marche arrière
set_motors(-80,-75) ;
Delay(1000) ;
set_motors(0,0) ;
}
Si (varC == « C ») {/ / arrêté
set_motors(0,0) ;
}
Si (varC == « R ») {/ / tourner à droite
set_motors(80,-80) ;
Delay(500) ;
set_motors(0,0) ;
}
Si (varC == « L ») {/ / tourner à gauche
set_motors(-80,80) ;
Delay(500) ;
set_motors(0,0) ;
}
}
}
COMPILATION DE DA FIM
void set_motors (int left_speed, int right_speed) {}
Si (right_speed > = 0 & & left_speed > = 0) {}
analogWrite (inA1, 0) ;
analogWrite (inA2, right_speed) ;
analogWrite (inB1, 0) ;
analogWrite (inB2, left_speed) ;
}
Si (right_speed > = 0 & & left_speed < 0) {}
left_speed = - left_speed ;
analogWrite (inA1, 0) ;
analogWrite (inA2, right_speed) ;
analogWrite (inB1, left_speed) ;
analogWrite (inB2, 0) ;
}
Si (right_speed < 0 & & left_speed > = 0) {}
right_speed = - right_speed ;
analogWrite (inA1, right_speed) ;
analogWrite (inA2, 0) ;
analogWrite (inB1, 0) ;
analogWrite (inB2, left_speed) ;
}
Si (right_speed < 0 & & left_speed < 0) {}
right_speed = - right_speed ;
left_speed = - left_speed ;
analogWrite (inA1, right_speed) ;
analogWrite (inA2, 0) ;
analogWrite (inB1, left_speed) ;
analogWrite (inB2, 0) ;
}
}