Bonjour,
Si la réponse est déjà quelque part, je m'en excuse.
J'ai un Arduino avec une télécommande FLYSKY FS-I6.
L'entrée du récepteur radio est sur la broche 5 pour la manette de gauche et sur la 6 pour la manette de droite.
J'ai un moteur pas à pas contrôlé par un DM860H branché sur la broche DIR sur le pin 12 et le PUL sur le 11.
Lorsque je le contrôle le moteur seul, tout se passe bien. Mais lorsque je veux recevoir les commandes de la FLYSKY, le moteur donne des à-coups. L'Arduino est-il surchargé ?
// Arduino -> DM860H
// 12 -> DIR-
// 11 PUL-
// 5 volts -> DIR+ et PUL+
// Recepteur FLYSKY -> Commande gauche = 5 et commande droite = 6
// Entrèes utilisées FLYSKY
#define CH2 5
#define CH3 6
// Valeurs lues FLYSKY
int ch2Value;
int ch3Value;
// Cette fonction permet de lire la valeur des entrées analogiques (Les potentiomètres) FLYSKY
int readChannel(int channelInput, int minLimit, int maxLimit, int defaultValue){
int ch = pulseIn(channelInput, HIGH, 30000);
if (ch < 100) return defaultValue;
return map(ch, 1000, 2000, minLimit, maxLimit);
}
#include <Stepper.h>
const int stepsPerRevolution=200;
Stepper myStepper(stepsPerRevolution,12,11);
void setup()
{
Serial.begin(115200);
// Mettre les pins en input
pinMode(CH2, INPUT);
pinMode(CH3, INPUT);
myStepper.setSpeed(8000); // reglage vitesse
}
void loop()
{
// Récupérer les valeurs de chaque entrée (Pose problème lorsqu'il n'est pas en commentaire)
ch2Value = readChannel(CH2, -100, 100, 0);
ch3Value = readChannel(CH3, 0, 100, 0);
Serial.print("tCh2: ");
Serial.println(ch2Value);
Serial.print("tCh3: ");
Serial.println(ch3Value);
myStepper.step(stepsPerRevolution);
}
