ho trovato questo sketch, è un semplice stepper comandato da un potenziometro e due pulsanti (per la direzione).
Vorrei aggiungere un altro motore passo passo, non avendo le conoscenze, e più che altro senza comprare un altro arduino (che per me sarebbe la cosa + facile!) chi mi aiuta a modificare lo sketch?
#include <Stepper.h>
int forward = 2;
int reverse = 3;
Stepper motor(200, 10,11,12,13);
void setup() {
pinMode(forward,INPUT);
pinMode(reverse,INPUT);
Serial.begin(9600);
}
void loop() {
int Speed = analogRead(A0);
int RPM = map(Speed, 0, 1023, 0, 100);
int f = digitalRead(forward);
int r = digitalRead(reverse);
if(f == 1 && r == 0 && RPM > 1){
motor.step(1);
motor.setSpeed(RPM);
delay(.01);
}
if(r == 1 && f== 0 && RPM > 1){
motor.step(-1);
motor.setSpeed(RPM);
delay(.01);
}
delay(5);
Serial.println(RPM);
}
Comprare un'altro arduino sarebbe la cosa più stupida da fare ...sarebbe come comprarsi un'altra ps3 solo per avere 2 controller....cmq io per pilotare i motori passo passo non uso il tuo stesso skech... ho seguito questa guida, magari ti può aiutare anche a te. Per ora possiedo solo un motore passo passo, ma a giorni mi dovrebbe arrivare l'altro e ti potrò dire se è possibile pilotarli facilmente... http://www.mauroalfieri.it/elettronica/motori-passo-passo-bipolari-con-arduino-controlla-la-velocita.html
Brutalmente, raddoppia le tue variabili e chiamale 1 e 2. Naturalmente raddoppi anche l'uso dei pin; usi A0, quindi userai anche A1
Esempio:
int Speed1 = analogRead(A0);
int Speed2 = analogRead(A1);
e all'inizio:
int forward1 = 2; // pin 2 per motore 1
int reverse1 = 3; // pin 3 per motore 1
int forward2 = 4; // pin 4 per motore 2
int reverse2 = 5; //pin 5 per motore 2
No, devi raddoppiare tutte le variabili.
Scusa, non son stato chiaro. Non volevo farlo io al tuo posto. Ti suggerivo un metodo ma senza farlo tutto io.
Importante è anche raddoppiare l'oggetto motor
Stepper motor1(200, 10,11,12,13);
Stepper motor2(200, 10,11,12,13); --> ATTENZIONE: i 4 pin DEVONO essere altri non sò quali hai liberi
naturalmente motor nel programma non esiste più, cerca motor e sostituiscilo con motor1
Ora che ci penso l' altro stepper andrebbe comandato solo con un potenziometro, dovrebbe girare solo quando ruoto il potenziometro, e fermarsi quando il potenziometro è fermo!
Hai già cominciato!
Hai modificato in parte il codice. Lo hai capito cosa fa?
I potenziometri e il motore li hai collegati ad alcuni pin. Il programma li vede attraverso le variabili.
Raddoppia i collegamenti del motore e dei potenziometri.
Esempio il motore è collegato a pin 10,11,12,13 il secondo puoi collegarli ai pin 6,7,8,9 (se sono liberi)
I potenziometri a quali pin son collegati? Collega gli altri ad altri pin liberi.