Facciamo suonare la Maker Uno – r01 (parte 4)

E ora facciamo accendere il LED associato ad ogni nota nel nostro array.

Per farlo dobbiamo inserire del codice prima che il tono (nota) venga suonato. Per farlo dobbiamo cercare le righe di programma dove, dopo aver preparato tutti i parameteri, viene lanciato il comando tone() per far suonare la nota.

…….
// we only play the note for 90% of the duration, leaving 10% as a pause
tone(buzzer, melody[thisNote], noteDuration*0.9);
……..

per far si che il nostro LED si accenda prima che la nota inizi a suonare, dobbiamo inserire del codice prima della riga con il commento “//we only ….”.
Ricapitolando, arrivati a questo punto noi abbiamo
1) inserito l’inizializzazione di 8 piedini di I/O digitale rispettivamente collegati ad altrettanti LED come OUTPUT
2) per ogni nota da suonare abbiamo inserito nell’array “melody[]” un numero corrispondente ad uno dei piedini di I/O digitali collegati ai LED
3) abbiamo modificato il programma affinche funzioni con 3 parametri per ogni nota contro i 2 parametri della versione iniziale
per cui non ci rimane che inserire il comando che accende il LED (piedino di I/O digitale HIGH) indicato nell’array “melody()” e lo facciamo attraverso l’istruzione digitalWrite() e precisamente scrivendo

……
digitalWrite(melody[thisNote+2], HIGH);
// we only play the note for 90% of the duration, leaving 10% as a pause
tone(buzzer, melody[thisNote], noteDuration*0.9);
……..

La costante 2 sommata all’indice “thisNote” lo sposta avanti di due caselle dunque esattamente alla casella dove abbiamo scritto il numero della porta di I/O digitale associata al LED che ci interessa e nel dettaglio
melody[thisNote] -> frequenza della nota
melody[thisNote + 1] -> durata della nota espressa secondo i parametri della notazione musicale (quarti, ottavi, ….)
melody[thisNote + 2] -> piedino della porta di I/O digitale a cui è collegato il LED che vogliamo accendere.

A questo punto, per poter vedere il nostro programma che accompagna la musica con un’animazione di LED, dobbiamo aggiungere il codice rerlativo allo spegnimento del LED quando la nota ha smesso di suonare (parte 5)

Questa voce è stata pubblicata in didattica digitale, Elettronica, Informatica, laboratori, Make, MakerSpace, robotica e contrassegnata con , , , , , . Contrassegna il permalink.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.