Bonjour,
Je ne parviens pas faire tourner mes 2 moteurs en utilisant des conditions de 3 capteurs HM SENSOR SERIES pour suivre une ligne noire.
La communication se fait bien, si je lance dans void loop la rotation simple des 2 moteurs aucun probleme donc le soucis ne semble pas provenir du SERIE. dès que je positionne les fonctions ST.motor(1).... suivant mon code ci dessous il ne se passe rien.
Pourtant je sais que mes sensors sont fonctionnels, car je les ai utilisé sur un autre montage précédement. quelqu'un aurait il une piste pour m'éclairer ? ma config : Arduino NANO, sabertooth 2x32, 3 sensors HM, une liaison série sur TX du nano. et 2 moteurs CC.
Merci d'avance !
#include <SabertoothSimplified.h>
SabertoothSimplified ST;
//Variable suivi de ligne
int pinLineD = A0;
int pinLineC = A1;
int pinLineG = A2;
void setup() {
// put your setup code here, to run once:
pinMode(pinLineD, INPUT);
pinMode(pinLineC, INPUT);
pinMode(pinLineG, INPUT);
SabertoothTXPinSerial.begin(9600); // This is the baud rate you chose with the DIP switches.
}
void loop() {
suivre_ligne();
}
void suivre_ligne(){
ST.motor(1,0);
ST.motor(2,0);
delay(1000);
boolean lineG = digitalRead(pinLineG);
boolean lineC = digitalRead(pinLineC);
boolean lineD = digitalRead(pinLineD);
//SEUL le capteur central voit la ligne
if (!lineG && lineC && !lineD) {
ST.motor(1,80);
ST.motor(2,80);
}
//CAPTEUR DROIT VOIT LA LIGNE
if (!lineG && lineC && lineD) {
ST.motor(1,80);
ST.motor(2,0);
}
//CAPTEUR GAUCHE VOIT LA LIGNE
if (lineG && lineC && !lineD) {
ST.motor(1,0);
ST.motor(2,80);
}
//SEUL LE CAPTEUR DROIT VOIT LA LIGNE
if (!lineG && !lineC && lineD) {
ST.motor(1,80);
ST.motor(2,-80);
}
//SEUL LE CAPTEUR GAUCHE VOIT LA LIGNE
if (lineG && !lineC && !lineD) {
ST.motor(1,-80);
ST.motor(2,80);
}
}