Progetto arduino stile gioco a premi...Impossibile?

Quidi, dimmi se ho ben capito ...

  1. c'è un pulsante di "AVVIO"

  2. premuto l'AVVIO i LED cominciano ad eccendersi uno dopo l'altro in sequenza (1, 2, 3, 4) ad una velocità che tu decidi

  3. ci sono altri due pulsanti messi dove vuoi :slight_smile:

4.1 se, durante la sequenza si preme uno dei due pulsanti, si deve accendere un LED VERDE

4.2 se NON si preme alcun pulsante o si preme dopo la fine della sequenza, si deve accendere un LED ROSSO

  1. si riprende dal punto 1

Giusto o ho capito male ? SE ho capito male puoi fare una sequenza come quella qui sopra che indichi i vari passi ?

Guglielmo

P.S.: Mi sono sovrapposto a torn24 :smiley: :smiley: :smiley:

PERFETTO Guglielmo! :slight_smile: Hai centrato il problema! premendo appunto il pulsante centrale di avvio una volta sola, si attivano in sequenza i 4 led gialli, mentre i 2 pulsanti laterali fanno quanto tu hai descritto, ( in base però al progetto che ho postato con le foto)

Ma non so come ottenerlo! :frowning:

lol io fino ad ora le foto non le ho trovate :slight_smile:

... mi vengono i brividi solo a vedere i cablaggi in quelle foto !

Comunque ...
... studiati cosa è una "macchina a stati finiti".

Nel tuo caso hai un primo stato che è l'attesa dello START, un secondo stato che è la condizione in cui effettui la SEQUENZA ed un terzo stato in cui la sequenza è FINITA.

Durante il secondo stato devi leggere i pulsanti, se li leggi, led VERDE e torni allo stato iniziale, se non li leggi e arrivi alo stato FINALE, accendi il led ROSSO.

Ora a te scrivere il codice ... :slight_smile:

Guglielmo

P.S.: In 'C' è banale controllare i vari stati, ad esempio, con uno switch/case :wink:

i brividi? :frowning: :frowning: ok messaggio recepito, non fa per me l'elettronica , ennesima conferma! Purtroppo non sono in grado di scrivere il codice... con tutta la mia buona volontà. Chiedo scusa a tutti per il tempo che avete utilizzato.

Ciao

DionisiaBot:
… Purtroppo non sono in grado di scrivere il codice… con tutta la mia buona volontà.

… ed io, purtroppo :confused: , debbo ricordarti il già citato punto 16.1 del REGOLAMENTO … almeno le BASI tocca studiarle … ::slight_smile:

Guglielmo

solo una nota :slight_smile: ma quell'arduino è un tarocco spero che tu non l'abbia pagato per originale :smiley:

non lo so me l’hanno regalato i miei…

A me viene in mente che si potrebbe risolvere senza usare una macchina a stati finiti.

  1. Leggo da loop() la pressione del pulsante avvio, se premuto richiamo una funzione "esegui"

  2. Nella funzione esegui tramite contatore di tempo millis() accendo in sequenza i led e salvo il loro stato
    in un array

2.1) Sempre nella funzione Esegui leggo lo stato dei due pulsanti laterali se premuti, controllo lo stato dei
led nell' array, se tutti accesi accendo il led rosso faccio un deley(), spengo i led e termino, se non tutti
accesi accendo il led verde, faccio un deley(), sengo i led, e termino.

  1. Torno nel loop() e sono allo stato iniziale

Personalmente devo dire che non parlerei ancora di codice, prima che l'op non mastichi un po il linguaggio, se no sono solo parole a vuoto.
Certamente vi sono più modi per fare quello che é chiesto (che é tutto fuorché impossibile), ma per l'op (che sembra non avere vincoli quanto a tempo) consiglierei di dedicarsi a qualcosa di più semplice, per cominciare

Be è un po insolito che salti gli step di apprendimento, e sia molto interessata a qualcosa di specifico.
Poi dice che ha appena iniziato, ma se si guarda il codice che ha postato, utilizza array, switch() ecc...,
di solito uno che è agli inizi in tutto non sa neanche cosa sono. :slight_smile:

torn24 sono stata aiutata..

DionisiaBo :slight_smile:

Io francamente non ci troverei niente di male a scrivere un programmino non impegnativo per qualcuno, però mi adeguo allo spirito del forum "dei forum" perché è una cosa molto diffusa dovunque.
Perché poi nascerebbero discussioni, del tipo "ma secondo te noi non eravamo capaci? E' solo che non è corretto... " o cose simili :slight_smile:
Quindi per evitare mi adeguo alla filosofia del forum :wink:

>torn24: ... c'è un punto del REGOLAMENTO al riguardo ... punto 16.13 !

Guglielmo

Si capisco Guglielmo, la penso anche io cosi! Ma a volte capita che le persone siano interessate a realizzare un progetto e non ad imparare i rudimenti di una disciplina.
A me è capitato di aiutare chi voleva risolvere un problema con arduino, ma non aveva molto interesse a diventare più bravo.
In questo caso mi sembrava fissata con un progetto. :slight_smile:

torn24 mi stavo applicando tanto tanto e non vorrei tu pensassi che io approfitto....

Mi avrebbe fatta contenta vedere in funzione il mio progettino, ma se non posso non insisto..

Ma sei interessata a capire come funzioni il tutto? Insomma ad imparare a scrivere qualche piccolo programmino o il tuo fine è solo quello di far fare questo progetto?

Il thread, d'accordo con il OP, viene temporaneamente chiuso. Grazie a tutti quelli che hanno partecipato.

Guglielmo