Go Down

Topic: simulazione pulsazioni del cuore con dei led... (Read 5533 times) previous topic - next topic

er_like_no_other

sto facendo un progetto con 62 led rossi ad alta luminosità disposti a forma di cuore e gestiti a matrice da un atmega328... ho pensato di creare varie funzioni e sequenze di accenssione di questi led selezionabili e impostabili da 2 tasti... io volevo fare anche una funzione in cui tutti i led si accendevano e si spegnevano in modo da simulare il battito cardiaco. Ispirandomi al segnale audio di questo video:
http://www.youtube.com/watch?v=V3ZiEnRUAgo
ho scritto questo codice:
Code: [Select]
void loop()
{
for(int er=0;er<=255;er++){analogWrite(13,er);delayMicroseconds(400);}
for(int er=255;er>=64;er--){analogWrite(13,er);delayMicroseconds(400);}
delay(200);
for(int er=64;er<=224;er++){analogWrite(13,er);delayMicroseconds(300);}
for(int er=224;er>=96;er--){analogWrite(13,er);delayMicroseconds(300);}
for(int er=96;er>=0;er--){analogWrite(13,er);delayMicroseconds(900);}
delay(800);
}

l'effetto non è molto distante da quel che vorrei ottenere, dovrei settare meglio i delay e qualche valore forse... voi che ne dite? avete qualche consiglio da darmi su come potrei migliorare o come potrei fare diversamente? grazie ;)
Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

leo72

C'è un problema di fondo, in questo modo blocchi la gestione dell'input da parte dell'utente. Dovresti ciò mettere dentro ad ogni for un controllo per vedere se l'utente ha premuto il pulsante per cambiare lo schema di lampeggio. Però la cosa diventa molto ridondante.

er_like_no_other

si si ma quello lo faccio dopo, sostituisco i delay con dei millis e metto le funzioni di controllo ;) a me adesso interessa creare e provare l'effetto...
Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

er_like_no_other

avete mai visto niente del genere in giro da cui potrei prendere spunto?
e un'altra domanda: quanto ci mette il micro per fare una lettura digitale?
grazie mille ;)
Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

leo72

Non so se esistono cose del genere, ma non credo sia complicato replicare il battito cardiaco. Alla fine lo hai già fatto tu, mi pare.

Sulla lettura digitale, mi ricordo che qualcuno aveva misurato i tempi, ma non so dove ritrovare quei dati. Il datasheet mi pare dica che servono da 0,5 a 1,5 segnali di clock (pag. 80). Se non ho fatto male i conti, sono 60 ns per 1 segnale di clock.

er_like_no_other

Quote
Non so se esistono cose del genere, ma non credo sia complicato replicare il battito cardiaco. Alla fine lo hai già fatto tu, mi pare.

eh ma io voglio vedere se ci sono anche altri che lo hanno fatto così da migliorare ;)

Quote
Sulla lettura digitale, mi ricordo che qualcuno aveva misurato i tempi, ma non so dove ritrovare quei dati. Il datasheet mi pare dica che servono da 0,5 a 1,5 segnali di clock (pag. 80). Se non ho fatto male i conti, sono 60 ns per 1 segnale di clock.

ok ok grazie mille ;)
Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

Go Up