Aiuto per impostazione progetto

Ciao a tutti,

e complimenti per questo ottimo forum.

Purtroppo è la mia prima esperienza con Arduino, ed avrei bisogno di qualcuno che mi aiutasse ad impostare un progetto (dal punto di vista della programmazione) relativamente semplice, ma che per me che sono alle prime armi risulta di difficile comprensione.

Dovrei comandare un motorino passo passo tramite scheda Arduino Uno e driver dedicato.
Il programma dovrebbe svolgere la seguente funzione:

Quando accendo l'interruttore che fornisce un +12 volt in continua, il motore dovrebbe ruotare in senso orario per 3 secondi, per poi rimanere fermo in stand-by fin quando decido di spegnere l'interruttore, dove dovrebbe poi ruotare in senso antiorario sempre per 3 secondi e tornare alla posizione di origine.
Eventualmente al posto dei 3 secondi potrei anche usare un numero di step predefiniti, ma il problema non è questo...
Preciso che il circuito sarà oggetto di un'installazione permanente, quindi non verrà comandato tramite pc ma dovrà svolgere per tutta la sua vita la funzione sopra descritta, semplicemente tramite il suo interruttore.

Il tutto deve essere senza Loop ma comandato esclusivamente dall'On e Off dell'interruttore.

E' possibile?

Ho guardato diversi progettini su internet ma data la mia scarsa conoscenza della programmazione non riesco ad adattarli alle mie esigenze.

Tutti infatti hanno un loop che a me invece non serve.

Inoltre spegnendo l'interruttore verrebbe meno l'alimentazione +12 e non riesco a capire come possa fare il motore a muoversi senza alimentazione...

Concettualmente il progetto è semplicissimo ma non so proprio come procedere.

Spero in un vostro gradito aiuto.
Grazie!

Quando accendo l'interruttore che fornisce un +12 volt in continua, il motore dovrebbe ruotare in senso orario per 3 secondi... decido di spegnere l'interruttore, dove dovrebbe poi ruotare in senso antiorario sempre per 3 secondi
Il tutto deve essere senza Loop ma comandato esclusivamente dall'interruttore

La funzione loop() o Main() detto in modo papale papale è quella che tiene in "vita" un micro o meglio il programma, senza quella nel codice sarebbe un pezzo di silicio "morto"
Qando tu accendi arduino col tuo programma di gestione interruttore e motore esso attende (mentre prendi il caffè) che prima o poi ti decidi a premere quell'interruttore ..... chi potrebbe "restare in ascolto" se non il tuo loop()? chi potrebbe gestire il contatore fino a 3 sec se non il tuo loop()?
prima di dire che non ti serve dovresti avere qualche piccolissima base elementare.

Comunque si, si può fare, è un semplice contatore di 3 secondi, ma non hai detto niente di specifico, mi dispiace dirtelo, ma lo fai proprio col loop :slight_smile:

Se non dai specifiche sul motore, alimentatori, schemini, qualcosa di utile, non penso che ti si potrà aiutare molto.

Un motore 12v, un interruttore e 3 secondi non sono un gran bagaglio di info.

Inoltre spegnendo l'interruttore verrebbe meno l'alimentazione +12 e non riesco a capire come possa fare il motore a muoversi senza alimentazione...

questo che vuol dire? il pulsante di comando (non interruttore) non va sulla linea di alimentazione, ma su un input del micro, sarà poi un software a gestire i sensi di marcia e i tempi tramite relè transistor o driver vari, per quanto ne sappiamo potrebbe essere anche un motore da 3 Megawatt :slight_smile:
ciao

@Wallace, ti invitiamo a presentarti (dicci quali conoscenze hai di elettronica e di programmazione) qui: Presentazioni
e a leggere il regolamento: Regolamento