Combina Encoder rotativo mas stpper

#include <Stepper.h>
#define <Steps 32>

volatile boolean tundetected;
volatile boolean rotatiodirection;

const int PinCLk = 2;
const int PinDT = 3;
const int PinSW = 4;

int RotaryPosition = 0;
int PrevPosition;
int Stepstotake;
Stepper small_Stepper(Steps 8, 9, 10, 11);

void isl(){
delay(400);
if(digitalRead(PinCLK));
rotationdirection = digitaRead(PinDT);
else
rotationdirection = digitalRead(PinDT);
TunDetected = true;
}

void setup(){
pinMode(PinCLK, INPUT);
pinMode(PinDT, INPUT);
pinMode(PinSW, INPUT);
digitalWrite(PinSW, HIGH);
attachInterrupt(0, isr, FALLING);
}
void loop(){
Small_Stepper = setSpeed(600);
if(!(digitalRead(PinSW))){
if(RotaryPosotion == 0){
else{
Small_Stepper.Stps(-(RotaryPosition*50);
RotaryPosition = 0;
}
}
if(TurnDetected){
PrevPosition = RotaryPosion;
if(Rotarydirectiono){
RotaryPosition = RotsaryPosition -1);
else
RotaryPosition = RotaryPosition +1);
turndetected = false
if(PrevPosition +1)==RotaryPosition);
stentotake = 50;
Small_Stepper.Steps(Steptotake);
}
if(RotaryPosition +1) == PrevPosition
Stepstotake =-50;
Small_Stepper.Steps(Stepstotake);
}
}

Ayuda desde ya muchas gracias

No caso acima, você parece ter confundido as macros #include e #define.
O comando #include associa alguma biblioteca ao seu sketch, no caso a Stepper.h e está escrito corretamente. O comando #define diz ao compilador para substituir um certo valor por outro no momento de compilar o programa. No caso, a sintaxe correta seria:

#define Steps 32

Mas todo o sketch precisa ser revisado.

Se você ainda não leu o tópico Como obter o melhor desse Fórum, vale a pena dar uma passada lá e pegar as dicas que tem, como por exemplo, ao postar código usar a formatação correta para facilitar a ajuda de quem for ler.

Outra dica - considerando que seu post está em espanhol - é que há uma seção específica dessa língua. Basta acessar https://forum.arduino.cc/c/international/espanol/48

Muchas Gracias

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.