simulazione pulsazioni del cuore con dei led...

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:

ho scritto questo codice:

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 :wink:

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.

si si ma quello lo faccio dopo, sostituisco i delay con dei millis e metto le funzioni di controllo :wink: a me adesso interessa creare e provare l'effetto...

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 :wink:

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.

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 :wink:

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 :wink: