motore passo passo

salve a tutti ho realizzato uno sketch per un motore passo passo funzionante e lo volevo integrare ad un altro sketch che sto realizzando un po più complesso ma quando copio tutto e lo incollo su l'altro non funziona più ( il programma )
per inserire il programma nell'altro piu grande e complesso ho fatto così:
ho inserito le dichiarazioni dei pin insieme alle altre dichiarazioni dello sketch piu grande
cosi come il setup e il loop
avete suggerimenti su come interfacciare i due sketch insieme?

Ciao mike1974
Adesso vorresti che usiamo la sfera di cristallo, l' intestino di pesci, il fondo che resta in una tazzina di café; se non ti piace il café potremmo anche usare le foglie di ter nero o verde... :wink: :wink: :wink:

In altre parole dacci lo Sketch prima e dopo per poterti dire qualcosa.

Ciao Uwe

E non solo. Quale hardware tratta il secondo sketch ? Il primo un motore passo-passo ma il secondo?
Ad esempio un sensore IR con libreria IRRemote utilizza de i pin specifici e dei timer specifici che potrebbero essere in comune/dare problemi con libreria motori.

scusate avete ragione !!! cerco di spiegarmi meglio
in pratica ho bisogno di inserire il loop del motore passo passo, questo:

  if(count < countsperrev )
    clockwise();
  else if (count == countsperrev * 2)
    count = 0;
  else
    anticlockwise();
  count++;
}
void anticlockwise()
{
  for(int i = 0; i < 8; i++)
  {
    setOutput(i);
    delayMicroseconds(motorSpeed);
  }
}

void clockwise()
{
  for(int i = 3; i >= 0; i--)
  {
    setOutput(i);
    delayMicroseconds(motorSpeed);    
  }
}

void setOutput(int out)
{
  digitalWrite(motorPin1, bitRead(lookup[out], 0));
  digitalWrite(motorPin2, bitRead(lookup[out], 1));  
  digitalWrite(motorPin3, bitRead(lookup[out], 2));
  digitalWrite(motorPin4, bitRead(lookup[out], 3));
  
}

dentro questa parte

  if  ((dayOfWeek == 1) && (hour == 21) && (minute == 41) &&(second == 0)==true) 
  
{  
  digitalWrite(Relay_Motore, LOW);
} 
  else if( (dayOfWeek == 1) && (hour == 21) && (minute == 41) &&(second == 50)==true)  
{
  digitalWrite(Relay_Motore, HIGH);
}

per far partire il motore in una determinata data è ora
avete sugerimenti in merito!!!
grazie in anticipo e scusate se non mi sono spiegato bene, spero che ora sia piu chiara la mia intenzione......

Nessuno sa dirmi se la cosa é fattibile ???

per essere sicuro di non fare sbagli e avere un codice più pulito potresti fare così:

void loop(){

//blabla
while(condizione == true){ 
stepper_motor_start();
}
//blabla

}


void stepper_motor_start(){
//incolli qua il codice del tuo vecchio sketch
}

Ma il motore deve restare acceso tutta la settimana tranne 50 secondi? (Perché nel tuo codice metti la porta su LOW e 50 secondi dopo su HIGH).

endlesszero ho verificato il tuo suggerimento ma mi da errore sulla riga
while(condizione == true){

risolto gazie!!!