Leo, credo che lui voglia cambiare mentre è attiva la sequenza, quindi secondo me deve per forza ricorrere ad un interrupt
Io ho fatto un piccolo gingillino natalizio con un Attiny85 e 3 led la cui sequenza di lampeggio la posso cambiare fra 6 diverse medinate un pulsantino anche mentre una sequenza è in esecuzione.
Non è difficile, si tratta di giocare con gli switch, gli if e millis.
leo72:
Io ho fatto un piccolo gingillino natalizio con un Attiny85 e 3 led la cui sequenza di lampeggio la posso cambiare fra 6 diverse medinate un pulsantino anche mentre una sequenza è in esecuzione.
Non è difficile, si tratta di giocare con gli switch, gli if e millis.
ok, grazie ![]()
Leo non ci ho capito niente
...come diceva Michele, io voglio cambiare sequenza mentre un'altra è gia attiva...
Prima fase, premo il pulsante e parte la prima sequenza (e vorrei che ogni sequenza, se non viene premuto nuovamente il pulsante, vada all'infinito... poi se premo il pulsante cambia...) poi magari mentre la prima sta andando voglio fermarla quando voglio, non solo alla fine... come posso fare?? perchè, da quello che ho capito, il programma viene eseguito dall'alto verso il basso... in fila... quindi dovrei scrivere ad ogni riga la stessa cosa?! (si, lo so che c'è una soluzione... e non è certo la mia
)
e poi, quando il cubo mi annoia avevo pensato di spegnerlo... la mia idea era quella di tener premuto il pulsante per xtempo e far spegnere il cubo, magari richiamando la situazione iniziale della variabile...
Ah... per il serial monitor come faccio?? ci ho provato con Serial print (nome variabile); ma niente, non va.. e magari non va fatto così...
Grazie per tutte le volte che riuscite a dare una risposta in grado di aiutarmi!! ![]()
Leo forse ti sta dicendo che in pratica, usando la millis, durante la sequenza puoi continuare a leggere lo stato del pulsante; il come non so come spiegartelo.
@maggio:
se ti posto lo sketch fatto, è troppo facile ![]()
Ragiona sulle linee guida che ti ho dato e su questo.
Tu hai delle sequenze di lampeggio, ogni sequenza immagino che accenderanno per tot tempo uno o più led, poi li spengeranno e ne accederanno altri dopo un altro tot tempo.
Bene, l'intervallo tra un lampeggio e l'altro, invece di misurarlo con un delay, che ti blocca lo sketch e ti impedisce di controllare la pressione di un pulsantino, lo farai con un check su millis. Al trascorrere del tempo preimpostato, entri nel ciclo di lampeggio ed esegui il lampeggio relativo alla sequenza in esecuzione. Se premi il pulsantino, cambi sequenza.
leo72:
@maggio:
se ti posto lo sketch fatto, è troppo facile
Eh sì, lui ci prova sempre
, però lo stiamo "educando" bene :), anche perché le capacità le ha eccome; infatti se ti riguardi il Topic, dopo ognuno di questi richiami lui sparisce un po' e poi ritorna con una decorosa proposta di soluzione ![]()
Grazie : ) provo a non "deludervi/mi"
Provo a fare così anche stavolta!! ; ) Grazie ancora!!! ...(non stavi scherzando sul fatto delle capacità vero, Michele?? hahahaha)...
Ovviamente un ringraziamento va anche a Leo!! Mi scordo sempre!! Ora studio un po'!! : )
Ragazzi, stavolta vi deludo, non sono riuscito a concludere con la funzione millis.. non so proprio da dove devo partire per fare quella cosa del pulsante :S mi aiutate?? magari facendo un piccolo codice (magari con dei commenti) anche se non c'entra con quello che devo fare, ma almeno lo guardo e cerco di capire!! : )
Grazie!!
Ti sei arreso troppo presto! ![]()
Cmq se ti scarichi la mia guida sulla programmazione degli Attiny, trovi lo sketch che menzionavo sopra. Legge un pulsante e modifica il lampeggio di 3 led. ![]()
Alla cassa, ora $)
leo72:
se ti scarichi la mia guida sulla programmazione degli Attiny
E dove la trovo?? ...comunque la seriale sono riuscito a farla andare
...unica cosa, non riesco a far funzionare il Serial.printIn() ...odio dover avere tutto in una sola riga...
dove trovo la guida?? Grazieee!!!
Cerca il thread "Giocando con gli Attiny85" oppure sul mio sito www.leonardomiliani.com
maggio93:
leo72:
se ti scarichi la mia guida sulla programmazione degli AttinyE dove la trovo?? ...comunque la seriale sono riuscito a farla andare
...unica cosa, non riesco a far funzionare il Serial.printIn() ...odio dover avere tutto in una sola riga...
dove trovo la guida?? Grazieee!!!
il comando è Serial.println, con la "elle" minuscola non con la "i" maiuscola ![]()
cancellerei l'iscrizione dal forum dopo questa!! hahaha ... grazie!! : ) Adesso funziona... ora provo anche a guardare il sito di Leo per il blink dei tre led... da adattare a quello che voglio fare io...