Bonjour,
j ai un problème avec la librairie RCSwitch et les moteur pas a pas enfaite quand je test la librairie toute seul avec des LED et un potentiomètre
tout marche quand je fais des test avec que les moteur pas a pas et un potentiomètre tout marche donc sa veut dire que je n’arrive pas a fusionner les 2 code ensembles
voici mon code qui marche avec les LED mais pas avec les moteurs pas a pas
l emeteur
#include <RCSwitch.h>
long D = 1111;
long G = 2222;
long H = 3333;
long B = 4444;
int valpotX = 0;
int valpotY = 0;
RCSwitch RC = RCSwitch();
void setup() {
RC.enableTransmit(9);
pinMode(A0, INPUT);
pinMode(A1, INPUT);
Serial.begin(9600);
}
void loop() {
valpotX = analogRead(A0);
valpotY = analogRead(A1);
int mapX = map(valpotX,0,1023,1,4);
int mapY = map(valpotY,0,1023,1,3);
Serial.println(mapX);
//Serial.println(mapY);
if(mapX == 1){
RC.send(2222, 24);
Serial.print("2");
}
if(mapX == 3 || mapX == 4){
RC.send(1111, 24);
Serial.print("1");
}
//if(mapY == 1){
// RC.send(4444, 24);
// }
//if(mapY == 3){
// RC.send(3333, 24);
// }
delay(1000);
}
et le récepteur
#include <RCSwitch.h>
#include <Stepper.h>
int nbdepas = 48*64;
Stepper M_D(nbdepas,8,11,10,6);
Stepper M_G(nbdepas,4,5,7,3);
long D = 1111;
long G = 2222;
long H = 3333;
long B = 4444;
RCSwitch RC = RCSwitch();
void setup() {
Serial.begin(9600);
RC.enableReceive(0);
M_D.setSpeed(9);
M_G.setSpeed(9);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
}
void loop() {
delay(1000);
Serial.print("avant");
digitalWrite(12,LOW);
digitalWrite(13,LOW);
Serial.println(RC.available()) ;
bool resetAvailable(1) ;
Serial.println(RC.available()) ;
if(RC.available()){
Serial.print("apres");
if(RC.getReceivedValue() == 1111){
//M_D.step(-100);
//M_G.step(100);
Serial.print("1111");
digitalWrite(12,HIGH);
digitalWrite(13,LOW);
//TD();
//RC.available();
}
if(RC.getReceivedValue() == 2222){
//M_D.step(100);
//M_G.step(-100);
Serial.print("2222");
digitalWrite(13,HIGH);
digitalWrite(12,LOW);
//TG();
//RC.available();
}
/*else if (RC.getReceivedValue() == 3333 ){
M_D.step(100);
M_G.step(100);
//RC.resetAvailable();
}
else if (RC.getReceivedValue() == 4444 ){
M_D.step(-100);
M_G.step(-100);
//RC.resetAvailable();
} */
RC.resetAvailable();
}
}
void TD(){
M_D.step(100);
bool available(1) ;
//RC.resetAvailable();
Serial.println(RC.available());
loop() ;
}
void TG(){
M_D.step(-100);
//RC.resetAvailable();
bool available(1) ;
Serial.println(RC.available());
loop();
}
alors sachant que je ne sait pas trop comment marche la librairie RCSwitch je suis un peu perdu mais au bout d un certain nombre de test
je pense que la commande RC.resetAvailable() n est pas compatible avec la librairie stepper mais je ne suis pas asser expert pour l affirmer
merci d avance.
cordialement .