salve a tutti,
Sto realizzando un progetto con arduino per movimentare uno stepper motor per mezzo del driver tb6600 e dei pulsanti come questi che allego sotto:
Confermo che preliminarmente ho testato il motore il driver e risultano funzionare correttamente.
Il problema arriva cercando di governare la movimentazione con i due pulsanti, uno per il verso orario e uno per il verso antiorario. i pulsanti sono stati cablati nel seguente modo:
l'alimentazione del LED a 5V e GND mentre per il contatto è stato messo un polo a GND e un altro con un parallelo: un filo al pin di arduino e un filo ai 5V con resistenza da 2200 ohm.
Il problema si presenta sul pin 2 di arduino ossia se scambio i pulsanti qualunque metto sul pin 2 non funziona.Ho pensato che magari il problema fosse che il pin 2 non sia un pin PWM (anche se non credo sia questo il problema). così ho corretto lo sketch e messo i due pulsanti sul pin 9 e 10 di Arduino ma il problema si ripresenta ossia uno dei due non funziona e se li scambio comunque ne funziona solo uno.
allego il codice qui sotto:
int switchACW = 2; //define anticlockwise temporary switch
int switchCW = 3; //define clockwise temporary switch
int PUL = 7; //define Pulse pin
int DIR = 6; //define Direction pin
int ENA = 5; //define Enable Pin
int valACW = 0;
int valCW = 0;
void setup() {
pinMode (switchACW, INPUT);
pinMode (switchCW, INPUT);
pinMode (PUL, OUTPUT);
pinMode (DIR, OUTPUT);
pinMode (ENA, OUTPUT);
}
void loop() {
valCW = digitalRead(switchCW);
if (valCW == HIGH) { //when clockwise temporary switch is pressed
digitalWrite(DIR, LOW);
digitalWrite(ENA, HIGH);
digitalWrite(PUL, HIGH);
delayMicroseconds(200);
}
else
{
digitalWrite(DIR, HIGH);
digitalWrite(ENA, HIGH);
digitalWrite(PUL, LOW);
delayMicroseconds(200);
}
{
if (valACW == LOW) { //when anticlockwise temporary switch is pressed
digitalWrite(DIR, HIGH);
digitalWrite(ENA, HIGH);
digitalWrite(PUL, HIGH);
delayMicroseconds(200);
}
else
{
digitalWrite(DIR, HIGH);
digitalWrite(ENA, HIGH);
digitalWrite(PUL, LOW);
delayMicroseconds(200);
}
}
}
Mi sfugge il problema e vi sarei grato se poteste aiutarmi.