PRENDERE DATI MENTRE IL MOTORE STEPPER FA UN GIRO

Ciao a tutti sono nuovo e vorrei chiedervi una cosa che mi sta facendo impazzire, vorrei far fare un giro al motore stepper e mentre gira fargli prendere dei dati da un ingresso analogico (ho usato una fotoresistenza).
In oltre far andare due led, uno rosso quando supera un certo valore la fotoresistenza e uno verde quando sta sotto. nel progetto che ho fatto non va, il motore fa un giro e il sensore da un solo dato, e i LED non si accendono neanche, come posso fare???

#include <Stepper.h>

int potenziometroPin = A1;
int luce;
const int stepsPerRevolution = 64; 

Stepper myStepper(stepsPerRevolution, 4, 5, 6, 7);



void setup() {
  
    pinMode(12, OUTPUT);
    pinMode(13, OUTPUT);
    Serial.begin(9600);
    int luce;
    myStepper.setSpeed(400);
    }

void loop() {

                 {
                 //MOTORE
                 myStepper.step(64*32);   
                 delay(0); 
                 }
                         
                          //FOTORESISTENZA
                          int luce = analogRead(A1);   
                          Serial.print("VALORE: ");
                          Serial.println(luce);
                          delay(300);
                          
                          
    
                                     //LED
                                     if(luce<730) 
                                     digitalWrite(9, HIGH);
                                     else {
                                     digitalWrite(9, LOW);
                                     }
                                     if(luce>730) {
                                     digitalWrite(8, HIGH);
                                     } else {
                                     digitalWrite(8, LOW);
                                     }
    exit(0);
}

Buongiorno,
essendo il tuo primo post, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con molta attenzione tutto il su citato REGOLAMENTO ... Grazie. :slight_smile:

Guglielmo

P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione, nessuno ti potrà rispondere, quindi ti consiglio di farla al più presto. :wink:

Ciao, il tuo problema è in quest'istruzione qui:

myStepper.step(64*32);

Tu chiedi allo steper di fare un certo numero di passi e finché non ha terminato di farli il programma non si muove dall'istruzione indicata.
Devi modificare il programma in modo da indicare al motore di fare un passo alla volta, proseguire analizzando l'ingresso analogico e in base al valore ritornato fare accendere il led, poi altro passo e via così.
In pratica devi creare un ciclo (while, for, vedi tu) per fare il numero di passi necessari e nel contempo analizzare ingresso e accendere led

Dimenticavo, quando posti il codice prima usa la formattazione automatica dell'IDE che lo rende più comprensibile a chi lo deve leggere (e probabilmente anche a te) e nel tuo codice ci sono anche una srie di parentisi graffe innutili che puoi rimuovere, formattando ti dovrebbero saltare all'occhio quali rimuovere.

Altra cosa, oggi sono ditratto si vede, questa

exit(0);

non serve e va rimossa