dolly motorizzato per timelapse

salve
premetto che sono un neofita a mi avvicino da poco ad arduino
cerco di progettare un dolly motorizzato per scattare foto intervallate con l'aiuto di arduino.
vi posto il mio skecth
magari qualcuno più bravo più aiutare me qualcuno altro amante della fotografia a realizzare questo progetto e renderlo pubblico
il mio intento e progettare un dolly che inizia a scattare foto e avanzi su una guida lineare alla solo pressione di un pulsante, poi magari inserire un potenziometro che regoli la velocità del motore e un finecorsa che arresti gli scatti della macchina e porti il carrello al punto di partenza
ma il mio sketch sembri gia arrivato ad un punto morto
in quanto il motore gira solo se tengo premuto il pulsante o lo premo ripetutamente
in quanto compie cicli da quattro passi per volta
qualcuno è cosi gentile da poterci spiegare l'errore??

#define STANDBY 0
#define ACTIVE 1

int motorPin1 = 8;
int motorPin2 = 9;
int motorPin3 = 10;
int motorPin4 = 11;
int delayTime = 100;
int mode = STANDBY;
int pulsante = 5;


void setup() {
 pinMode(motorPin1, OUTPUT);
 pinMode(motorPin2, OUTPUT);
 pinMode(motorPin3, OUTPUT);
 pinMode(motorPin4, OUTPUT);
 pinMode(pulsante,INPUT);

}


void loop()

{
 
 pulsante=digitalRead(5);
 if((pulsante==HIGH) and (mode==STANDBY)) 
 {mode = ACTIVE;
   digitalWrite(motorPin1, HIGH);
 digitalWrite(motorPin2, LOW);
 digitalWrite(motorPin3, LOW);
 digitalWrite(motorPin4, LOW);
 delay(delayTime);
 digitalWrite(motorPin1, LOW);
 digitalWrite(motorPin2, LOW);
 digitalWrite(motorPin3, HIGH);
 digitalWrite(motorPin4, LOW);
 delay(delayTime);
 digitalWrite(motorPin1, LOW);
 digitalWrite(motorPin2, HIGH);
 digitalWrite(motorPin3, LOW);
 digitalWrite(motorPin4, LOW);
 delay(delayTime);
 digitalWrite(motorPin1, LOW);
 digitalWrite(motorPin2, LOW);
 digitalWrite(motorPin3, LOW);
 digitalWrite(motorPin4, HIGH);
 delay(delayTime);
 
else if (mode = STANDBY);
{
 digitalWrite(motorPin1, LOW);
 digitalWrite(motorPin2, LOW);
 digitalWrite(motorPin3, LOW);
 digitalWrite(motorPin4, LOW);
 delay(delayTime);
}}
/code]


grazie anticipatamente

Il codice devi racchiuderlo nei tag code, vedi sezione 7 del regolamento, spiega bene come fare ( pulsante </> ).
Altrimenti parte del codice può essere visualizzata male o mancare perchè interpretato come attributo del testo stesso.

Il suggerimento di nid69ita era di modificare il Tuo primo post e non di aggiungerne un secondo.

Ciao Uwe

Ciao,
hai dato troppo poche informazioni per aiutarti.
La guida deve muoversi a tempo ?
Conviene installare subito il fine corsa per interrompere gli scatti ?
Che tipo di motori usi ?

Il programma com'è scritto ha due problemi:

  1. Non riporti mai mode in una condizione diversa da ACTIVE dopo aver premuto il pulsante
  2. Funziona solo se premi ..... pulsante == HIGH

Ti serve che una volta premuto il pulsante faccia tutto il ciclo fino al fine corsa ?

Insomma spiegaci meglio che cosa ti serve e che motori utilizzi!

Zamundo grazie per l'interessamento
ecco la mia lista dei materiali

nema 17 (motore)
con puleggia 16 denti T2
sn754410ne (controllo motore)
4n35 (fotoaccoppiatore per controllo la camera)
auduino uno
pulsante (no)
il mio intento era scattare una foto ogni step del motore e decidere la pausa tra gli step con l'aiuto di un potenziometro
(da un minimo di mezzo secondo al massimo di 30 per foto notturne).
anche perché è importante che la camera scatti quando il carrello non sia in movimento per evitare un effetto mosso.
Avevo previsto un finecorsa solo alla fine della slitta, lunga circa un metro
cosi da non mandare sotto sforzo il motore una volta giunto alla fine della guida,
quindi il finecorsa mandava in standby sia il motore che la camera.

Ciao,

per controllare velocità e direzione del motore puoi utilizzare una schedina come questa molto semplice da pilotare con un PWM.

Per il resto non è difficile creare lo sketch.

Com’è collegato il 4n35 alla camera ?

ho collegato la camera tramite un cavo di scatto
ho tagliato i fili che arrivavano alla pulsantiera e li ho collegati direttamente all'uscita del fotoaccoppiatore,
collegando quest'ultimo ad un pin digitale di arduino